<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}

h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}

.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}

.tabSelected {color:[[ColorPalette::PrimaryDark]];
	background:[[ColorPalette::TertiaryPale]];
	border-left:1px solid [[ColorPalette::TertiaryLight]];
	border-top:1px solid [[ColorPalette::TertiaryLight]];
	border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}

#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}

.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
	border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

.wizard .notChanged {background:transparent;}
.wizard .changedLocally {background:#80ff80;}
.wizard .changedServer {background:#8080ff;}
.wizard .changedBoth {background:#ff8080;}
.wizard .notFound {background:#ffff80;}
.wizard .putToServer {background:#ff80ff;}
.wizard .gotFromServer {background:#80ffff;}

#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}

.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}

.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}

.tiddler .defaultCommand {font-weight:bold;}

.shadow .title {color:[[ColorPalette::TertiaryDark]];}

.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}

.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}

.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}

.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}

.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}

.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}

.imageLink, #displayArea .imageLink {background:transparent;}

.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}

.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}

.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}

.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}

.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}
.readOnly {background:[[ColorPalette::TertiaryPale]];}

#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:alpha(opacity=60);}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}

body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}

h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}

.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}

/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}

#mainMenu .tiddlyLinkExisting,
	#mainMenu .tiddlyLinkNonExisting,
	#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}

.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0; top:0;}

.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}

#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}

#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

.wizard {padding:0.1em 1em 0 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0 0; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0;}
.wizardFooter .status {padding:0 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em;}

#messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em;}
#messageArea a {text-decoration:underline;}

.tiddlerPopupButton {padding:0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}

.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}

.tabset {padding:1em 0 0 0.5em;}
.tab {margin:0 0 0 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}

#contentWrapper {display:block;}
#splashScreen {display:none;}

#displayArea {margin:1em 17em 0 14em;}

.toolbar {text-align:right; font-size:.9em;}

.tiddler {padding:1em 1em 0;}

.missing .viewer,.missing .title {font-style:italic;}

.title {font-size:1.6em; font-weight:bold;}

.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}

.tiddler .button {padding:0.2em 0.4em;}

.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}

.footer {font-size:.9em;}
.footer li {display:inline;}

.annotation {padding:0.5em; margin:0.5em;}

* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0 0.25em; padding:0 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}

.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0 3px 0 3px;}

.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}

.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0; font-size:.9em;}
.editorFooter .button {padding-top:0; padding-bottom:0;}

.fieldsetFix {border:0; padding:0; margin:1px 0px;}

.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}

* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}
#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser

Your username for signing your edits. Write it as a [[WikiWord]] (eg [[JoeBloggs]])

<<option txtUserName>>
<<option chkSaveBackups>> [[SaveBackups]]
<<option chkAutoSave>> [[AutoSave]]
<<option chkRegExpSearch>> [[RegExpSearch]]
<<option chkCaseSensitiveSearch>> [[CaseSensitiveSearch]]
<<option chkAnimate>> [[EnableAnimations]]

----
Also see [[AdvancedOptions]]
<<importTiddlers>>
|!Letter|!Name|!Pron.|!Letter|!Name|!Pron.|!Letter|!Name|!Pron.|!Letter|!Name|!Pron.|!Letter|!Name|!Pron.|
|ੳ|>|Ura|ਅ|>|Aira|ੲ|>|Iri|ਸ|Sussa|Sa|ਹ|Haha|Ha|
|ਕ|Kakka|Ka|ਖ|Khukha|Kha|	ਗ|Gugga|Ga|ਘ|Ghugga|Gha|ਙ|Ungga|Nga|
|ਚ|Chuchaa|Ca|ਛ|Chhuchha|Cha|ਜ|Jujja|Ja|ਝ|Jhujja|Jha|ਞ|Neya|Nya|
|ਟ|Tainka|Tta|ਠ|Thutha|Ttha|ਡ|Dudda|Dda|ਢ|Dhudda|Ddha|ਣ|Nahnha|Nna|
|ਤ|Tutta|Ta|ਥ|Thutha|Tha|ਦ|Duda|Da|ਧ|Dhuda|Dha|ਨ|Nunna|Na|
|ਪ|Puppa|Pa|ਫ|Phupha|Pha|ਬ|Bubba|Ba|ਭ|Bhubba|Bha|ਮ|Mumma|Ma|
|ਯ|Yaiyya|Ya|ਰ|Rara|Ra|ਲ|Lalla|La|ਵ|Vava|Va|ੜ|Rharha|Rha|


| !Consonants and their pronounciation |>|>|>|>|>|>|>|>|>|
| --ੳ <br> Ura-- | | --ਅ<br>Aira-- | | --ੲ<br>Iri-- | | !ਸ <br> Sussa | Alveolar | !ਹ <br> Haha | Glottal |
|~|~|~|~|~|~|~| Fricative |~| Fricative |
| Velar |>|>|>|>|>|>|>|>|>|
| !ਕ <br> (Kakka) |  Plos <br> Vcls Uasp | !ਖ <br> (Khukha) | Plos <br> Vcls Asp | !ਗ <br> (Gugga) | Plos <br> Vc Uasp | !ਘ <br> (Ghugga) | Plos <br> Vc Asp | !ਙ <br> (Ungga) | Plos <br> Nasal |
|~|k|~|k^^h^^|~|g|~||~|ŋ|
| Palatal |>|>|>|>|>|>|>|>|>|
| !ਚ <br> Chuchaa | Affr <br> Vcls Unasp | !ਛ <br> Chhuchha | Affr <br> Vcls Asp | !ਜ <br> Jujja | Affr <br>Voiced Unasp | !ਝ <br> Jhujja | Affr <br> Vc Asp | !ਞ <br> Nenya | Nasal |
| Retroflex |>|>|>|>|>|>|>|>|>|
| !ਟ <br> Tainka | Plos <br> Vcls Unasp | !ਠ <br> Thutha | Plos <br> Vcls Asp | !ਡ <br> Dudda | Plos <br> Vc Unasp | !ਢ <br> Dhudda | Plos <br> Vc Asp | !ਣ <br> Nahnha | Plos <br> Nasal |
| Dental |>|>|>|>|>|>|>|>|>|
| !ਤ <br> Tutta | Plos <br> Vcls Unasp | !ਥ <br> Thutha | Plos <br> Vcls Asp | !ਦ <br> Duda | Plos<br> Vc Unasp | !ਧ <br> Dhuda | Plos<br> Vc Asp | !ਨ <br> Nunna | Plos <br> Nasal |
| Bilabial |>|>|>|>|>|>|>|>|>|
| !ਪ<br>Puppa | Plos<br>Vcls Unasp | !ਫ<br>Phupha | Plos<br>Vcls Asp | !ਬ<br>Bubba | Plos<br>Vc Unas | !ਭ<br>Bhubba | Plos<br>Vc Asp | !ਮ<br>Mumma | Plos<br>Nasal |
| !ਯ <br> Yaiyya | Palatal | !ਰ <br> Rara| Alveolar | !ਲ <br> Lalla| Alveolar | !ਵ <br> Vava| Labio-dental | !ੜ <br> Rharha | Retroflex |
|~| Semi-vowel |~| Roller |~| Lateral |~| Semi-vowel |~| Flapped |

! ਗਿਆਨਾਤਮਕ ਉਦੇਸ਼
#ਭਾਸ਼ਾ ਦੇ ਤੱਤਾਂ ਦਾ ਗਿਆਨ ਦੇਣਾ, ਜਿਵੇਂ ਧੁਨੀਆਂ ਦਾ ਗਿਆਨ, ਸ਼ਬਦਾਵਲੀ ਦਾ ਗਿਆਨ, ਸ਼ਬਦਾਂ ਦਾ ਸਹੀ ਉਚਾਰਣ, ਸ਼ਬਦਾਂ ਦੇ ਭੇਦ, ਵਾਕ ਰਚਨਾ ਤੇ ਇਸ ਦੇ ਨੇਮ, ਵਾਕ ਦੇ ਅੰਗ, ਇਹਨਾਂ ਦੇ ਵੱਖ-ਵੱਖ ਰੂਪ, ਵੱਖ-ਵੱਖ ਸ਼ਬਦ ਭੇਦਾਂ ਦਾ ਵਾਕ ਰਚਨਾ ਵਿਚ ਪ੍ਰਯੋਗ, ਅਖਾਣ ਅਤੇ ਮੁਹਾਵਰੇ
#ਭਾਸ਼ਾ ਦੇ ਲਿਖਤੀ ਰੂਪ ਦਾ ਗਿਆਨ ਜਿਵੇੰ ਅੱਖਰ ਗਿਆਨ,  ਲਗਾਂ ਮਾਤਰਾਵਾਂ ਦਾ ਗਿਆਨ, ਸ਼ਬਦ ਰਚਨਾ, ਵਾਕ ਰਚਨਾ ਦਾ ਗਿਆਨ, ਵਿਸ਼ਰਾਮ ਚਿਨ੍ਹਾਂ ਦਾ ਗਿਆਨ
#ਕਹਾਣੀਆਂ, ਨਿਬੰਧਾਂ, ਕਵਿਤਾਵਾਂ, ਨਾਟਕਾਂ ਆਦਿ ਰਾਹੀਂ   ਸਮਾਜਕ, ਵਿਵਹਾਰਕ, ਸਭਿਆਚਾਰਕ, ਨੈਤਿਕ, ਪੌਰਾਣਿਕ ਗਿਆਨ ਦੇਣਾ
#ਭਾਸ਼ਾ ਰਚਨਾ ਦੇ ਵੱਖ-ਵੱਖ ਰੂਪਾਂ ਜਿਵੇਂ ਸਾਹਿਤਕ ਵਿਧਾਵਾਂ, ਵਾਰਤਾਲਾਪ, ਭਾਸ਼ਣ ਆਦਿ ਦੇ ਰੂਪ ਅਤੇ ਕਾਰਜ ਦਾ ਗਿਆਨ
#ਪੰਜਾਬੀ ਇਤਿਹਾਸ, ਸਭਿਆਚਾਰਕ, ਕਦਰਾਂ-ਕੀਮਤਾਂ ਅਤੇ ਮਾਨਸਿਕਤਾ  ਦੀ ਨੁਮਾਇੰਦਗੀ ਕਰਣ ਵਾਲੀਆਂ ਸ਼ਖਸੀਅਤਾਂ ਅਤੇ ਘਟਨਾਵਾਂ ਦਾ ਗਿਆਨ
#ਪੰਜਾਬੀ ਭਾਸ਼ਾ ਅਤੇ ਸਾਹਿਤ ਇਤਿਹਾਸ ਦੇ ਗਿਆਨ
! ਕੁਸ਼ਲਾਤਮਕ ਉਦੇਸ਼
#ਸੁਣਨ ਕੌਸਲ ਨੂੰ ਵਿਕਸਿਤ ਕਰਨਾ
**ਸ਼ਬਦਾਂ ਨੂੰ ਨਿਖੜਵੇਂ ਰੂਪ'ਚ ਸਮਝ ਸਕਣਾ
**ਸ਼ਬਦਾਂ ਦੇ ਸੰਦਰਭਗਤ ਅਰਥਾਂ ਨੂੰ ਗ੍ਰਹਿਣ ਕਰਣ ਸਕਣਾ
**ਸੁਣੇ ਗਏ ਵਾਕਾਂ ਨੂੰ ਸਥਿਤੀ ਅਤੇ ਲਹਿਜ਼ੇ ਮੁਤਾਬਿਕ ਸਮਝ ਸਕਣਾ
#ਬੋਲਣ ਕੌਸ਼ਲ ਨੂੰ ਵਿਕਸਿਤ ਕਰਨਾ
**ਧੁਨੀਆਂ/ਸ਼ਬਦਾਂ ਦਾ ਸ਼ੁੱਧ ਉਚਾਰਣ
**ਵਾਕਾਂ ਦਾ ਪ੍ਰਵਾਹ-ਪੂਰਵਕ, ਬਿਨਾ ਅਟਕ ਉਚਾਰਣ
**ਮਧੁਰ, ਢੁਕਵਾਂ ਅਤੇ ਅਸਰਦਾਰ ਮੌਖਿਕ ਪ੍ਰਗਟਾਉ
***ਸਥਿਤੀ, ਸ੍ਰੋਤਾ ਅਤੇ ਇਛਿੱਤ ਪ੍ਰਭਾਵ ਮੁਤਾਬਿਕ ਢੁਕਵਾਂ ਲਹਿਜ਼ਾ, ਸ਼ਬਦ-ਚੋਣ, ਮੁਹਾਵਰਾ-ਚੋਣ
**ਵਾਰਤਾਲਾਪ, ਭਾਸ਼ਣ, ਲਿਖਿਤ ਪਾਠ-ਵਾਚਨ(ਕਹਾਣੀ, ਕਵਿਤਾ, ਲੇਖ, ਸੰਵਾਦ ਆਦਿ) ਦਾ ਭਾਵਪੂਰਕ ਅਤੇ ਕੁਸ਼ਲਾਤਮਕ ਪ੍ਰਯੋਗ
#ਲਿਖਣ ਕੌਸ਼ਲ ਨੂੰ ਵਿਕਸਿਤ ਕਰਨਾ
**ਅੱਖਰਾਂ ਨੂੰ ਸੁੰਦਰ ਅਤੇ ਸ਼ੁੱਧ ਰੂਪ 'ਚ ਲਿਖ ਸਕਣਾ
**ਸ਼ੁੱਧ ਸ਼ਬਦ-ਜੋੜਾਂ ਸਹਿਤ ਲਿਖ ਸਕਣਾ
**ਵਿਸ਼ਰਾਮ ਚਿੰਨ੍ਹਾਂ ਦਾ ਸਹੀ ਪ੍ਰਯੋਗ
**ਢੁਕਵੀਂ ਵਾਕ ਰਚਨਾ
***ਸਥਿਤੀ, ਪਾਠਕ ਅਤੇ ਇਛਿੱਤ ਪ੍ਰਭਾਵ ਮੁਤਾਬਿਕ ਢੁਕਵਾਂ ਲਹਿਜ਼ਾ, ਸ਼ਬਦ-ਚੋਣ, ਮੁਹਾਵਰਾ-ਚੋਣ
**ਵੱਖ-ਵੱਖ ਰੂਪਾਕਾਰਾਂ ਦਾ ਕੁਸ਼ਲਾਤਮਕ ਪ੍ਰਯੋਗ
***ਲੇਖ, ਚਿੱਠੀ-ਪੱਤਰ, ਕਹਾਣੀ, ਸੰਵਾਦ ਆਦਿ
**ਸਾਹਿਤਕ ਅਤੇ ਕਲਾਤਮਕ ਰਚਨਾ ਕੌਸ਼ਲ
#ਪੜ੍ਹਣ ਕੋਸ਼ਲ ਨੂੰ ਵਿਕਸਿਤ ਕਰਨਾ
**ਅੱਖਰਾਂ ਦੀ ਸਹੀ ਪਹਿਚਾਣ ਕਰ ਸਕਣਾ
**ਸਬਦਾਂ ਨੂੰ ਸ਼ੁੱਧ ਪੜ੍ਹ ਕੇ ਸਮਝ ਸਕਣਾ
**ਪੂਰੇ ਵਾਕਾਂ ਅਤੇ ਲਿਖਿਤ ਰਚਨਾਵਾਂ ਨੂੰ ਪੜ੍ਹ ਕੇ ਸਹੀ ਅਰਥ ਗ੍ਰਹਿਣ ਕਰ ਸਕਣਾ
**ਯੋਗ ਗਤੀ ਨਾਲ ਪੜ੍ਹ ਸਕਣਾ
**ਸਤਹੀ ਅਤੇ ਗਹਿਨ ਪੜ੍ਹਤ ਕਰ ਸਕਣਾ
**ਚੰਗੀਆਂ ਪੜ੍ਹਣ ਰੁਚੀਆਂ ਪੈਦਾ ਕਰਨਾਨੁ
! ਸੁਹਜਾਤਮਕ ਉਦੇਸ਼
*ਸ਼ਬਦਾਂ, ਵਾਕਾਂ/ਵਾਕੰਸ਼ਾ ਦੇ ਭਾਵਾਤਮਕ ਅਰਥ-ਸੰਚਾਰ ਨੂੰ ਪਹਿਚਾਣ ਅਤੇ ਗ੍ਰਹਿਣ ਕਰ ਸਕਣਾ
*ਸਾਹਿਤਕ ਕਿਰਤਾਂ ਵਿਚ ਅੰਕਿਤ ਭਾਵਾਂ ਨੂੰ ਸਮਝਕੇ ਗ੍ਰਹਿਣ ਕਰ ਸਕਣਾ
*ਸਾਹਿਤਕ ਰੂਪਾਂ ਦੀ ਸੰਰਚਨਾ ਅਤੇ ਇਹਨਾਂ ਦੀ ਸੁੰਦਰਤਾ ਦੀ ਪਹਿਚਾਣ ਕਰ ਸਕਣਾ
*ਸੁਹਜਾਤਮਕ ਪ੍ਰਵਿਰਤੀਆਂ ਦਾ ਵਿਕਾਸ ਕਰਨਾ
! ਸਿਰਜਨਾਤਮਕ ਉਦੇਸ਼
*ਪੰਜਾਬੀ ਦੇ ਵਿਆਕਰਣਕ ਨੇਮਾਂ ਦਾ ਪ੍ਰਯੋਗ ਕਰਦੇ ਹੋਏ ਵਾਕ ਸਿਰਜਣਾ ਕਰ ਸਕਣਾ
*ਲਿਖਿਤ ਰਚਨਾ ਦੇ ਵੱਖ-ਵੱਖ ਰੂਪਾਂ(ਨਿਬੰਧ, ਕਹਾਣੀ, ਸੰਵਾਦ ਆਦਿ) ਦੀ ਮੌਲਿਕ ਰਚਨਾ ਕਰ ਸਕਣਾ
*ਮੌਖਿਕ ਪ੍ਰਗਟਾਉ ਵਿੱਚ ਮੌਲਿਕਤਾ ਲਿਆਉਣਾ
! ਵਿਨੋਦਾਤਮਕ ਉਦੇਸ਼
*ਭਾਸ਼ਾ ਪ੍ਰਯੋਗ ਅਤੇ ਸਾਹਿਤ ਰਚਨਾਵਾਂ ਰਾਹੀ ਅਨੰਦ ਅਤੇ ਮਨੋਰੰਜਨ ਦੀ ਪ੍ਰਾਪਤੀ ਕਰ ਸਕਣਾ
*ਲੋਕ ਸਾਹਿਤ ਤੋਂ ਰਸ ਅਤੇ ਅਨੰਦ ਦੀ ਪ੍ਰਾਪਤੀ ਕਰ ਸਕਣਾ
! ਸਮੀਖਿਆਤਕ ਉਦੇਸ਼
*ਸਾਹਿਤ ਆਲੋਚਨਾ ਦੇ ਬੁਨਿਆਦੀ ਤੱਤਾਂ ਦਾ ਗਿਆਨ ਦੇਣਾ
*ਸਾਹਿਤ ਰੂਪਾਂ ਦੇ ਸੰਗਠਨ ਅਤੇ ਸੰਰਚਨਾ ਦਾ ਬੁਨਿਆਦੀ ਗਿਆਨ
*ਸਾਹਿਤ ਰੂਪਾਂ ਦੀ ਆਲੋਚਨਾਤਮਕ ਵਿਆਖਿਆ
This site is a [[Tiddlywiki|http://www.tiddlywiki.com]] document. Tiddlywiki has been created by Jeremy Ruston.

Plugins used:
<script>
var tids= store.getTaggedTiddlers("plugin");
var out=[];
out.push("|!Tiddler|!Description|");
for(var i=0;i<tids.length;i++){
 out.push("|[["+tids[i].title+"]]|"+store.getTiddlerSlice(tids[i].title, 'Description')+"|");
}
 wikify(out.join('\n'),place);
</script>


<html><nowiki>
<h1> The Gurmukhi Script </h1>
<h2></h2>
<p>
I this topic we shall learn about the Gurmukhi script, which is the primary script used for writing Punjabi. It has a basic set of 35 letters and 6 more in an extended set. Besides this it has 9 more symbols called lagas which are used for defining vowel sounds associated with the letters. Last but no the least there are 3 symbols for depicting nasal and conjunct sounds.
</p>
<h2>Basic Gurmukhi Alphabet</h2>
<table class="blueTable" title="Gurmukhi Consonants"><tr><th colspan="10">
Punjabi Consonants &nbsp;&nbsp;&nbsp;&nbsp;  ਪੰਜਾਬੀ ਵਿਅੰਜਨ
</th></tr><tr><th> 
          Letter 
</th><th> 
          Pron 
</th><th> 
          Letter 
</th><th> 
          Pron 
</th><th> 
          Letter 
</th><th> 
          Pron 
</th><th> 
          Letter 
</th><th> 
          Pron 
</th><th> 
          Letter 
</th><th> 
          Pron 
</th> </tr><tr><td class="key">
        <b> ੳ</b> <br>(Oorha) 
</td><td class="value"> -- </td>
    <td class="key"><b> ਅ </b><br>(Airha) </td>
    <td class="value"> -- </td>
    <td class="key"> <b>ੲ</b> <br>(Eirhi) </td>
    <td class="value"> -- </td>
    <td class="key"><b> ਸ</b> <br>(Sussa) </td>
    <td class="value"> s </td>
    <td class="key"><b> ਹ</b> <br>(Haha) </td>
    <td class="value"> ɦ </td>
  </tr><tr>
    <td class="key"> <b>ਕ</b> <br>(Kukka) </td>
    <td class="value"> k </td>
    <td class="key"> <b>ਖ</b> <br>(Khukkha) </td>
    <td class="value"> kʰ </td>
    <td class="key"> <b>ਗ</b> <br>(Gugga) </td>
    <td class="value"> g </td>
    <td class="key"> <b>ਘ</b> <br>(Ghugga) </td>
    <td class="value"><  </td>
    <td class="key"><b> ਙ</b> <br> (Ungga) </td>
    <td class="value"> ŋ </td>
  </tr><tr>
    <td class="key"> <b>ਚ</b> <br>(Chucha) </td>
    <td class="value"> ʧ </td>
    <td class="key"><b> ਛ</b> <br>(Chhuchhaa)</td>
    <td class="value"> ʧʰ </td>
    <td class="key"><b> ਜ</b> <br>(Jujja) </td>
    <td class="value"> ʤ </td>
    <td class="key"> <b>ਝ</b> <br>(Jhujhaa) </td>
    <td class="value"> -- </td>
    <td class="key"> <b>ਞ</b> <br>(Nynya) </td>
    <td class="value"> ɲ </td>
  <tr></tr>
    <td class="key"> <b>ਟ</b> <br>(Tainka) </td>
    <td class="value"> ʈ </td>
    <td class="key"> <b>ਠ</b> <br>(Thutha) </td>
    <td class="value"> ʈʰ </td>
    <td class="key"> <b>ਡ</b> <br>(Dudda) </td>
    <td class="value"> ɖ </td>
    <td class="key"> <b>ਢ</b> <br>(Dhudha) </td>
    <td class="value"> -- </td>
    <td class="key"> <b>ਣ</b> <br>(Nahna) </td>
    <td class="value"> ɳ </td>
  </tr><tr>
    <td class="key"> <b>ਤ</b> <br>(Tutta) </td>
    <td class="value"> t̪ </td>
    <td class="key"> <b>ਥ</b> <br>(Thutha) </td>
    <td class="value"> t̪ʰ </td>
    <td class="key"> <b>ਦ</b> <br>(dudda) </td>
    <td class="value"> d̪ </td>
    <td class="key"> <b>ਧ</b> <br>(dhudha) </td>
    <td class="value"> -- </td>
    <td class="key"> <b>ਨ</b> <br>(Nunna) </td>
    <td class="value"> n </td>
  </tr><tr>
    <td class="key"> <b>ਪ</b> <br>(Puppa) </td>
    <td class="value"> p </td>
    <td class="key"> <b>ਫ</b> <br>(Phuppa) </td>
    <td class="value"> pʰ </td>
    <td class="key"> <b>ਬ</b> <br>(Bubba)</td>
    <td class="value"> b </td>
    <td class="key"> <b>ਭ</b> <br>(Bhubha)</td>
    <td class="value"> -- </td>
    <td class="key"> <b>ਮ </b> <br>(Mumma) </td>
    <td class="value"> m </td>
  </tr><tr>
    <td class="key"> <b>ਯ</b> <br> (Yayya) </td>
    <td class="value"> j </td>
    <td class="key"> <b>ਰ</b> <br> (Rara) </td>
    <td class="value"> ɾ </td>
    <td class="key"> <b> ਲ</b> <br>(Lulla) </td>
    <td class="value"> l </td>
    <td class="key"> <b>ਵ</b> <br>(Vava) </td>
    <td class="value"> ʋ </td>
    <td class="key"> <b>ੜ</b> <br>(Rharha) </td>
    <td class="value"> ɽʱ </td>
  </tr><tr>
    <td class="key"> <b>ਸ਼</b> </td>
    <td class="value"> ʃ </td>
    <td class="key"> <b> ਖ਼</b> </td>
    <td class="value"> -- </td>
    <td class="key"> <b>ਗ਼</b> </td>
    <td class="value"> -- </td>
    <td class="key"> <b>ਜ਼</b> </td>
    <td class="value"> z </td>
    <td class="key"><b> ਫ਼</b> </td>
    <td class="value"> f </td>
  </tr><tr>
    <td class="key"> <b>ਲ਼</b> </td>
    <td class="value"> ɽ </td>
    <td class="value" colspan="8"></td>
  </tr>
</table>




<h2> Lugas or Matras in Gurmukhi </h2>

<p> Punjabi language has 10 vowel sounds. These vowels are represented by using the 9 lugas/Matras and 3 letter of the Gurmukhi script. These lagas are not written independently but are used in conjunction with various letters.</p>
<p> The 3 letter which are used for writing vowel sounds are: </p>
<table class="blueTable">
<tr>
     <td class="key">ੳ (Oorha)</td>
     <td class="key">ਅ (Airha)</td>
     <td class="key">ੲ (Eirhi)</td>
</tr>
</table>
<p>
These three letter are not used independently but along with the 9 lug/Matras to represent the vowel sounds:
</p>

<table class="blueTable">
     <tr>
       <td class="key"> Mukta  </td> <td class="value"> A letter which is not accompanied by any lug/Matra is said to be in Mukta state.</td>
     </tr><tr>
       <td class="key"> <b>ਾ </b> (Kunna) </td> <td class="value"> ਾ </td>
     </tr><tr>
       <td class="key"> <b>ਿ</b> (Sihari)  </td> <td class="value"> ਿ </td>
     </tr><tr>
       <td class="key"><b>ੀ</b> (Bihari)  </td> <td class="value"> ੀ </td>
     </tr><tr>
       <td class="key"><b>ੁ</b> (Aunkarh)  </td> <td class="value"> ੁ </td>
     </tr><tr>
       <td class="key"> <b>ੂ</b> (Dulainkarh)  </td> <td class="value"> ੂ </td>
     </tr><tr>
       <td class="key"><b>ੇ</b> (Laan)  </td> <td class="value"> ੇ </td>
     </tr><tr>
       <td class="key"><b>ੈ</b> (Dulaan) </td> <td class="value"> ੈ </td>
     </tr><tr>
       <td class="key"><b>ੋ</b> (Horha) </td> <td class="value"> ੋ </td>
     </tr><tr>
       <td class="key"><b>ੌ</b> (Kanaurha)  </td> <td class="value"> ੌ </td>
     </tr><tr>
</table>
<p>
 Following table explains vowels and how they are written
 </p>
<p><small>
Please note that pronunciation of the English words used here are not be the original native pronunciation of English language but the ones which are used by Punjabi speakers. For example the word 'Colour' would be pronounced by native english speakers as /kʌlə/ but Punjabis pronounce it as /kələr/ so thats the one that is chosen for this lesson.
</small></p>

<table class="blueTable"><tr>
<th> Vowel </th><th> letter and symbol </th>
<th> Usage </th>
</tr><tr>
       <td class="key"> ə </td><td class="key"><b> ਅ </b></td> <td class="value"> The vowel /ə/ is written using the second letter ਅ of the Gurmukhi alphabet. In the word 'absurd', the first part of the word, 'ab' would be written in Gurmukhi script as ਅਬ representing the sound /əb/. Here the letter ਅ represents the /ə/ vowel sound. But when the vowel sound /ə/ comes in the middle of the word it usually occurs in conjunction with a consonant. In this situation the consonant itself includes an implied /ə/ sound and does not require ਅ or any other symbol. So when the word 'gun' is written in Gurmukhi it would be ਗਨ /gən/. The vowel sound /ə/ is not written explicitly, it is implied in the consonant letter ਗ. </td>
     </tr><tr>
       <td class="key"> ɑː </td><td class="key"><b>ਅ, ਾ </b></td> <td class="value"> Written using kunna,ਾ  preceded with a letter.  Occuring at the beginning of the word, it is written as ਆ which is a combination of the letter ਅ and a kunna ਾ . Occuring in the middle or at the end of a word it is written using a kunna, ਾ preceded with the relevant consonant letter. The word 'bar' can be written as ਬਾਰ /bɑːr/.
       </td>
     </tr>
     <tr>
       <td class="key"> i  </td><td class="key"><b> ੲ, ੀ</b></td> <td class="value"> Written using a Sihari, ਿ succeeded with a letter.  Occuring at the beginning of the word, it is written as ਇ which is a combination of a Sihari, ਿ and the letter ੲ for example name Ivan /ivɑːn/ can be written as ਇਵਾਨ. Occuring in the middle or at the end of a word it is written using a Sihari, ਿ succeeded with the relevant consonant letter. 'Nick' /nik/ can be written as ਨਿਕ .
       </td>
     </tr>
     <tr>
       <td class="key"> iː </td><td class="key"><b> ੲ, ੀ </b></td> <td class="value"> Written using a Bihari, ੀ preceded with a letter. Occuring at the beginning of the word it is written as ਈ which is a combination of the letter ੲ and a Bihari ੀ , for example the word 'even' /iːvn/ can be written as ਇਵਨ . Occuring in the middle or at the end of a word it is written using a Bihari, ੀ preceded with the relevant consonant letter. 'Keep' /kiːp/ can be written as ਕੀਪ . 
       </td>
     </tr><tr>
       <td class="key"> u </td> <td class="key"><b> ੳ, ੁ </b></td><td class="value"> Written by attaching an Aunkarh, ੁ at the base of the relevant letter. In the beginning of the word it is written as ਉ which is a combination of the letter ੳ and the laga ੁ , for example ---- . Occuring in the middle or at the end it is written by placing an Aunkarh at the base of the relevant consonant letter. 'Put' /put/ can be written as written as ਪੁਟ .
       </td>
     </tr>
     <tr>
       <td class="key"> uː </td><td class="key"><b>ੳ,ੂ </b></td> <td  class="value">Written by attaching a Dulainkarh , ੂ  at the base of the relevant letter. In the beginning of the word it is written as ਊ which is a combination of the letter ੳ and a Dulainkarh, ੂ , for example --- . Occuring in the middle or at the end it is written by placing a Dulainkarh at the base of the relevant consonant letter. 'Cool' /kuːl/ can be written as ਕੂਲ
     </tr>
     <tr>
       <td class="key"> eː </td><td class="key"><b>ੲ, ੇ </b></td> <td class="value"> Written by attaching a Laan, ੇ atop the relevant letter. In the beginning of the word it is written as ਏ which is a combination of the letter ੲ and a laan, ੇ, for example, the word 'Ace' /eːs /can be written as ਏਸ . Occuring in the middle or at the end it is written by attaching a Laan, ੇ at the top of the relevant letter. 'Make' /meːk/ can be written as ਮੇਕ.  </td>
     </tr><tr>
        <td class="key"> ɛː </td><td class="key"><b>ੲ, ੈ </b></td>
        <td class="value"> Written by attaching a ੈ atop the relevant letter. In the beginning of the word it is written as ਐ which is a combination of the letter ਅ and a dulaan ੈ , for example 'Ash' /ɛːsh/  can be written as ਐਸ਼. Occuring in the middle or the end it is written by placing a Dulaan ੈ atop the relevant letter. 'Bat' /bɛːt/ can be written as ਬੈਟ  </td>
     </tr><tr>
       <td class="key"> ɔː </td><td class="key"><b>ਓ, ੋ </b></td> <td class="value"> Occuring in the beginning or end(when preceded with a another vowel) of the word it is written as ਓ, which is a combination of ੳ and a Horha, ੋ, for example 'Oak' /ɔːk/ can be written as ਓਕ. Occurring at the middle and end(when preceded with a consonant sound) of a word it is written by attaching a Horha, ੋ atop the relevant letter. 'Cope' /ɔːp/ can be written as ਕੋਪ </td>
     </tr>
     <tr>
       <td class="key">oː </td> <td class="key"><b>ਅ, ੌ </b></td> <td class="value"> Occuring at the beginning of the word it is written as ਔ, which is a combination of ਅ and kunaurha ੌ, for example the word 'Odd' /oːd/ can be written as ਔਡ. Occuring at the middle or end of the word it is written by attaching a kanaurha, ੋ  at the top of the relevant letter. 'Knot' /oːt/ can be written as ਨੌਟ </td>
     </tr>
</table>
<h2> Lugakhar - symbols for nasal and conjunct sounds  </h2>

<table class="blueTable">
     <tr>
       <td class="key"> ਂ Bindi </td> <td class="value"> Bindi is a dot placed over a letter along with a lug/matra to denote a nasal sound. Bindi is used along with kanna, bihari, laan, dulaan, horha, kanaurha.<br>
       Aunt/ɑːnt/- ਆਂਟ 
       </td>
     </tr>
     <tr>
       <td class="key"> ੰ  Tippi </td> <td class="value"> Tippi is an inverted semi-circle placed in top of a letter to denote a nasal sound. It is used with a mukta consonant(one which does not have any other lug/matra), sihari, aunkarh and dulainkarh  <br>
        Bunk/bənk/ - ਬੰਕ <br>
       Sing /sing/ - ਸਿੰਗ 
       </td>
     </tr>
     <tr>
       <td class="key"> ੱ Uddhak </td> <td class="value"> 
        Addhak is used to denote stress on the consonant sound following the addhak.<br>
       Chuck- ਚੱਕ <br>
       kick- ਕਿੱਕ
       </td>
     </tr>

</table>


<h2> Some English Words in Gurmukhi </h2>
<p>
Now that you have the knowledge of the basics of Gurmukhi lets start by writing some English words in Gurmukhi:
</p>
<h3> Mukta </h3>
<p> The following words contains Mukta letters; so called due to the fact that they do not have any Lug/matra attached with them.</p>
<table class="">
<tr> 
     <td class="key"> Color  </td> 
     <td class="value"> ਕਲਰ /kələr/ </td> 
</tr>
<tr> 
     <td class="key"> Come </td> 
     <td class="value"> ਕਮ /kəm/ </td> 
</tr>
<tr> 
     <td class="key"> Bug </td> 
     <td class="value"> ਬਗ /bəg/</td> 
</tr>
<tr> 
     <td class="key"> Button  </td> 
     <td class="value">ਬਟਨ /bəʈən/</td> 
</tr>
<tr> 
     <td class="key"> Cover </td> 
     <td class="value"> ਕਵਰ /kəvəɾ/ </td> 
</tr>
<tr> 
     <td class="key">Hum  </td> 
     <td class="value"> ਹਮ /həm/ </td> 
</tr>

<tr> 
     <td class="value">  Fur  </td> 
     <td class="key"> ਫ਼ਰ /fəɾ/</td> 
</tr>
<tr> 
     <td class="key"> Couple / kəpəl/</td> 
     <td class="value"> ਕਪਲ </td> 
</tr>

</table>
<h3>Kunna (ਾ ) </h3>
<p>The following table contains examples of words that use a kunna for denoting the /ɑː/ vowel sound.</p>
<table>
<tr>
     <td class="key">Bar </td>
     <td class="value"> ਬਾਰ /bɑːɾ/ </td>
</tr>
<tr>
     <td class="key">Car </td>
     <td class="value"> ਕਾਰ /kɑːɾ/</td>
</tr>
<tr>
     <td class="key">Carl </td>
     <td class="value"> ਕਾਰਲ /kɑːɾl/</td>
</tr>
<tr>
     <td class="key">Garden </td>
     <td class="value"> ਗਾਰਡਨ /gɑːɾɖən/ </td>
</tr>
<tr>
     <td class="key">Bazaar </td>
     <td class="value"> ਬਜ਼ਾਰ /bəzɑːɾ/</td>
</tr>
</table>
<h3>Sihari (ਿ) </h3>
<p>Here are some examples of words with a sihari for denoting the /i/ vowel sound.</p>

<table>
<tr>
     <td class="key"> Bill</td>
     <td class="value"> ਬਿਲ /bil/</td>
</tr>
<tr>
     <td class="key">Sid </td>
     <td class="value"> ਸਿਡ /sid/ </td>
</tr>
<tr>
     <td class="key">Lisp </td>
     <td class="value"> ਲਿਸਪ /lisp/</td>
</tr>
<tr>
     <td class="key">Winner </td>
     <td class="value"> ਵਿਨਰ /vinəɾ/ </td>
</tr>
<tr>
     <td class="key"> Mimic </td>
    <td class="value"> ਮਿਮਿਕ /mimik/</td>
</tr>
<tr>
     <td class="key"> Elixir </td>
    <td class="value"> ਇਲਿਕਸਰ /iliksəɾ/</td>
</tr>
</table>
<h3> Bihari (ੀ) </h3>
<p>Here are some examples of words with a bihari for denoting the /iː/ vowel sound.</p>

<table>
<tr>
     <td class="key">Beep </td>
     <td class="value">ਬੀਪ /biːp/</td>
</tr>
<tr>
     <td class="key"> Weak </td>
     <td class="value">ਵੀਕ /ʋiːk/ </td>
</tr>
<tr>
     <td class="key"> Sleep </td>
     <td class="value">ਸਲੀਪ /sliːp/ </td>
</tr>
<tr>
     <td class="key"> Meagre</td>
     <td class="value">ਮੀਗਰ /miːgɾ/ </td>
</tr>
<tr>
     <td class="key">Bulky </td>
     <td class="value">ਬਲਕੀ /bəlkiː/ </td>
</tr>
</table>

<h3> Aunkarh (ੁ) </h3>
<p>Here are some examples of words with an aunkarh  for denoting the /u/ vowel sound.</p>
<Table>
<tr>
     <td class="key"> Cook </td>
     <td class="value"> ਕੁਕ /kuk/</td>
</tr><tr>
     <td class="key"> Put </td>
     <td class="value"> ਪੁਟ /puʈ/</td>
</tr><tr>
     <td class="key"> Wool </td>
     <td class="value"> ਵੁਲ /ʋul/ </td>
</tr><tr>
     <td class="key"> Took   </td>
     <td class="value"> ਟੁਕ /ʈuk/ </td>
</tr>
</table>

<h3> Dulainkarh (ੂ) </h3>
<p>Here are some examples of words with a dulainkarh  for denoting the /uː/ vowel sound.</p>
<table>
<tr>
     <td class="key"> Cool </td>
     <td class="value">ਕੂਲ /kuːl/</td>
</tr><tr>
     <td class="key"> Juice </td>
     <td class="value">ਜੂਸ /ʤuːs/ </td>
</tr><tr>
     <td class="key"> Tool</td>
     <td class="value">ਟੂਲ /ʈuːl/</td>
</tr><tr>
     <td class="key"> Fool</td>
     <td class="value">ਫ਼ੂਲ /fuːl/</td>
</tr><tr>
     <td class="key"> Booth</td>
     <td class="value"> ਬੂਥ /buːt̪ʰ/ </td>
</tr>
</table>
<h3> Laan (ੇ) </h3>
<p>Here are some examples of words with a laan for denoting the /eː/ vowel sound.</p>
<table>
<tr>
     <td class="key"> Cake </td>
     <td class="value">ਕੇਕ /keːk/ </td>
</tr><tr>
     <td class="key"> Gate </td>
     <td class="value"> ਗੇਟ /geːʈ/</td>
</tr><tr>
     <td class="key"> Fail </td>
     <td class="value"> ਫ਼ੇਲ /feːl/ </td>
</tr><tr>
     <td class="key"> Made </td>
     <td class="value"> ਮੇਡ /meːɖ/ </td>
</tr><tr>
     <td class="key"> Blade </td>
     <td class="value">ਬਲੇਡ /bleːɖ/  </td>
</tr>
</table>

<h3>Dulaan (ੈ) </h3>
<p>Here are some examples of words with a dulaan for denoting the /ɛː/ vowel sound.</p>
<table>
<tr>
     <td class="key"> Back </td>
     <td class="value"> ਬੈਕ /bɛːk/</td>
</tr><tr>
     <td class="key"> Chat</td>
     <td class="value"> ਚੈਟ /ʧɛːʈ /</td>
</tr><tr>
     <td class="key"> Pan </td>
     <td class="value"> ਪੈਨ /pɛːn/ </td>
</tr><tr>
     <td class="key"> Dad </td>
     <td class="value">ਡੈਡ /ɖɛːɖ / </td>
</tr>
</table>

<h3>Horha (ੋ) </h3>
<p>Here are some examples of words with a horha for denoting the /ɔː/ vowel sound.</p>
<table>
<tr>
     <td class="key"> Hole </td>
     <td class="value">ਹੋਲ /ɦɔːl/</td>
</tr><tr>
     <td class="key"> Pope</td>
     <td class="value"> ਪੋਪ /pɔːp/ </td>
</tr><tr>
     <td class="key"> Joke </td>
     <td class="value"> ਜੋਕ /ʤɔːk/ </td>
</tr><tr>
     <td class="key"> Store </td>
     <td class="value">ਸਟੋਰ /sʈɔːɾ/ </td>
</tr><tr>
     <td class="key"> Glow </td>
     <td class="value">ਗਲੋ /bəɾɔː/ </td>
</tr>
</table>

<h3> Kanaurha (ੌ) </h3>
<p>Here are some examples of words with a kanaurha for denoting the /oː/ vowel sound.</p>
<table>
<tr>
     <td class="key"> Job </td>
     <td class="value"> ਜੌਬ /ʤoːb/</td>
</tr><tr>
     <td class="key"> Fog</td>
     <td class="value"> ਫ਼ੌਗ /foːg/ </td>
</tr><tr>
     <td class="key"> Block</td>
     <td class="value"> ਬਲੌਕ /bloːk/</td>
</tr><tr>
     <td class="key"> Bottle </td>
     <td class="value">ਬੌਟਲ /boːʈl/</td>
</tr><tr>
     <td class="key"> Oscar </td>
     <td class="value"> ਔਸਕਰ /oːskəɾ/</td>
</tr>
</table>
</html>
!ਮਹੱਤਤਾ
ਭਾਸ਼ਕ ਵਿਵਹਾਰ ਵਿੱਚ ਸੁਣਨ ਦਾ ਹਿੱਸਾ ਸਭ ਤੋਂ ਵਧੇਰੇ ਹੈ। ਆਪਣੇ ਵਿਦਿਆਰਥੀ ਜੀਵਨ ਵਿੱਚ ਇਕ ਸਿਖਿਆਰਥੀ 90% ਤੋਂ ਜ਼ਿਆਦਾ ਜਾਣਕਾਰੀ ਸੁਣਨ ਰਾਹੀਂ ਹਾਸਿਲ ਕਰਦਾ ਹੈ। ਇਹ ਸੁਣਨਾ ਨਾ ਕੇਵਲ ਅਧਿਆਪਕਾਂ ਨਾਲ ਸੰਬੰਧਿਤ ਹੈ, ਸਗੋਂ ਸਾਥੀ-ਵਿਦਿਆਰਥੀਆਂ ਨਾਲ ਵੀ ਹੈ।

ਜਰਮਨੀ ਵਿਚ, ਪ੍ਰਾਇਮਰੀ ਸਕੂਲ ਦੇ ਵਿਦਿਆਰਥੀਆਂ ਦਾ ਆਪਣੇ ਪੂਰੇ ਸਮੇਂ ਦਾ ੨/੩ ਹਿੱਸਾ ਸੁਣਨ ਵਿਚ ਜਾਂਦਾ ਹੈ(Imhof & Weihard 2004)

ਅਮਰੀਕਾ ਵਿਚ Janusik & Wolvin, 2006 ਵੱਲੋਂ ਕੀਤੀ ਗਈ ਖੋਜ ਮੁਤਾਬਿਕ ਅਮਰੀਕੀ ਕੌਲੇਜ ਵਿਦਿਆਰਥੀ ਆਪਣਾ ਸਮਾਂ ਇਸ ਪ੍ਰਕਾਰ ਖਰਚ ਕਰਦੇ ਹਨ:
|!ਪੜ੍ਹਨਾ|!ਲਿਖਣਾ|!ਬੋਲਣਾ|!ਸੁਣਨਾ|
|੬%|੮%|੨੦%|੨੪%|
ਇਸ ਖੋਜ ਵਿਚ ਇਹ ਵੀ ਪਾਇਆ ਗਿਆ ਕਿ ਵਿਦਿਆਰਥੀ ਔਸਤਨ ੧੨ ਘੰਟੇ ਹਰ ਰੋਜ਼ ਸੁਣਨ ਨਾਲ ਜੁੜੀਆਂ ਗਤੀਵਿਦੀਆਂ ਵਿੱਚ ਰੁਝੇ ਹੁੰਦੇ ਹਨ। ਇਹਨਾ 'ਚ ਗਲਬਾਤ, ਫੋਨ, ਟੀ.ਵੀ., ਸੀ.ਡੀ, ਰੇਡੀਓ ਆਦਿ ਸ਼ਾਮਿਲ ਹਨ।
//[[http://www.listen.org|http://www.listen.org]]//

ਇਸ ਖੇਤਰ 'ਚ ਹੋਇਆਂ ਹੋਰ ਖੋਜਾਂ ਨੇ ਇਸ ਤੱਥ ਨੂੰ ਜ਼ਾਹਿਰ ਕੀਤਾ ਹੈ ਕਿ ਸੂਣਨਾ ਇਕ ਚੰਗੀ ਸੰਚਾਰ-ਪ੍ਰਕਿਰਿਆ ਦੀ ਸਫਲਤਾ ਨਾਲ ਸਿੱਧੇ ਤੌਰ ਤੇ ਸੰਬੰਧਿਤ ਹੈ।

*ਇਕ ਬੱਚੇ ਦੀ ਸੁਣਨ ਪ੍ਰਕਿਰਿਆ ਜਨਮ ਤੋਂ ਪਹਿਲਾਂ, ਮਾਂ ਦੇ ਪੇਟ 'ਚ ਹੀ ਸ਼ੁਰੂ ਹੋ ਜਾਂਦੀ ਹੈ। ਮੈਡਿਕਲ ਸਾਇੰਸ ਦੀ ਖੋਜ ਸਾਨੂੰ ਦਸਦੀ ਹੈ ਕਿ ਬੱਚਾ ਬਾਹਰ ਦੀਆਂ ਆਵਾਜ਼ਾਂ ਪ੍ਰਤੀ ਸੰਵੇਦਨਸ਼ੀਲ ਰਹਿੰਦਾ ਹੈ
*ਸਪਰਸ਼ ਅਤੇ ਦ੍ਰਿਸ਼ ਤੋ ਪਿੱਛੋੰ ਸੁਣਨ ਨਾਲ ਹੀ ਬੱਚਾ ਆਪਣੇ ਆਲੇ-ਦੁਆਲੇ ਦੇ ਵਾਤਾਵਰਣ ਨਾਲ ਸੰਪਰਕ ਕਰਦਾ ਹੈ
*ਸਮਾਜਕ ਜੀਵਨ ਮਨੁੱਖੀ ਰਿਸ਼ਤਿਆਂ ਦੀ ਬੁਨਿਆਦ ਤੇ ਉਸਰਿਆ ਹੁੰਦਾ ਹੈ। ਮਨੁੱਖੀ ਭਾਸ਼ਕ-ਸੰਚਾਰ ਇਹਨਾਂ ਰਿਸ਼ਤਿਆਂ ਦੀ ਸਿਰਜਣਾ ਅਤੇ ਅਸਤਿਤਵ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਹੁੰਦਾ ਹੈ। ਸੰਚਾਰ ਦਾ ਅਹਿਮ ਅੰਗ ਹੈ, ਸੁਣਨਾ
*ਦੈਨਿਕ ਜੀਵਨ ਵਿਚਲੇ ਬਹੁਤੇ ਕਾਰਜ ਸੁਣਨ ਆਧਾਰਿਤ ਹੁੰਦੇ ਹਨ
*ਵਾਰਤਾਲਾਪ ਗਿਆਨ ਅਰਜਿਤ ਕਰਣ ਦਾ ਪ੍ਰਮੁੱਖ ਸਾਧਨ ਹੈ। ਵਾਰਤਾਲਾਪ ਵਿਚ ਸ਼ਮੂਲੀਅਤ ਸੁਣਨ ਕੌਸ਼ਲ ਦਾ ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ
*ਸਾਡੀਆ ਸਭ ਪਰੰਪਰਾਗਤ ਅਤੇ ਆਧੁਨਿਕ ਸਿੱਖਿਆ ਵਿਧੀਆਂ ਵਿਦਿਆਰਥੀਆਂ ਦੇ ਚੰਗੇ ਸੁਣਨ ਕੌਸ਼ਲ ਉਤੇ ਨਿਰਭਰ ਹਨ ਅਤੇ ਇਸ ਨਾਲ ਹੀ ਸਫਲ ਹੁੰਦੀਆਂ ਹਨ
*ਸੁਣਨ ਪ੍ਰਕਿਰਿਆ ਭਾਸ਼ਾ ਦੇ ਸਮੁੱਚੇ ਕੌਸ਼ਲ ਅਤੇ ਗਿਆਨ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦੀ ਹੈ। ਇਸ ਨਾਲ ਸ਼ਬਦ-ਭੰਡਾਰ, ਵਾਕ-ਮੁਹਾਵਰਾ, ਵਾਕ-ਸੰਰਚਨਾ, ਉਚਾਰਣ ਆਦਿ ਸਭ ਪੱਖਾਂ ਵਿਚ ਵਿਕਾਸ ਹੁੰਦਾ ਹੈ। ਬਿਹਤਰੀਨ ਭਾਸ਼ਾ ਵਕਤਾ ਅਤੇ ਲਿਖਾਰੀ ਚੰਗੇ ਸ੍ਰੋਤਾ ਵੀ ਹੁੰਦੇ ਹਨ
!ਪਰਿਭਾਸ਼ਾ
> ਬੋਲੇ ਗਏ ਸੁਨੇਹੇ ਤੋਂ ਅਰਥ-ਪ੍ਰਾਪਤੀ ਅਤੇ ਅਰਥ-ਸਿਰਜਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸੁਣਨਾ ਕਿਹਾ ਜਾਂਦਾ ਹੈ।
!ਪ੍ਰਕਿਰਿਆ
*ਸੁਣਨ ਪ੍ਰਕਿਰਿਆ ਵਿਚ ਭੌਤਿਕ ਧੁਨੀਆਂ ਨੂੰ ਕੰਨਾਂ ਨਾਲ ਗ੍ਰਹਿਣ ਕਰਨਾ, ਇਹਨਾਂ ਨੂੰ ਬਿਜਲੀ ਤਰੰਗਾਂ ਵਿਚ ਤਬਦੀਲ ਕਰਨਾ, ਸਨਾਯੂ ਤੰਤ੍ਰ ਰਾਹੀਂ ਇਹਨਾਂ ਨੂੰ ਦਿਮਾਗ ਤਕ ਪਹੁੰਚਾਉਣਾ, ਓਥੇ ਇਹਨਾਂ ਨੂੰ ਭਾਸ਼ਾਗਤ ਅਰਥਾਂ ਵਿੱਚ ਅਨੁਵਾਦਿਤ ਕੀਤਾ ਜਾਣਾ ਸ਼ਾਮਿਲ ਹੈ
*ਸਫਲ ਸੁਣਨ ਪ੍ਰਕਿਰਿਆ ਲਈ ਵਰਤੀ ਜਾ ਰਹੀ ਭਾਸ਼ਾ ਦੀਆਂ ਧੁਨੀਆਂ ਨੂੰ ਬਖੂਬੀ ਸਮਝ ਸਕਣਾ ਲਾਜ਼ਮੀ ਹੈ
*ਇਸ ਦੇ ਨਾਲ ਹੀ ਵਰਤੇ ਗਏ ਸ਼ਬਦਾਂ ਦੇ ਸਹੀ ਅਰਥਾਂ ਦਾ ਗਿਆਨ, ਵਾਕ-ਬਣਤਰ ਦੇ ਨੇਮ ਆਦਿ ਦਾ ਗਿਆਨ ਹੋਣਾ ਵੀ ਜ਼ਰੂਰੀ ਹੈ
*ਸੁਣਨ ਪ੍ਰਕਿਰਿਆ ਕੇਵਲ ਸੁਣੇ ਗਏ ਸ਼ਬਦਾਂ ਦਾ ਉਹਨਾਂ ਦੇ ਅਰਥਾਂ 'ਚ ਅਨੁਵਾਦਿਤ ਕਰਨ ਦੀ ਸਿੱਧੀ ਅਤੇ ਸਰਲ ਪ੍ਰਕਿਰਿਆ ਨਹੀ ਹੈ। ਇਹ ਸ੍ਰੋਤਾ ਵੱਲੋੰ ਸ੍ਰਵਣਿਤ ਪਾਠ ਨੂੰ ਉਸਦੇ ਭਾਸ਼ਾ-ਗਿਆਨ ਦੇ ਨਾਲ ਨਾਲ ਉਸਦੇ ਪੂਰਵ ਅਨੁਭਵ, ਪੂਰਵ ਗਿਆਨ ਅਤੇ ਮਾਨਸਿਕ ਅਵਸਥਾ ਆਦਿ ਦੇ ਅਸਰ ਰਾਹੀਂ ਅਰਥ-ਸਿਰਜਣਾ ਦੀ ਇਕ ਜਟਿਲ ਪ੍ਰਕਿਰਿਆ ਹੈ।
*ਸ੍ਰੋਤਾ ਨੂੰ ਸੁਣਨ ਲੱਗਿਆਂ ਵਕਤਾ ਵੱਲੋੰ ਚੁਣੀ ਅਤੇ ਵਰਤੀ ਗਈ ਸ਼ਬਦਾਵਲੀ, ਵਾਕ-ਸੰਰਚਨਾ, ਵਾਕ-ਉਤਪਾਦਨ ਦੀ ਗਤੀ ਆਦਿ ਨਾਲ ਨਿਭਾਉਣਾ ਪੈਂਦਾ ਹੈ
!ਸੁਣਨ ਕੌਸ਼ਲ ਦੇ ਵਿਕਾਸ ਲਈ ਜਤਨ
!!ਵਾਰਤਾਲਾਪ
ਸ਼ਾਧਾਰਣ, ਰੋਜ਼-ਮਰ੍ਹਾ ਦੇ ਵਿਸ਼ਿਆਂ ਉੰਤੇ ਵਿਦਿਆਰਥੀਆਂ ਨਾਲ ਵਾਰਤਾਲਾਪ ਕਰਨ ਨਾਲ ਇਕ ਵਿਦਿਆਰਥੀ ਨੂੰ ਕਿਸੇ ਦਬਾਓ ਅਤੇ ਤਨਾਓ ਤੋਂ ਮੁਕਤ ਰਖਦੇ ਹੋਏ ਸੁਣਨ ਕੌਸ਼ਲ ਵਿਚ ਅਭਿਆਸ ਦਿੱਤਾ ਜਾ ਸਕਦਾ ਹੈ।
!!ਪ੍ਸ਼ਨ-ਉੱਤਰ
*ਸਕੂਲੀ ਅਧਿਆਪਨ ਵਿਧੀਆਂ ਵਿਚ ਪ੍ਰਸ਼ਨ-ਉੱਤਰ ਵਿਧੀ ਪ੍ਰਮੁੱਖ ਸਥਾਨ ਰੱਖਦੀ ਹੈ। 
*ਅਧਿਆਪਕ ਪਾਠ ਪੜ੍ਹਾਉਣ ਲੱਗਿਆਂ ਅਧਿਆਪਨ ਬਿੰਦੂ ਦੀ ਪੁਸ਼ਟੀ ਲਈ, ਦੁਹਰਾਈ ਲਈ ਪ੍ਰਸ਼ਨਾ ਦਾ ਪ੍ਰਯੋਗ ਕਰ ਸਕਦਾ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ ਪਾਠ ਦੇ ਵਿਕਾਸ ਲਈ, ਵਿਦਿਆਰਥੀਆਂ ਦੇ ਪੂਰਵ-ਗਿਆਨ ਨੂੰ ਸਕ੍ਰਿਆ ਕਰਣ ਲਈ, ਅੱਗੇ ਆਉਣ ਵਾਲੇ ਪਾਠ-ਬਿੰਦੂ ਵਿੱਚ ਰੁਚੀ ਪੈਦਾ ਕਰਨ ਲਈ ਵੀ ਪ੍ਰਸ਼ਨਾਂ ਦਾ ਪ੍ਰਯੋਗ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। 
*ਧਿਆਨ ਰੱਖਣ ਦਿ ਲੋੜ ਹੈ ਕਿ ਪੁੱਛੇ ਗਏ ਪ੍ਰਸ਼ਨ ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਸਮਝ ਆਉਣ, ਉਹਨਾਂ ਦੇ ਬੁਧੀ-ਪੱਧਰ ਅਨੁਕੂਲ ਹੋਣ, ਪਾਠ ਨਾਲ ਸਾਰਥਕ ਸੰਬੰਧ ਰੱਖਦੇ ਹੋਣ। 
*ਵਿਦਿਆਰਥੀਆਂ ਵੱਲੋਂ ਪ੍ਰਾਪਤ ਹੁੰਦੇ ਉੱਤਰਾਂ ਤੋਂ ਉਹਨਾਂ ਦੇ ਸੁਣਨ-ਕੌਸ਼ਲ ਦਾ ਅੰਦਾਜ਼ਾ ਸੌਖਿਆਂ ਹੀ ਲਾਇਆ ਜਾ ਸਕਦਾ ਹੈ। 
!!ਭਾਸ਼ਣ
*ਭਾਸ਼ਣ ਸੁਣਨਾ ਇਕ ਬਹੁਤ ਵੱਖਰਾ ਅਨੁਭਵ ਹੁੰਦਾ ਹੈ। ਕਿਸੇ ਵੀ ਲੰਮੇ ਵਖਾਣ ਵਿਚ ਸਾਡਾ ਧਿਆਨ ਸਥਿਰ ਨਹੀਂ ਰਹਿੰਦਾ, ਸਗੋੰ ਇਹ ਵਿਆਖਿਆਣ ਤੋਂ ਹਟਕੇ ਕਦੀ ਅੰਦਰੂਣੀ ਪ੍ਰਤੀਕਿਰਿਆ, ਕਲਪਨਾ ਵਲ ਗਤੀਸ਼ੀਲ ਹੁੰਦਾ ਰਹਿੰਦਾ ਹੈ
*ਭਾਸ਼ਣ ਅਧਿਆਪਕ ਵੱਲੋਂ, ਖੁਦ ਵਿਦਿਆਰਥੀਆਂ ਵੱਲੋੰ, ਕਿਸੇ ਬਾਹਰੋੰ ਆਏ ਵਿਦਵਾਨ ਵੱਲੋੰ ਦਿੱਤੇ ਜਾ ਸਕਦੇ ਹਨ
*ਭਾਸਣਾਂ ਰਾਹੀਂ ਸੁਣਨ ਕੌਸ਼ਲ ਦਾ ਅਭਿਆਸ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਇਸ ਕਿਰਿਆ ਦੇ ਉਦੇਸ਼ਾ ਤੋੰ ਜਾਣੂ ਕਰਾਉਣਾ ਜ਼ਰੂਰੀ ਹੈ। ਇਸ ਸੰਬੰਧੀ ਸਪਸ਼ਟ ਨਿਰਦੇਸ਼ ਦੇਣੇ ਜ਼ਰੂਰੀ ਹਨ। ਇਹਨਾਂ ਦੇ ਆਧਾਰ ਤੇ ਹੀ ਅੰਤ ਵਿਚ ਬੋਧ-ਪਰਖ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ।
!!ਰੇਡਿਓ, ਟੀ.ਵੀ ਜਾਂ ਡਿਜਿਟਲ ਰਿਕੌਰਡਿੰਗ ਦਾ ਪ੍ਰਯੋਗ
*ਇੰਟਰਵਿਊ, ਭਾਸ਼ਣ, ਡੌਕੂਮੈਂਟ੍ਰੀ, ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼, ਕਹਾਣੀ-ਵਖਿਆਣ, ਨਾਟਕ ਅਤੇ ਫਿਲਮ ਦੇ ਅੰਸ਼
*ਇਹਨਾ ਸੁਣਨ ਟੀਚਿਆਂ ਵਿਚ ਕੇੰਦਰੀ ਵਿਚਾਰ ਗ੍ਰਹਿਣ ਕਰਨਾ, ਮੁੱਖ ਘਟਨਾ ਜਾਂ ਘਟਨਾਵਾਂ ਦੀ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨਾ, ਤੱਥਾਂ ਨੂੰ ਗ੍ਰਹਿਣ ਕਰਨਾ-ਜਿਵੇਂ ਕੀ, ਕਦੋਂ, ਕਿੱਥੇ ਅਤੇ ਕੌਣ ਆਧਾਰਿਤ ਪ੍ਰਸ਼ਨ ਆਦਿ ਹੋ ਸਕਦੇ ਹਨ
In the last topic you learnt the basics of Gurmukhi script. Lets take this further and learn names of some common things we find around around us:

|!Punjabi|!Prounciation|!English|
|!House and related|>|>|
|ਘਰ|ਘ+ਰ|Home|
|ਮਕਾਨ|ਮ+ਕਾ+ਨ|House|
|ਕਮਰਾ|ਕ+ਮ+ਰਾ|Room|
|ਦਿਵਾਰ|ਦਿ+ਵਾ+ਰ|Wall|
|ਖਿੜਕੀ|ਖਿ+ੜ+ਕੀ|Window|
|ਦਰਵਾਜਾ|ਦ+ਰ+ਵਾ+ਜਾ|Door|
|!Machines and related|>|>|
|ਟੀ.ਵੀ|ਟੀ.+ਵੀ.|
|ਫ੍ਰਿੱਜ|ਫ੍ਰਿੱ+ਜ|
|ਰੇਡੀਓ|ਰੇ+ਡੀ+ਓ|
|ਪੱਖਾ|ਪੱ+ਖਾ|
|ਬੱਲਬ|ਬੱ+ਲ+ਬ|
|ਟ੍ਯੂਬ|ਟ੍ਯੂ+ਬ|
|ਏਸੀ|ਏ.+ਸੀ.|
|ਕੂਲਰ|ਕੂ+ਲ+ਰ|
|ਕੰਪ੍ਯੂਟਰ|ਕੰ+ਪ੍ਯੂ+ਟ+ਰ|
|ਮਾਊਸ|ਮਾ+ਊ+ਸ|
|ਸਕਰੀਨ|ਸ+ਕ+ਰੀ+ਨ|
|ਕੀ-ਬੋਰਡ|ਕੀ+-+ਬੋ+ਰ+ਡ|
|ਸੀ.ਪੀ.ਯੂ.|ਸੀ.+ਪੀ.+ਯੂ.|
|ਸੀ.ਡੀ.|ਸੀ.+ਡੀ.+|
|ਪੈੱਨ ਡ੍ਰਾਈਵ|ਪੈੱ+ਨ  ਡ੍ਰਾ+ਈ+ਵ|
ਮਨੁੱਖ ਦੂਸਰੇ ਮਨੁੱਖਾਂ ਨਾਲ ਸੰਪਰਕ ਕਰਕੇ ਸਮਾਜ ਅਤੇ ਸਮਾਜਕ ਰਿਸ਼ਤੇ ਕਾਯਮ ਕਰਦਾ ਹੈ। ਭਾਸ਼ਾ ਅਜਿਹਾ ਕਰਨ ਵਿਚ ਉਸਦੀ ਸਹਾਇਤਾ ਕਰਦੀ ਹੈ। ਵਿਸ਼ੇਸ਼ ਤੌਰ ਤੇ ਅਜਿਹਾ ਬੋਲ ਕੇ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਕਿਹਾ ਜਾ ਸਕਦਾ ਹੈ ਕਿ ਭਾਸ਼ਾ ਦੇ ਬਾਕੀ ਤਿੰਨੇ ਬੁਨਿਆਦੀ ਕੌਸ਼ਲ- ਸੁਣਨਾ, ਲਿਖਣਾ ਅਤੇ ਪੜ੍ਹਣਾ  ਬੋਲਣ ਤੋਂ ਬਿਨਾ ਆਪਣੀ ਸੁਤੰਤਰ ਹੋਂਦ ਨਹੀਂ ਰੱਖਦੇ। ਕੁਦਰਤੀ ਆਵਾਜ਼ਾਂ (ਜੋ ਕਿਸੇ ਦਵਾਰਾ ਬੋਲੀਆਂ ਨਾ ਗਈਆਂ ਹੋਣ) ਸੁਣੀਆਂ ਤਾਂ ਜਾ ਸਕਦੀਆਂ ਹਨ ਪਰ ਉਹ ਭਾਸ਼ਾ ਦਾ ਸੁਣਨਾ ਨਹੀਂ ਹੋਵੇਗਾ। ਲਿਖਣਾ ਅਤੇ ਪੜ੍ਹਣਾ ਦੋਵੇਂ ਭਾਸ਼ਾ ਦੀਆਂ ਧੁਨੀਆਂ ਨੂੰ ਹੀ ਅੰਕਿਤ ਅਤੇ ਗ੍ਰਹਿਣ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਹੈ। ਸੋ ਬੋਲਣ ਨੂੰ ਭਾਸ਼ਾਈ ਕੌਸ਼ਲਾ ਵਿਚ ਪ੍ਰਮੁੱਖਤਾ ਹਾਸਿਲ ਹੈ। ਬੋਲਣ ਤੋ ਬਿਨਾ ਭਾਸ਼ਾ ਕਦੀ ਹੋਂਦ'ਚ ਹੀ ਨਹੀਂ ਸੀ ਆਉਣੀ। 

ਆਦਿਮ ਮਨੁੱਖ ਦਾ ਜੀਵਨ ਜੰਗਲਾਂ ਵਿਚ ਸ਼ਿਕਾਰ ਕਰਨ ਉਤੇ ਨਿਰਭਰ ਸੀ। ਉਹ ਸ਼ਰੀਰਕ ਬਲ ਰਾਹੀਂ ਨਹੀਂ ਬਲਕਿ ਬੁਧੀ ਪ੍ਰਯੋਗ, ਯੋਜਨਾਬੰਦੀ ਦੇ ਸਹਾਰੇ ਆਪਣੇ ਤੋਂ ਵੱਡੇ ਜੀਵਾਂ ਦਾ ਸ਼ਿਕਾਰ ਕਰਦਾ ਸੀ। ਭਾਸ਼ਾ ਦਾ ਸਭ ਤੋਂ ਪਹਿਲਾ ਰੂਪ ਉਹ ਆਵਾਜ਼ਾਂ ਸਨ ਜੋ ਆਦਿਮ ਮਨੁੱਖ ਨੇ ਸ਼ਿਕਾਰ ਕਰਦਿਆਂ ਹੋਇਆਂ ਇਕ ਦੂਜੇ ਨਾਲ ਸੰਪਰਕ ਕਰਨ ਵਾਸਤੇ ਕੱਢੀਆਂ। ਇਸ ਦੇ ਨਾਲ ਹੀ ਆਵਾਜ਼ਾ ਦਾ ਪ੍ਰਯੋਗ ਵਸਤਾਂ ਦੇ ਨਾਮਕਰਣ ਲਈ ਵੀ ਸ਼ੁਰੂ ਹੋਇਆ। ਇੰਝ ਭਾਸ਼ਾ ਦਾ ਜਨਮ ਹੋਇਆ। ਫਿਰ ਇਹ ਭਾਸ਼ਾ ਮਨੁੱਖ ਦੇ ਰੋਜ਼-ਮਰ੍ਹਾ ਦੇ ਜੀਵਨ ਨੂੰ ਵਿਕਸਿਤ ਕਰਣ ਲਈ ਵਰਤੀ ਜਾਣ ਲਗੀ। ਇਸ ਦੇ ਸਹਾਰੇ ਮਨੁੱਖੀ ਇਕੱਠ ''ਸਮਾਜ'' ਦਾ ਰੂਪ ਲੈਣ ਲੱਗੇ।
!ਪਰਿਭਾਸ਼ਾ (ਬੋਲਣਾ / ਮੌਖਿਕ ਪ੍ਰਗਟਾਅ)
ਭਾਸ਼ਾ ਦੇ ਮੌਖਿਕ ਰੂਪ ਦਾ ਪ੍ਰਯੋਗ ਕਰਦੇ ਹੋਏ ਸ਼ਬਦਾਂ ਨੂੰ ਭਾਸ਼ਾ ਦੇ ਵਿਆਕਰਣਕ ਨੇਮਾਂ ਅਨੁਸਾਰ ਵਿਚਾਰਾਂ ਅਤੇ ਮਨੋਭਾਵਾਂ ਨੂੰ ਵਿਅਕਤ ਕਰਨ ਲਈ ਪ੍ਰਯੋਗ ਕਰਨਾ ਬੋਲਣਾ ਕਹਾਉਂਦਾ ਹੈ। 
!ਮੌਖਿਕ ਪ੍ਰਗਟਾਅ 'ਚ ਇਹ ਗਲਾਂ ਸ਼ਾਮਿਲ ਹਨ:
#ਸ਼ਬਦਾਂ ਦਾ ਸ਼ੁੱਧ ਉਚਾਰਣ; ਢੁਕਵੇਂ ਸ਼ਬਦਾਂ ਦਾ ਸੰਚਾਰ-ਸਥਿਤੀ ਮੁਤਾਬਿਕ ਵਾਕ-ਰਚਨਾ ਦੇ ਨੇਮਾਂ ਮੁਤਾਬਿਕ ਪ੍ਰਯੋਗ
#ਆਪਣੇ ਸੁਨੇਹੇ ਨੂੰ ਸੁਭਾਵਿਕ ਪ੍ਰਵਾਹ ਸਹਿਤ ਮੌਖਿਕ ਰੂਪ'ਚ ਵਿਅਕਤ ਕਰਨਾ
#ਸ੍ਰੋਤੇ ਨਾਲ ਵਾਰੀ ਸਹਿਤ ਬੋਲਣਾ, ਉਚਿਤ ਗਤੀ ਨਾਲ ਬੋਲਣਾ, ਉਚਿਤ ਅੰਤਰ-ਸ਼ਬਦੀ ਠਹਿਰਾਓ ਨਾਲ ਬੋਲਣਾ
#ਸਮਾਜਿਕ ਰਿਸ਼ਤੇ ਮੁਤਾਬਿਕ ਸ੍ਰੋਤੇ ਨਾਲ ਉਚਿਤ ਲਹਿਜ਼ੇ ਦਾ ਪ੍ਰਯੋਗ
#ਇਛਿੱਤ ਪ੍ਰਭਾਵ ਵਾਸਤੇ ਉਚਿਤ ਲਹਿਜ਼ੇ ਦਾ ਪ੍ਰਯੋਗ
!ਮੌਖਿਕ ਪ੍ਰਗਟਾਅ ਦੀ ਮੱਹਤਤਾ
*ਭਾਸ਼ਾ ਦਾ ਪ੍ਰਾਥਮਿਕ ਰੂਪ ਮੌਖਿਕ ਹੈ
*ਬੋਲਣ-ਕੌਸ਼ਲ ਇਕ ਵਿਅਕਤੀ ਦੇ ਜੀਵਨ ਵਿਚ ਸਭ ਤੋਂ ਵੱਧ ਕੰਮ ਆਉਣ ਵਾਲਾ ਕੌਸ਼ਲ ਹੈ। ਵਿਅਕਤੀ ਦੇ ਸਮਾਜਿਕ ਸੰਤੁਲਨ ਲਈ, ਸਮਾਜਿਕ ਕੁਸ਼ਲਤਾ ਲਈ ਇਹ ਬਹੁਤ ਜ਼ਰੂਰੀ ਹੈ
*ਸੰਚਾਰ ਦੀਆਂ ਬੁਨਿਆਦੀ ਮਾਨਸਿਕ ਪ੍ਰਕਿਰਿਆਵਾਂ ਜਿਵੇਂ ਵਿਚਾਰਾਂ ਨੂੰ ਸੰਗਠਿਤ ਕਰਨਾ; ਅਭਿਵਿਅਕਤੀ ਲਈ ਮਾਨਸਿਕ ਤੌਰ ਤੇ ਤਿਆਰ ਹੋਣਾ, ਸ਼ਬਦ ਚੋਣ, ਅਭਿਵਿਅਕਤੀ ਦੀ ਚਲਦੀ ਪ੍ਰਕਿਰਿਆ ਦੇ ਨਾਲੋ-ਨਾਲ ਵਾਕ ਰਚਨਾ ਕਰਨਾ ਆਦਿ ਦਾ ਅਭਿਆਸ ਮੌਖਿਕ-ਪ੍ਰਗਟਾਅ ਵਿੱਚ ਆਸਾਨੀ ਨਾਲ ਹੋ ਜਾਂਦਾ ਹੈ
*ਮੌਖਿਕ-ਪ੍ਰਗਟਾਓ ਤੋਂ ਪਿੱਛੋਂ ਭਾਸ਼ਾ ਲਿਖਣਾ ਅਤੇ ਪੜ੍ਹਣਾ ਸਿਖਾਉਣ ਆਸਾਨੀ ਨਾਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ
*ਸਕੂਲ ਸਿੱਖਿਆ ਦੇ ਹਰ ਪੱਖ ਵਿਚ, ਹਰ ਵਿਸ਼ੇ ਲਈ ਵਿਦਿਆਰਥੀ ਨੂੰ ਮੌਖਿਕ ਕਾਰਜ ਦੀ ਲੋੜ ਪੈਂਦੀ ਹੈ। ਇਸ ਦੇ ਸਹਾਰੇ ਉਹ ਅਧਿਆਪਕ ਨਾਲ ਗਲਬਾਤ ਕਰਦਾ ਹੈ, ਪ੍ਰਸ਼ਨ ਕਰਦਾ ਹੈ, ਪੁੱਛੇ ਗਏ ਪ੍ਰਸ਼ਨਾ ਦਾ ਜਵਾਬ ਦਿੰਦਾ ਹੈ, ਸਾਥੀ ਵਿਦਿਆਰਥੀਆਂ ਨਾਲ ਗਲਬਾਤ ਕਰਦਾ ਹੈ।
*ਮੌਖਿਕ ਪ੍ਰਗਟਾਉ ਵਿਦਿਆਰਥੀ ਦੇ ਆਤਮ ਵਿਸ਼ਵਾਸ ਨੂੰ ਵਧਾਉਂਦਾ ਹੈ, ਸ਼ਖਸੀਅਤ ਦਾ ਸਰਬ-ਪੱਖੀ ਵਿਕਾਸ ਕਰਦਾ ਹੈ
!ਅਭਿਆਸ ਕਿਰਿਆਵਾਂ
''ਅਧਿਆਪਕ-ਵਿਦਿਆਰਥੀ ਵਾਰਤਾਲਾਪ''- ਅਧਿਆਪਕ-ਵਿਦਿਆਰਥੀ ਵਾਰਤਾਲਾਪ ਮੌਖਿਕ ਪ੍ਰਗਟਾਅ ਲਈ ਬੜੀ ਢੁਕਵੀਂ ਬੁਨਿਆਦ ਸਾਬਿਤ ਹੋ ਸਕਦਾ ਹੈ। ਕਿਸੇ ਸਾਧਾਰਣ ਵਿਸ਼ੇ ਤੇ ਕੀਤੀ ਹੋਈ ਗੱਲਬਾਤ ਵਿਦਿਆਰਥੀ ਨੂੰ ਇਕ ਅਜਿਹੀ ਅਭਿਆਸ ਸਥਿਤੀ  ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ ਜੋ ਔਪਚਾਰਿਕ ਅਤੇ ਆਯੋਜਿਤ ਸਥਿਤੀ ਦੇ ਮੁਕਾਬਲੇ ਤਣਾਓ-ਰਹਿਤ ਹੁੰਦੀ ਹੈ। ਇਸ ਦੇ ਨਾਲ-ਨਾਲ ਸਾਧਾਰਣ ਗੱਲਬਾਤ ਵਿੱਚ ਪ੍ਰਯੋਗ ਹੁੰਦੀ ਅਨਔਪਚਾਰਿਕ ਸ਼ਬਦਾਵਲੀ ਅਤੇ ਵਾਕ-ਸ਼ੈਲੀ ਵੀ ਵਿਦਿਆਰਥੀ ਨੂੰ ਆਪਣੇ ਜੀਵਨ ਵਿਚ ਕੰਮ ਆਉਣ ਵਾਲੇ ਕੌਸ਼ਲ ਵਿਚ ਕੁਸ਼ਲ ਬਣਾਉਂਦਾ ਹੈ। 
ਅਧਿਆਪਕ ਨੂੰ ਵਿਦਿਆਰਥੀ ਦੀ ਦਿਲਚਸਪੀ ਮੁਤਾਬਿਕ ਰੋਜ਼ਾਨਾ ਜੀਵਨ ਬਾਰੇ, ਸਕੂਲ' ਚ ਚਲ ਰਹੀ ਕਿਸੇ ਗਤੀ-ਵਿਧੀ ਬਾਰੇ, ਖੇਡਾਂ ਜਾਂ ਮਨੋਰੰਜਨ ਬਾਰੇ ਗਲਬਾਤ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ। ਪਹਿਲੇ ਪਹਿਲ ਅਧਿਆਪਕ ਨੂੰ ਪ੍ਰਸ਼ਨਾਂ ਦੇ ਸਹਾਰੇ ਗੱਲਬਾਤ ਨੂੰ ਅੱਗੇ ਤੋਰਨਾ ਪਵੇਗਾ ਕਿਉਂਕਿ ਅਕਸਰ ਬੱਚੇ ਝਿਜਕਦੇ ਹੋਏ, ਸੰਖੇਪ ਜਿਹਾ ਜਵਾਬ ਦੇਕੇ ਚੁੱਪ ਹੋ ਜਾਂਦੇ ਹਨ। ਹੌਲੀ ਹੌਲੀ ਜਦੋਂ ਉਹਨਾਂ ਦੀ ਇਹ ਸੰਗ ਦੂਰ ਹੋਵੇਗੀ ਤਾਂ ਉਹ ਆਪੇ ਹੀ ਖੁੱਲ ਕੇ ਗੱਲਾਂ ਕਰਨ ਲਗ ਜਾਣਗੇ। ਅਜਿਹੀ ਗੱਲਬਾਤ ਪਾਠ ਉਪਰੰਤ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ ਜਾਂ ਕਲਾਸ ਤੋਂ ਬਾਹਰ ਕਿਸੇ ਵਿਹਲੇ ਸਮੇਂ ਵਿਚ ਵੀ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।

'' ਅਨੁਭਵ ਸਾਂਝੇ ਕਰਨੇ(ਛੁੱਟੀਆਂ ਬਾਰੇ, ਸੈਰ-ਸਪਾਟੇ ਬਾਰੇ, ਦੇਖੀਆਂ ਥਾਵਾਂ ਬਾਰੇ, ਕਿਸੇ ਉਤਸਵ ਅਦਿ ਬਾਰੇ) ''- ਇਸਨੂੰ ਪੂਰਵ-ਲਿਯੋਜਿਤ ਤੇ ਅਨਿਯੋਜਿਤ, ਦੋਵੇਂ ਢੰਗਾਂ ਨਾਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਵਿਦਿਆਰਥੀ ਨੂੰ ਆਪਣਾ ਅਨੁਭਵ ਸਾਰੀ ਜਮਾਤ ਦੇ ਨਾਲ ਸਾਂਝਾ ਕਰਣ ਲਈ ਸੱਦਾ ਦਿੱਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਪਹਿਲੇ ਪਹਿਲ ਅਧਿਆਪਕ ਨੂੰ ਪ੍ਰਸ਼ਨਾ ਦੇ ਸਹਾਰੇ ਵਿਦਿਆਰਥੀ ਨੂੰ ਦਿਸ਼ਾ ਦਿਖਾਉਣੀ ਪੈ ਸਕਦੀ ਹੈ। ਕਿਤੇ ਕਿਤੇ ਉਸਨੂੰ ਵਿਦਿਆਰਥੀ ਦੇ ਅਸਪਸ਼ਟ ਪ੍ਰਗਟਾਅ ਨੂੰ ਆਪਣੇ ਸ਼ਬਦਾਂ ਨਾਲ ਬੇਹਤਰ ਵੀ ਕਰਨਾ ਪਵੇਗਾ। ਇਹ ਅਭਿਆਸ ਵਿਸ਼ੇਸ ਤੌਰ ਤੇ ਲੰਮੀਆਂ ਛੁੱਟੀਆਂ ਤੋਂ ਪਿੱਛੋਂ, ਦਿਵਾਲੀ ਆਦਿ ਤਿਉਹਾਰਾਂ ਪਿੱਛੋਂ ਕਰਵਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।

'' ਚਿਤਰ-ਵਰਣਨ '' - ਕਿਸੇ ਤਸਵੀਰ ਨੂੰ ਦਿਖਾ ਕੇ ਉਸ ਵਿਚਲੇ ਦ੍ਰਿਸ਼ ਜਾਂ ਕਿਸੇ ਵਸਤੂ ਨੂੰ ਵਰਣਨ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾ ਸਕਦਾ ਹੈ। ਅਧਿਆਪਕ ਨੂੰ ਉਦਾਹਰਨ ਵੱਜੋਂ ਪਹਿਲਾਂ ਖੁਦ ਵਰਣਨ ਕਰਕੇ ਦਿਖਾਉਣਾ ਚਾਹੀਦਾ ਹੈ। ਵਰਣਨ ਦੇ ਅਨੇਕ ਪੱਖ ਜਿਵੇਂ ਵਸਤੂ ਦਾ ਰੂਪ, ਆਕਾਰ, ਰੰਗ, ਸਥਾਨ, ਪ੍ਰਯੋਗ ਆਦਿ ਨਾਲ ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਜਾਣੂ ਕਰਵਾਉਣਾ ਚਾਹੀਦਾ ਹੈ।

''ਕਹਾਣੀਆਂ ਸੁਣਾਉਣੀਆ''- ਕਹਾਣੀਆਂ ਸੁਣਨ ਵਿਚ ਹਰ ਬੱਚੇ ਦੀ ਰੁਚੀ ਹੁੰਦੀ ਹੈ। ਇਸ ਰੁਚੀ ਨੂੰ ਪ੍ਰੋਤਸਾਹਿਤ ਕਰਦੇ ਹੋਏ ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਆਪਣੇ ਸ਼ਬਦਾਂ ਵਿਚ ਕਹਾਣੀ ਕਹਿਣ ਲਈ ਕਿਹਾ ਜਾ ਸਕਦਾ ਹੈ। ਇਹ ਕਹਾਣੀਆਂ ਪਾਠ-ਪੁਸਤਕ ਵਿੱਚੋਂ ਪੜ੍ਹੀਆਂ, ਟੀ.ਵੀ. ਫਿਲਮਾਂ ਆਦਿ 'ਚ ਦੇਖਿਆਂ, ਜਾਂ ਮੌਖਿਕ ਰੂਪ 'ਚ ਕਿਤੋਂ ਸੁਣੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। 

ਕਹਾਣੀ ਸੁਣਾਉਣਾ ਇਕ ਵਿਲੱਖਣ ਪ੍ਰਗਟਾਅ ਹੈ; ਇਹ ਸਾਧਾਰਣ ਗੱਲਬਾਤੀ ਸੰਚਾਰ ਤੋਂ ਵਧੇਰੇ ਕਲਾਤਮਕ ਹੈ। ਇਸ ਵਿਚ ਕੇਵਲ ਹੀ ਸੁਨੇਹਾ ਮੁੱਖ ਨਹੀ, ਉਸਦੀ ਪੇਸ਼ਕਾਰੀ ਵੀ ਓਨੀ ਹੀ ਮਹੱਤਵਪੂਰਣ ਹੈ।

ਆਮ ਤੌਰ ਤੇ ਪਾਠ ਪੁਸਤਕ ਵਿਚ ਪੜ੍ਹੀ ਹੋਈ ਕਹਾਣੀ ਨੂੰ ਦੁਹਰਾਈ ਵੱਜੋਂ ਸੁਣਵਾਇਆ ਜਾ ਸਕਦਾ ਹੈ। ਅਕਸਰ ਦੇਖਿਆ ਜਾਂਦਾ ਹੈ ਕਿ ਵਿਦਿਆਰਥੀ ਕਹਾਣੀ ਸੁਣਾਉਣ ਜਾਂ ਆਪਣੇ ਸ਼ਬਦਾਂ'ਚ ਦੁਹਰਾਉਣ ਵਿਚ ਬੜੀ ਦਿਕਁਤ ਮਹਿਸੂਸ ਕਰਦੇ ਹਨ। ਉਹ ਥਾਂ ਥਾਂ ਤੇ ਅਟਕਦੇ ਹਨ, ਸ਼ਬਦਾਂ ਨੂੰ ਭੁਲਦੇ ਹਨ, ਕਈ ਵਾਕੰਸ਼ਾ ਨੂੰ ਬੇਲੋੜੇ ਦੁਹਰਾਉਂਦੇ ਹਨ ਅਤੇ ਪੁਸਤਕ ਵਿਚ ਪੜ੍ਹੇ ਬਣੇ-ਬਣਾਤੇ ਵਾਕਾਂ ਨੂੰ ਯਾਦ ਕਰਕੇ ਕਿਸੇ ਤਰ੍ਹਾਂ ਕਹਾਣੀ ਪੂਰੀ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਨ। ਲੰਮੇ ਵਾਕ ਅਤੇ ਘਟਨਾਵਾਂ ਦੇ ਵੇਰਵੇ ਆਦਿ ਗੁਣਾਂ ਦੀ ਘਾਟ ਮਹਿਸੂਸ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਹ ਸਭ ਅਣ-ਵਿਕਸਿਤ ਮੌਖਿਕ ਪ੍ਰਗਟਾਅ ਦੇ ਕਾਰਣ ਹੈ। ਇਸ ਲਈ ਅਧਿਆਪਕ ਨੂੰ ਚਾਹੀਦਾ ਹੈ ਕਿ ਉਹ ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਇਹਨਾਂ ਗੁਣਾਂ ਨੂੰ ਹਾਸਿਲ ਕਰਣ ਵਿਚ ਸਹਾਈ ਹੋਵੇ।

 
''ਪਾਠ ਆਧਾਰਿਤ ਪ੍ਰਸ਼ਨ-ਉੱਤਰ'' -  ਇਹ ਇਕ ਐਸੀ ਤਕਨੀਕ ਹੈ ਜਿਹੜੀ ਅਧਿਆਪਕ ਹਰ ਪਾਠ ਵਿਚ ਪ੍ਰਯੋਗ ਕਰ ਸਕਦਾ ਹੈ। ਪਾਠ ਆਧਾਰਿਤ ਦੁਹਰਾਈ ਅਤੇ ਗਿਆਨ ਨੂੰ ਸੁਦ੍ਰਿੜ ਕਰਣ ਦੇ ਨਾਲ ਨਾਲ ਇਹ ਵਿਦਿਆਰਥੀਆਂ ਦੇ ਮੌਖਿਕ ਪ੍ਰਗਟਾਓ ਨੂੰ ਵੀ ਵਿਕਸਿਤ ਕਰਦੀ ਹੈ। ਪਰੰਤੂ ਇਸਦੇ ਪ੍ਰਯੋਗ ਵੇਲੇ ਵਿਦਿਆਰਥੀਆਂ ਦੀ ਮੌਲਿਕ ਅਤੇ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਵਾਕ-ਰਚਨਾ ਵਲ ਧਿਆਨ ਦੇਣ ਦੀ ਲੋੜ ਹੈ। ਜਿਵੇਂ ਉੱਤੇ ਜ਼ਿਕਰ ਕੀਤਾ ਗਿਆ ਹੈ ਵਿਦਿਆਰਥੀ ਅਕਸਰ ਜਾਂ ਤਾਂ ਕਿਤਾਬੀ ਅਤੇ ਯਾਦ-ਕੀਤੇ ਵਾਕਾਂ ਦਾ ਸਹਾਰਾ ਲੈਂਦੇ ਹਨ ਜਾਂ ਕੇਵਲ ਇਕ ਸ਼ਬਦੀ ਉੱਤਰ ਦੇਕੇ ਕੰਮ ਚਲਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਨ। ਅਧਿਆਪਕ ਨੂੰ ਇਕ ਸ਼ਬਦੀ ਉਤਰਾਂ ਦੀ ਜ਼ਿਆਦਾ ਵਰਤੋਂ ਨਹੀਂ ਕਰਨੀ ਚਾਹੀਦੀ, ਸਗੋਂ ਅਜਿਹੇ ਲਘੂ-ਉੱਤਰੀ ਪ੍ਸ਼ਨ ਵਧੇਰੇ ਪੁੱਛਣੇ ਚਾਹੀਦੇ ਹਨ। ਵਿਦਿਆਰਥੀ ਵੱਲੋਂ ਪ੍ਰਾਪਤ ਹੋਏ ਉੱਤਰ ਨੂੰ ਲੋੜ ਮੁਤਾਬਿਕ ਬਿਹਤਰ ਕਰਕੇ ਸਾਰੀ ਜਮਾਤ ਨੂੰ ਸੁਣਾਉਣਾ ਚਾਹੀਦਾ ਹੈ। ਪਾਠ ਦੀ ਦੁਹਰਾਈ ਜਾਂ ਵਿਕਾਸ ਕਰਦੇ ਹੋਏ ਵਿਦਿਆਰਥੀ ਦੇ ਮੌਖਿਕ ਪ੍ਰਗਟਾਉ ਦੇ ਪੱਖ ਨੂੰ ਹਮੇਸ਼ਾ ਯਾਦ ਰੱਖਣਾ ਚਾਹੀਦਾ ਹੈ।

''ਉੱਚੀ ਵਾਚਨ'' - ਮੌਖਿਕ ਪੱਖ ਵਿਚ ਕਮੀ ਕਾਰਣ ਅਕਸਰ ਵਿਦਿਆਰਥੀ ਲਿਖਿਤ ਪਾਠ ਦਾ ਉੱਚੀ ਵਾਚਨ ਠੀਕ ਢੰਗ ਨਾਲ ਨਹੀਂ ਕਰ ਪਾਉਂਦੇ। ਆਮ ਦੇਖਣ ਵਿਚ ਆਉਂਦਾ ਹੈ ਕਿ ਵਾਚਨ ਕਰਣ ਲੱਗਿਆਂ ਵਿਦਿਆਰਥੀ ਵਿਸ਼ਰਾਮ ਚਿੰਨ੍ਹਾਂ ਉੱਤੇ ਲੋੜੀਂਦਾ ਠਹਿਰਾਓ ਨਹੀਂ ਦਿੰਦੇ। ਸਾਰੇ ਪਾਠ ਨੂੰ ਇਕ ਨੀਰਸ ਅੰਤਹੀਣ ਵਾਕ ਵਾਂਗੂੰ ਪੜ੍ਹਿਆ ਜਾਂਦਾ ਹੈ । ਇਕ ਚੰਗੇ ਵਾਚਨ ਵਿਚ ਉਚਿਤ ਠਹਿਰਾਓ ਦੇ ਨਾਲ ਨਾਲ ਉਚਿਤ ਲਹਿਜ਼ਾ ਅਤੇ ਭਾਵ ਵੀ ਜ਼ਰੂਰੀ ਹੈ। ਅਧਿਆਪਕ ਨੂੰ ਇਹਨਾਂ ਪੱਖਾਂ ਦਾ ਖਿਆਲ ਰੱਖਣਾ ਚਾਹੀਦਾ ਹੈ। 
ਇਸ ਕਾਰਜ ਲਈ ਪਾਠ ਪੁਸਤਕ ਵਿਚਲੀਆਂ ਕਹਾਣੀਆਂ, ਲੇਖ ਆਦਿ ਤੋਂ ਇਲਾਵਾ ਅਧਿਆਪਕ ਅਖਬਾਰਾਂ ਅਤੇ ਪੁਸਤਕਾਲੇ 'ਚੋਂ ਲਈਆਂ ਕਿਤਾਬਾਂ ਦੇ ਚੋਣਵੇ ਲੇਖ, ਕਹਾਣੀਆਂ ਆਦਿ ਦਾ ਪ੍ਰਯੋਗ ਵੀ ਕਰ ਸਕਦਾ ਹੈ। 

''ਨਿੱਕੇ ਭਾਸ਼ਨ'' - ਭਾਸ਼ਣ ਕਰਣ ਲੱਗਿਆਂ ਭੈ, ਘਬਰਾਹਟ ਅਤੇ ਚਿੰਤਾ ਵਿਚ ਗ੍ਰਸੇ ਜਾਣਾ, ਤਿਆਰ ਕੀਤੀਆਂ ਸਤਰਾਂ ਦਾ ਭੁਲ ਜਾਣਾ, ਗਲਾ ਖੁਸ਼ਕ ਹੋ ਜਾਣਾ ਆਦਿ ਆਮ ਅਨੁਭਵ ਹਨ। ਕਿਸੇ ਇਕੱਠ ਸਾਹਮਣੇ ਕੁਸ਼ਲਤਾ ਨਾਲ ਬੋਲਣਾ ਸਚਮੁਚ ਹੌਂਸਲੇ ਵਾਲਾ ਕੰਮ ਹੈ। ਮੌਖਿਕ ਪ੍ਰਗਟਾਅ ਦੀ ਸਿੱਖਿਆ ਇਸ ਦੇ ਅਭਿਆਸ ਤੋਂ ਬਿਨਾ ਸਦਾ ਅਧੂਰੀ ਰਹਿੰਦੀ ਹੈ। ਸਾਧਾਰਣ ਗੱਲਬਾਤ ਅਤੇ ਭਾਸ਼ਣ ਵਿੱਚ ਅੰਤਰ ਹੈ। ਇਕ ਭਾਸ਼ਣ ਵਿਚ ਉੱਚੀ ਬੋਲਣਾ, ਸ਼ਬਦ ਦੇ ਸਾਰੇ ਅੰਸ਼ਾਂ ਨੂੰ ਸਪਸ਼ਟ ਬੋਲਣਾ, ਸ਼ੁਧ ਉਚਾਰਣ ਸਹਿਤ ਬੋਲਣਾ, ਵੰਨ-ਸੁਵੰਨਤਾ ਯੁਕਤ ਪ੍ਰਗਟਾਅ-ਸ਼ੈਲੀ ਨਾਲ ਬੋਲਣਾ, ਉਚਿਤ ਗਤੀ ਨਾਲ ਬੋਲਣਾ, ਸਹੀ ਸ਼ਰੀਰਕ ਮੁਦ੍ਰਾ ਬਣਾ ਕੇ ਰੱਖਣਾ ਆਦਿ ਵਿਸ਼ੇਸ ਮਹੱਤਵ ਰੱਖਦੇ ਹਨ। ਇਕ ਅਸਰਦਾਰ ਭਾਸ਼ਣ ਵਿਚ ਜਿਥੇ ਤਰਕ ਅਤੇ ਦਲੀਲ ਸ਼ਾਮਿਲ ਰਹਿੰਦੀ ਹੈ ਓਥੇ ਸ੍ਰੋਤਿਆਂ ਵਾਸਤੇ ਇਕ ਭਾਵੁਕ ਅਪੀਲ ਵੀ ਇਸਦਾ ਇਕ ਮੱਹਤਵਪੂਰਣ ਪੱਖ ਹੈ।

ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਕੁਝ ਢੁਕਵੇਂ ਵਿਸ਼ੇ ਦੇਕੇ, ਆਪਣੀ ਸ਼੍ਰੇਣੀ ਦੇ ਸਾਹਮਣੇ ਨਿੱਕੇ ਨਿੱਕੇ ਭਾਸ਼ਣ ਦੇਣ ਲਈ ਤਿਆਰ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ਪਹਿਲਾਂ ਪਹਿਲ ਉਹਨਾਂ ਨੂੰ ਕਾਗਜ਼ ਉੱਤੇ ਲਿਖੇ ਹੋਏ ਭਾਸ਼ਣ ਤੋਂ ਪੜ੍ਹਣ ਦੀ ਇਜਾਜ਼ਤ ਦੇਣੀ ਚਾਹੀਦੀ ਹੈ। ਹੌਲੀ ਹੌਲੀ ਉਹਨਾਂ ਨੂੰ ਬਿਨਾ ਪੜ੍ਹਨ ਤੋਂ ਬਿਨਾ ਬੋਲਣ ਲਈ ਤਿਆਰ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।

''ਵਾਦ-ਵਿਵਾਦ'' - ਭਾਸ਼ਣ ਜਿਥੇ ਪਹਿਲਾਂ ਤੋਂ ਤਿਆਰ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਓਥੇ ਵਾਦ-ਵਿਵਾਦ ਵਿਚ ਅਜਿਹਾ ਕੇਵਲ ਕੁਝ ਹੱਦ ਤਕ ਹੀ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਵਾਦ ਵਿਵਾਦ ਵਿਚ ਜਿੱਤ ਹਾਸਿਲ ਕਰਣ ਲਈ ਭਾਸ਼ਣ ਕਲਾ ਦੇ ਸਾਰੇ ਗੁਣਾਂ ਦੇ ਨਾਲ ਨਾਲ ਕੁਝ ਹੋਰ ਗੁਣਾ ਦੀ ਵਿ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਕਿਸ਼ੇ ਵਿਸ਼ੇ ਦੇ ਪੱਖ ਜਾਂ ਵਿਪੱਖ ਵਿਚ ਆਪਣੀਆਂ ਦਲੀਲਾਂ ਦੇਣ ਦੇ ਨਾਲ ਨਾਲ ਵਿਰੋਧੀ ਦੀਆਂ ਦਲੀਲਾਂ ਨੂੰ ਧਿਆਨ ਨਾਲ ਸੁਣ ਕੇ ਓਹਨਾਂ ਨੂੰ ਕਟਣਾ ਵੀ ਪੈਂਦਾ ਹੈ। ਇਸ ਕਾਰਜ ਵਿਚ ਬਹੁਤ ਮਾਨਸਿਕ ਮੁਸਤੈਦੀ ਜਾਂ ਸਤਰਕਤਾ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਵਾਦ-ਵਿਵਾਦ ਦਾ ਅਨੁਭਵ ਇਸ ਪੱਖੋਂ ਵੀ ਵਿਸ਼ੇਸ਼ ਹੈ ਕਿ ਇਸ ਵਿਚ ਵਕਤਾ ਨੂੰ ਉੱਤੇਜਿਤ ਵਾਤਾਵਰਣ ਅਤੇ ਸਮੇਂ ਦੀ ਪਾਬੰਦੀ ਵਿਚ ਰਹਿੰਦਿਆਂ ਹੋਇਆਂ ਬਹੁਤ ਮਾਨਸਿਕ ਦਬਾਓ ਵਿਚ ਬੋਲਣਾ ਪਹਿੰਦਾ ਹੈ। ਅਜਿਹਾ ਅਨੁਭਵ ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਆਤਮ-ਬਲ ਪ੍ਰਦਾਨ ਕਰਣ ਵਿਚ ਸਹਾਇਕ ਹੁੰਦਾ ਹੈ।

''ਸਮੂਹ-ਗੋਸ਼ਟੀ'' - ਵਿਚਾਰ ਗੋਸ਼ਟੀ ਵਿਚ ਵਾਦ-ਵਿਵਾਦ ਵਾਂਗੂ ਹੀ ਕਿਸੇ ਵਿਸ਼ੇ ਤੇ ਵਿਚਾਰ ਪ੍ਰਗਟ ਕੀਤੇ ਜਾਂਦੇ ਹਨ, ਪਰ ਅੰਤਰ ਇਹ ਹੈ ਕਿ ਇਸ ਵਿਚ ਕਿਸੇ ਇਕ ਪੱਖ ਨੂੰ ਪੂਰਨਾ ਜ਼ਰੂਰੀ ਨਹੀਂ ਹੁੰਦਾ। ਵਕਤਾ ਕਿਸੇ ਵਿਸ਼ੇ ਤੇ ਪੱਖ ਤੇ ਵਿਪੱਖ ਦੋਨੋ ਵਿਚਾਰ ਪੇਸ਼ ਕਰ ਸਕਦਾ ਹੈ। ਬਲਕਿ ਕਿਸੇ ਵਿਸ਼ੇ ਨੂੰ ਸਹੀ ਗਲਤ ਸਾਬਿਤ ਕਰਣ ਤੋਂ ਅੱਗੇ ਜਾਕੇ ਕਈ ਤਲਾਂ ਤੇ ਪੜਚੋਲਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਦਰਅਸਲ ਸਮੂਹ ਗੋਸ਼ਟੀ ਕਿਸੇ ਵਿਸ਼ੇ ਦੇ ਫੈਲਾਓ ਅਤੇ ਗਹਿਰਾਈ ਨੂੰ ਪੜਚੋਲਕੇ ਉਸਦੇ ਸੱਚ ਨੂੰ ਲਭਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਹੈ। 

''ਨਾਟਕ'' - 

''ਕਵਿਤਾ-ਪਾਠ'' - ਕਵਿਤਾ ਵਾਚਨ ਸਾਡੇ ਭਾਸ਼ਾ-ਅਧਿਆਪਨ ਦਾ ਇਕ ਅਣਗੌਲਿਆ ਪੱਖ ਹੈ। ਇਕ ਚੰਗੇ ਕਾਵਿ-ਵਾਚਨ ਵਿਚ ਲੈਆਤਮਕਤਾ, ਸੁਰ-ਲਹਿਰ ਦਾ ਉਤਰਾਅ-ਚੜ੍ਹਾਅ ਅਤੇ ਤਾਲ ਸ਼ਾਮਿਲ ਹੁੰਦੀ ਹੈ। ਇਹ ਗੁਣ ਵਿਸ਼ੇਸ਼ ਤੌਰ ਤੇ ਕਵਿਤਾ ਵਾਚਨ 'ਚ ਹੀ ਪਾਏ ਜਾਂਦੇ ਹਨ। ਇੰਝ ਇਸ ਨੂੰ ਮੌਖਿਕ-ਪ੍ਰਗਟਾਅ ਦੀਆਂ ਅਭਿਆਸ ਕਿਰਿਆਵਾਂ 'ਚ ਸ਼ਾਮਲ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ। ਵਿਦਿਆਰਥੀ ਦੇ ਆਤਮ-ਵਿਸ਼ਵਾਸ਼ ਨੂੰ ਵਧਾਉਣ ਵਾਸਤੇ ਸਾਰੀ ਜਮਾਤ ਸਾਹਮਣੇ ਉਚੀ ਵਾਚਨ ਕਰਣ ਲਈ ਉਤਸਾਹਿਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
/%
!out
$1
!end
%/<<tiddler ColorFool##out with: {{
var tid='$1';
if(tid=='$'+'1') tid='ColorPalette';
var out="This tiddler has been taken from verticalTabs.tiddlyspot.com\n";
out+='!Here are all the colors defined in ' + tid + ':\n|width:120px; color |width:60px; #hex |width:150px; sample |h\n';
var cols = store.calcAllSlices(tid);
for(var c in cols) {
	if(cols[c].match(/^#[0-9A-F]{3}$|^#[0-9A-F]{6}$|^RGB\([\d,\s]{5,}\)$/i)||['Black', 'Green', 'Silver', 'Lime', 'Gray', 'Olive', 'White', 'Yellow','Maroon', 'Navy', 'Red', 'Blue', 'Purple', 'Teal', 'Fuchsia', 'Aqua', 'Orange'].contains(cols[c])) {
    out+='| [['+c+'|'+tid+']]| {{{'+cols[c]+'}\}\} |padding:5px 2px; @@padding:5px 10em;background-color:'+cols[c]+';&nbsp;@@|\n';
  }
}
out;}}
>>
Background: #f3f3f3
Foreground: #000
PrimaryPale: #ccff66
PrimaryLight: #93e318
PrimaryMid: #336600
PrimaryDark: #225500
SecondaryPale: #B0E0E6
SecondaryLight: #ADD8E6
SecondaryMid: #B0C4DE
SecondaryDark: #4682B4
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
<html><nowiki>
<h1>Gender | ਲਿੰਗ </h1>
<p>Every noun in Punjabi language has a grammatical gender. This includes nouns of non-living things too. There are two genders in punjabi:</p> <p> Masculine - ਪੁਲਿੰਗ and Feminine - ਇਸਤ੍ਰੀ ਲਿੰਗ  </p>
<p> 
The gender of a noun affects the adjectives and verbs in the sentences. A male child is known as ਬੱਚਾ and a female child is known as ਬੱਚੀ. The adjective <b> lovable </b> would change according to gender when used with this noun eg. <b>ਪਿਆਰਾ</b> ਬੱਚਾ and <b>ਪਿਆਰੀ</b> ਬੱਚੀ </b>. Similarly the verb 'cry' is ' ਰੋਣਾ' which when used in present indefinite tense would be ਰੋਂਦਾ (masculine)  or ਰੋਂਦੀ (feminine). So we can write <b> ਬੱਚਾ ਰੋਂਦਾ ਹੈ </b>(child(boy) cries) and <b> ਬੱਚੀ ਰੋਂਦੀ ਹੈ </b> (child(girl) cries.
</p>
<h3> Examples of Masculine nouns | ਪੁਲਿੰਗ ਨਾਂਵ </h3>
<table class="softGreenTable" >
<tr>
     <td> ਪੁੱਤ </td> <td> Son </td>
</tr><tr>
     <td> ਪਹਾੜ </td> <td> Hill </td>
</tr><tr>
     <td> ਗਿੱਦੜ </td> <td> jackal </td>
</tr><tr>
     <td> ਘੋੜਾ </td> <td> Horse </td>
</tr><tr>
     <td> ਰਾਜਾ </td> <td> King </td>
</tr><tr>
     <td> ਕੰਡਾ </td> <td> Thorn </td>
</tr><tr>
     <td> ਦੁੱਖ </td> <td> Misery </td>
</tr>
</table>

<h3> Examples of Feminine nouns | ਇਸਤ੍ਰੀ ਲਿੰਗ ਨਾਂਵ </h3>
<table class="softGreenTable">
<tr>
     <td>ਰਾਣੀ </td> <td> Queen</td>
</tr><tr>
     <td>ਧੀ </td> <td> Daughter </td>
</tr><tr>
     <td> ਮੱਝ </td> <td> Buffalo </td>
</tr><tr>
     <td>ਜਿੰਦ  </td> <td> life </td>
</tr><tr>
     <td> ਧੁਪ </td> <td> Sunlight </td>
</tr><tr>
     <td> ਪੌੜੀ </td> <td> Stairs </td>
</tr>
</table>

<p>Often, it is possible to convert a masculine noun into a feminine one by following certain common patterns.</p>

<h2>Masculine to Feminine | ਪੁਲਿੰਗ ਤੋਂ ਇਸਤ੍ਰੀ ਲਿੰਗ</h2>

<h3>1. Masculine nouns ending with a Mukta </h3>
<p>
A Mukta is consonant which does not have a lug/matra or a vowel symbol attached to it. For masculine nouns ending with a mukta following are the common ways to convert it to a feminine nouns.
</p>

<h4> Appending a Bihari (ੀ) at the end. </h4>
<table class="softGreenTable">
<tr>
     <th> Masculine (ਪੁਲਿੰਗ) </th> <th> Feminine (ਇਸਤ੍ਰੀ ਲਿੰਗ) </th><th> Pronunciation </th>
</tr>
<tr>
     <td>ਹਿਰਨ <br><small>(Deer)</small> </td> <td>ਹਿਰਨੀ<br><small>(Doe)</small> </td><td> </td>
</tr>
<tr>
     <td>ਕੁੱਕੜ <br><small>(Cock)</small> </td> <td> ਕੁੱਕੜੀ <br><small>(hen)</small> </td><td> </td>
</tr>
<tr>
     <td>ਦੇਵ <br><small>(god)</small> </td> <td>ਦੇਵੀ <br><small>(goddess)</small> </td><td> </td>
</tr>
<tr>
     <td>ਪਹਾੜ <br><small>(hill)</small> </td> <td> ਪਹਾੜੀ <br><small>(hillock)</small> </td><td> </td>
</tr>
<tr>
     <td>ਜੱਟ <br><small>( A male of a punjabi farmer caste)</small> </td> <td>ਜੱਟੀ <br><small>(A women from the same caste)</small> </td><td> </td>
</tr>
</table>

<h4>Appending a Kanna (ਾ) at the end </h4>
<table class="softGreenTable">
<tr>
     <th> Masculine (ਪੁਲਿੰਗ) </th> <th> Feminine (ਇਸਤ੍ਰੀ ਲਿੰਗ) </th><th>Pronounciation</th>
</tr><tr>
     <td>ਅਧਿਆਪਕ <br><small>(Teacher)</small> </td> <td>ਅਧਿਆਪਕਾ <br><small>(Lady teacher)</small> </td><td> </td>
</tr><tr>
     <td>ਸੇਵਕ <br><small>(Male servant)</small> </td> <td>ਸੇਵਕਾ <br><small>(Female servant)</small> </td><td> </td>
</tr><tr>
     <td>ਨਾਇਕ <br><small>(Hero)</small> </td> <td> ਨਾਇਕਾ <br><small>(Heroin)</small> </td><td> </td>
</tr><tr>
     <td>ਨਰਤਕ <br><small>(Dancer)</small> </td> <td>ਨਰਤਕਾ <br><small>(Female Dancer)</small> </td><td> </td>
</tr><tr>
     <td>ਲੇਖਕ <br><small>(Author)</small> </td> <td>ਲੇਖਕਾ <br><small>(Authoress)</small> </td><td> </td>
</tr>
</table>


<h4>Appending ਣੀ at the end </h4>
<table class="softGreenTable">
<tr>
     <th> Masculine (ਪੁਲਿੰਗ) </th> <th> Feminine (ਇਸਤ੍ਰੀ ਲਿੰਗ) </th><th>Pronunciation</th>
</tr><tr>
     <td>ਉਸਤਾਦ <br><small>(Master)</small> </td> <td> ਉਸਤਾਦਣੀ <br><small>(Mistress)</small> </td><td> </td>
</tr><tr>
     <td>ਸੰਤ <br><small>(Saint)</small> </td> <td> ਸੰਤਣੀ <br><small>(Lady saint)</small> </td><td> </td>
</tr><tr>
     <td>ਸ਼ੀਹ <br><small>(Tiger)</small> </td> <td> ਸ਼ੀਹਣੀ <br><small>(Tigress)</small> </td><td> </td>
</tr><tr>
     <td> ਕੁੜਮ <br><small>(Father-in-law of daughter/son)</small> </td> <td>ਕੁੜਮਣੀ <br><small> (Mother-in-law of daughter/son) </small> </td><td>  </td>
</tr><tr>
     <td>ਰਾਗ <br><small>(A melodic mode of classical music)</small> </td> <td> ਰਾਗਣੀ <br><small>(Some melodic modes are feminine)</small> </td><td> </td>
</tr>
</table>


<h4>Appending ਨੀ at the end </h4>
<table class="softGreenTable">
<tr>
     <th> Masculine (ਪੁਲਿੰਗ) </th> <th> Feminine (ਇਸਤ੍ਰੀ ਲਿੰਗ) </th><th>Pronunciation </th>
</tr><tr>
     <td>ਸਰਦਾਰ <br><small>(A Sikh man) </small> </td> <td> ਸਰਦਾਰਨੀ <br><small> (A Sikh woman) </small> </td><td> </td>
</tr><tr>
     <td>ਸ਼ੇਰ <br><small>(Lion)</small> </td> <td> ਸ਼ੇਰਨੀ <br><small>(Lioness)</small> </td><td> </td>
</tr><tr>
     <td>ਮੋਰ <br><small>(Peacock)</small> </td> <td> ਮੋਰਨੀ <br><small>(Peahen)</small> </td><td> </td>
</tr><tr>
     <td>ਡਾਕਟਰ <br><small>(Doctor)</small> </td> <td> ਡਾਕਟਰਨੀ <br><small>(Lady doctor)</small> </td><td> </td>
</tr>
</table>

<h4>Appending ਾ+ਣੀ at the end </h4>
<table class="softGreenTable">
<tr>
     <th> Masculine (ਪੁਲਿੰਗ) </th> <th> Feminine (ਇਸਤ੍ਰੀ ਲਿੰਗ) </th><th> Pronunciation </th>
</tr><tr>
     <td>ਸੇਠ <br><small>(Traditional rich businessman)</small> </td> <td> ਸੇਠਾਣੀ (wife of a Seth) </td><td> </td>
</tr><tr>
     <td>ਜੇਠ <br><small>(Husband's elder brother)</small> </td> <td>ਜਿਠਾਣੀ <br><small>(Wife of husband's elder brother)</small> </td><td> </td>
</tr><tr>
     <td>ਨੌਕਰ <br><small>(Servant)</small> </td> <td>ਨੌਕਰਾਣੀ <br><small>(Maid)</small> </td><td> </td>
</tr><tr>
     <td>ਪ੍ਰੋਹਤ <br><small>(Priest)</small> </td> <td> ਪ੍ਰੋਹਤਾਣੀ (Wife of a priest) </td><td> </td>
</tr>
</table>


<h4>Appending 'ੜੀ' at the end </h4>
<table class="softGreenTable">
<tr>
     <th> Masculine (ਪੁਲਿੰਗ) </th> <th> Feminine (ਇਸਤ੍ਰੀ ਲਿੰਗ) </th><th> Pronunciation </th>
</tr><tr>
     <td> ਸੰਦੂਕ <br><small>(A large chest/trunk)</small> </td> <td> ਸੰਦੂਕੜੀ <br><small>( A small chest)</small> </td><td> </td>
</tr><tr>
     <td> ਬਾਲ <br><small>(Child)</small></td> <td> ਬਾਲੜੀ <br><small>(small girl)</small> </td><td> </td>
</tr>
</table>

<h3>2. Masculine nouns ending with a Bihari (ਿ) </h3>

<h4>Replacing the Bihari with a 'ਨ' </h4>
<table class="softGreenTable">
<tr>
     <th> Masculine (ਪੁਲਿੰਗ) </th> <th> Feminine (ਇਸਤ੍ਰੀ ਲਿੰਗ) </th><th>Pronunciation </th>
</tr><tr>
     <td> ਖਿਡਾਰੀ <br><small>(Player)</small> </td> <td>ਖਿਡਾਰਨ <br><small>(Girl player)</small></td><td> </td>
</tr><tr>
     <td>ਪਟਵਾਰੀ <br><small>(Village land official)</small> </td> <td> ਪਟਵਾਰਨ <br><small>(Wife of a patwari)</small></td><td> </td>
</tr><tr>
     <td> ਸ਼ਿਕਾਰੀ <br><small>(Hunter)</small> </td> <td> ਸ਼ਿਕਾਰਨ <br><small>(Woman hunter)</small> </td><td> </td>
</tr><tr>
     <td> ਕਸ਼ਮੀਰੀ <br><small>(One from Kashmir)</small> </td> <td> ਕਸ਼ਮੀਰਨ <br><small>(A woman from Kashmir)</small> </td><td> </td>
</tr>
</table>

<h4>Replacing the Bihari with a 'ਣ' </h4>
<table class="softGreenTable">
<tr>
     <th> Masculine (ਪੁਲਿੰਗ) </th> <th> Feminine (ਇਸਤ੍ਰੀ ਲਿੰਗ) </th><th>Pronunciation </th>
</tr><tr>
     <td> ਸਾਥੀ <br><small>(Companion)</small> </td> <td>ਸਾਥਣ <br><small>(Female companion)</small> </td><td> </td>
</tr> <tr>
     <td>ਗਿਆਨੀ <br><small>(Traditional wise man)</small> </td> <td> ਗਿਆਨਣ <br><small>(Traditional wise woman)</small> </td><td> </td>
</tr> <tr>
     <td>ਮਾਲੀ <br><small>(Gardener)</small> </td> <td> ਮਾਲਣ <br><small>(Woman gardener)</small> </td><td> </td>
</tr><tr>
     <td>ਗੁਆਂਡੀ <br><small>(Neighbour)</small> </td> <td>ਗੁਆਂਡਣ <br><small>(Woman neighbour)</small></td><td> </td>
</tr>
</table>

<h4>Replacing the Bihari with a ਿ+ 'ਣ' </h4>
<table class="softGreenTable">
<tr>
     <th> Masculine (ਪੁਲਿੰਗ) </th> <th> Feminine (ਇਸਤ੍ਰੀ ਲਿੰਗ) </th><th>Pronunciation </th>
</tr><tr>
     <td>ਸ਼ੁਦਾਈ <br><small>(A mad man)</small> </td> <td>ਸ਼ੁਦਾਇਣ <br><small>(A mad woman)</small> </td><td> </td>
</tr><tr>
     <td> ਨਾਈ <br><small>(Barber)</small> </td> <td> ਨਾਇਣ <br><small>(Wife of a barber)</small> </td><td> </td>
</tr><tr>
     <td> ਹਲਵਾਈ <br><small>(Sweetmeat seller)</small> </td> <td> ਹਲਵਾਇਣ <br><small>(Wife of a sweets seller)</small> </td><td> </td>
</tr>
</table>
<h3> Masculine nouns ending with a Kunna (ਾ) </h3>

<h4>Replacing the Kunna (ਾ) with a Bihari (ਿ) </h4>
<table class="softGreenTable">
<tr>
     <th> Masculine (ਪੁਲਿੰਗ) </th> <th> Feminine (ਇਸਤ੍ਰੀ ਲਿੰਗ) </th><th> Pronunciation</th>
</tr><tr>
     <td>ਦਾਦਾ <br><small>(Paternal Grandfather)</small> </td> <td>ਦਾਦੀ <br><small>(Paternal Grandmother)</small> </td><td> </td>
</tr><tr>
     <td>ਕਾਕਾ <br><small>(Young boy)</small> </td> <td>ਕਾਕੀ <br><small>(Young girl)</small> </td><td> </td>
</tr><tr>
     <td>ਖੁਰਪਾ <br><small>(Spud)</small> </td> <td>ਖੁਰਪੀ <br><small>(Small spud)</small> </td><td> </td>
</tr><tr>
     <td>ਚਰਖਾ <br><small>(Spinning Wheel)</small> </td> <td> ਚਰਖੀ <br><small>(Small spinning wheel)</small> </td><td> </td>
</tr><tr>
     <td>ਤਵਾ <br><small>(Flat baking pan)</small> </td> <td> ਤਵੀ <br><small>(Large flat pan)</small> </td><td> </td>
</tr>
</table>

<h4>Replacing the Kunna (ਾ) with a <ਬ>ਨ</ਬ> </h4>
<table class="softGreenTable">
<tr>
     <th> Masculine (ਪੁਲਿੰਗ) </th> <th> Feminine (ਇਸਤ੍ਰੀ ਲਿੰਗ) </th><th> Pronunciation</th>
</tr><tr>
     <td>ਸਪੇਰਾ <br><small>(Snake charmer)</small> </td> <td> ਸਪੇਰਨ <br><small>(Woman snake charmer)</small> </td><td> </td>
</tr><tr>
     <td>ਲੁਟੇਰਾ <br><small>(Robber)</small> </td> <td> ਲੁਟੇਰਨ <br><small>(A woman robber)</small> </td><td> </td>
</tr>
</table>

<h4>Replace the suffix ੀਆ with a <ਬ>ਨ</ਬ> </h4>
<table class="softGreenTable">
<tr>
     <th> Masculine (ਪੁਲਿੰਗ) </th> <th> Feminine (ਇਸਤ੍ਰੀ ਲਿੰਗ) </th><th> Pronunciation </th>
</tr><tr>
     <td> ਪਹਾੜੀਆ <br><small>(A man from mountains)</small> </td> <td> ਪਹਾੜਨ <br><small>(A woman from mountains)</small> </td><td> </td>
</tr><tr>
     <td>ਦੁਆਬੀਆ <br><small>(A man from Doab region of Punjab)</small> </td> <td>ਦੁਆਬਣ <br><small>(Woman from Doab region)</small></td><td> </td>
</tr><tr>
     <td>ਪੋਠੋਹਾਰੀਆ <br><small>(A man from Pothohar region of Punjab)</small> </td> <td> ਪੋਠੋਹਾਰਨ <br><small>(A woman from Pothohar)</small></td><td> </td>
</tr>
</table>


<div class="note">
<p>Usually the things that are large in size are referred to as Masculine and those small in size are referred to as feminine nouns. </p>
</div>
<table class="softGreenTable">
<tr>
     <th> Masculine (ਪੁਲਿੰਗ) </th> <th> Feminine (ਇਸਤ੍ਰੀ ਲਿੰਗ) </th> <th> Pronunciation </th>
</tr><tr>
     <td>ਛੁਰਾ <br><small>(A large knife)</small> </td><td>ਛੁਰੀ <br><small>(A small knife)</small> </td><td> </td>
</tr><tr>
     <td> ਡੱਬਾ <br><small>(Box)</small> </td><td> ਡੱਬੀ <br><small>(Small box)</small> </td><td> </td>
</tr><tr>
     <td> ਘੜਾ <br><small>(Pot)</small> </td><td>ਘੜੀ <br><small>(Small pot)</small> </td><td> </td>
</tr><tr>
     <td>ਪੱਖਾ <br><small>(Fan)</small> </td><td>ਪੱਖੀ <br><small>(Small fan)</small> </td><td> </td>
</tr><tr>
     <td>ਪਹਾੜ <br><small>(Hill)</small> </td><td>ਪਹਾੜੀ <br><small>(Hillock)</small> </td><td> </td>
</tr>
</table>

<p> Also note that there are many nouns which do not have a feminine counterpart <p>

<table class="softGreenTable">
<tr>
     <th> Masculine (ਪੁਲਿੰਗ) </th> <th> Feminine (ਇਸਤ੍ਰੀ ਲਿੰਗ) </th><th> Pronunciation </th>
</tr><tr>
     <td>ਦਾਣਾ <br><small>(Seed)</small> </td><td>-- </td><td> </td>
</tr><tr>
     <td> ਦਰਖ਼ਤ <br><small>(Tree)</small> </td><td> -- </td><td> </td>
</tr><tr>
     <td> ਹੰਕਾਰ <br><small>(Ego)</small> </td><td> -- </td><td> </td>
</tr><tr>
     <td>ਮਿਹਨਤ <br><small>(Hard work)</small> </td><td>-- </td><td> </td>
</tr><tr>
     <td>ਚੰਗਿਆਈ <br><small>(Goodness)</small> </td><td>-- </td><td> </td>
</tr>
</table>
<p> Then there are some words which are used by some as Masculine and Feminine by others eg. ਅਖਬਾਰ <small>(Newspaper)</small>, ਸਾਈਕਲ <small>(Cycle)</small>, ਥਾਂ <small>(Place)</small> </p>


</html>
!ਪੜ੍ਹਣਾ ਕੀ ਹੁੰਦਾ ਹੈ?
ਪੜ੍ਹਣ ਦਾ ਅਰਥ ਹੈ ਲਿਖਿਤ ਪਾਠ ਨੂੰ ਸਮਝਣਾ। ਇਸ ਪ੍ਰਕਿਰਿਆ ਦਾ ਸੰਬੰਧ ਸ਼ਬਦ ਪਹਿਚਾਣ ਅਤੇ ਪਾਠ-ਬੋਧ ਨਾਲ ਹੈ। ਲਿਖਿਤ ਪਾਠ ਮੌਖਿਕ ਭਾਸ਼ਾ ਨੂੰ ਚਿਹਨਾਂ ਦੇ ਸਹਾਰੇ ਕਾਗਜ਼ ਆਦਿ ਕਿਸੇ ਮਾਧਿਅਮ ਉਤੇ ਅੰਕਿਤ ਕਰਦਾ ਹੈ। ਪਹਿਚਾਣ ਦਾ ਸੰਬੰਧ ਲਿਖਿਤ ਚਿਨ੍ਹਾਂ ਨੂੰ ਮੌਖਿਕ ਭਾਸ਼ਾ ਵਿਚ ਵਰਤੇ ਜਾਂਦੇ ਚਿਨ੍ਹਾਂ ਨਾਲ ਜੋੜਣ ਦਾ ਹੈ। ਬੋਧ ਦਾ ਸੰਬੰਧ ਸ਼ਬਦਾਂ ਅਤੇ ਵਾਕਾਂ ਨੂੰ ਜੁੜਵੇਂ ਰੂਪ'ਚ ਸਮਝਣ ਨਾਲ ਹੈ। ਬੋਧ ਤੋਂ ਰਹਿਤ ਪੜਣਾ, ਕੇਵਲ ਪਹਿਚਾਣ ਤਲ ਤੇ ਪੜ੍ਹਣਾ ਦਰਅਸਲ ਪੜ੍ਹਣਾ ਨਹੀਂ ਹੁੰਦਾ। ਬੋਧ ਦੀ ਸ਼ਮੂਲੀਅਤ ਨਾਲ ਹੀ ਪੜ੍ਹਣ-ਪ੍ਰਕਿਰਿਆ ਪੂਰਣ ਹੁੰਦੀ ਹੈ। 

ਪਹਿਚਾਣ ਅਤੇ ਬੋਧ ਦੀ ਇਸ ਦੁਵੱਲੀ ਪ੍ਰਕਿਰਿਆ ਦੇ ਕਈ ਪੱਖ ਹਨ। ਇਸ ਵਿਚ ਪਾਠਕ ਦੇ ਪੂਰਵ-ਗਿਆਨ, ਪੂਰਵ-ਅਨੁਭਵ, ਵਿਆਕਰਣਕ-ਗਿਆਨ, ਸ਼ਬਦ-ਭੰਡਾਰ, ਪੂਰਵ ਪੜ੍ਹਣ-ਅਭਿਆਸ ਅਤੇ ਪੜ੍ਹਣ-ਪੈਂਤੜੇ ਸ਼ਾਮਿਲ ਹਨ। ਇਹੀ ਕਾਰਣ ਹੈ ਕਿ ਇਸ ਪ੍ਰਕਿਰਿਆ ਵਿਚ ਲਿਖਿਤ ਚਿਨ੍ਹਾਂ ਨੂੰ ਅਰਥ ਵਿਚ ਅਨੁਵਾਦਿਤ ਕਰਣ ਦੇ ਨਾਲ ਨਾਲ ਅਰਥ ਦੀ ਪੁਨਰ-ਸਿਰਜਣਾ ਵੀ ਸ਼ਾਮਿਲ ਹੁੰਦੀ ਹੈ।

ਸੋ ਇਹ ਜ਼ਾਹਿਰ ਹੈ ਕਿ ਪੜ੍ਹਣਾ ਇਕ ਨਿਸ਼ਕਿਰਿਆਤਮਕ ਪ੍ਰਕਿਰਿਆ ਨਹੀਂ ਸਗੋਂ ਇਕ ਬੜੀ ''ਸਕਿਰਿਆਤਮਕ ਅਤੇ ਜਟਿਲ ਪ੍ਰਕਿਰਿਆ'' ਹੈ ਜਿਸ ਵਿਚ ਪਾਠਕ ਨੂੰ ਬੌਧਿਕ ਤਲ ਤੇ ਪੂਰਾ ਰੁੱਝਣਾ ਪੈਂਦਾ ਹੈ। 


੧. ਮੌਖਿਕ ਭਾਸ਼ਾ ਅਤੇ ਪੜ੍ਹਣਾ
ਮੁਢਲੀ ਪੜ੍ਹਣ ਯੋਗਤਾ ਬੱਚੇ ਦੇ ਮੌਖਿਕ ਭਾਸ਼ਾ ਵਿਕਾਸ ਤੇ ਬਹੁਤ ਨਿਰਭਰ ਕਰਦੀ ਹੈ| ਆਮ ਤੌਰ ਤੇ ਇਕ ਚੰਗੇ ਮਾਹੌਲ ਵਿਚ ਪਲਯਾ ਬੱਚਾ 
੨. ਧੁਨੀਆਤਮਕ ਗਿਆਨ

੩. ਧਾਰਾਪ੍ਰਵਾਹ ਪੜ੍ਹਤ

੪. ਸ਼ਬਦ-ਭੰਡਾਰ

੫. ਪੂਰਵ-ਗਿਆਨ

੬. ਬੋਧ

੭. ਪ੍ਰੇਰਣਾ ਅਤੇ ਦਿਲਚਸਪੀ


[[Welcome]]
<html><nowiki>
<h1> Count | ਵਚਨ </h1>
<p>All the nouns are either Singular(ਇਕ ਵਚਨ) or Plural(ਬਹੁ ਵਚਨ) in count. Following are some rules for converting a singular noun into a plural one.</p>
<h2>Masculine Nouns | ਪੁਲਿੰਗ ਨਾਂਵ</h2>
<h3>Replace the suffixed Kunna(ਾ) with a Laan(ੇ) </h3>
<table class="softGreenTable">
<tr>
     <th>Singular | ਇਕ-ਵਚਨ </th>
     <th>Plural | ਬਹੁਵਚਨ </th>
     <th> Pronunciation</th>
</tr><tr>
     <td>ਕਾਕਾ </td>
     <td>ਕਾਕੇ </td>
     <td> </td>
</tr><tr>
     <td>ਪੱਖਾ </td>
     <td>ਪੱਖੇ </td>
     <td> </td>
</tr><tr>
     <td>ਡੱਬਾ </td>
     <td>ਡੱਬੇ </td>
     <td> </td>
</tr><tr>
     <td>ਘੋੜਾ </td>
     <td>ਘੋੜੇ </td>
     <td> </td>
</tr><tr>
     <td>ਪੱਤਾ </td>
     <td>ਪੱਤੇ </td>
     <td> </td>
</tr><tr>
</table>
<p>For all other masculine nouns, which do not end with a kunna(ਾ) , the plural form is the same as the singular</p>

<h2>Feminine Nouns | ਇਸਤ੍ਰੀ-ਲਿੰਗ ਨਾਂਵ </h3>

<h3>When the word is Mukta ended attach a ਾ+ਂ to the last Mukta letter</h3>
<table class="softGreenTable">
<tr>
     <th>Singular | ਇਕ-ਵਚਨ </th>
     <th>Plural | ਬਹੁਵਚਨ </th>
     <th>Pronunciation</th>
</tr><tr>
     <td>ਕਿਤਾਬ </td>
     <td>ਕਿਤਾਬਾਂ </td>
     <td> </td>
</tr><tr>
     <td>ਕਾਰ </td>
     <td>ਕਾਰਾਂ </td>
     <td> </td>
</tr><tr>
     <td>ਬਾਂਹ </td>
     <td>ਬਾਂਹਾ </td>
     <td> </td>
</tr><tr>
     <td>ਲੱਤ </td>
     <td>ਲੱਤਾਂ </td>
     <td> </td>
</tr><tr>
     <td>ਕਲਮ </td>
     <td>ਕਲਮਾਂ </td>
     <td> </td>
</tr>
</table>

<h3>when the word ends with a kunna (ਾ) OR kunna and a bindi (ਾ+ਂ) attach a ਵ+ਾ+ਂ=ਵਾਂ at the end</h3>

<table class="softGreenTable">
<tr>
     <th>Singular | ਇਕ-ਵਚਨ </th>
     <th>Plural | ਬਹੁਵਚਨ </th>
     <th>Pronunciation</th>
</tr><tr>
     <td>ਸਭਾ </td>
     <td>ਸਭਾਵਾਂ </td>
     <td> </td>
</tr><tr>
     <td>ਹਵਾ </td>
     <td>ਹਵਾਵਾਂ </td>
     <td> </td>
</tr><tr>
     <td>ਕਵਿਤਾ </td>
     <td>ਕਵਿਤਾਵਾਂ </td>
     <td> </td>
</tr><tr>
     <td>ਛਾਂ </td>
     <td>ਛਾਂਵਾਂ </td>
     <td> </td>
</tr><tr>
     <td>ਥਾਂ </td>
     <td>ਥਾਂਵਾਂ </td>
     <td> </td>
</tr><tr>
     <td>ਮਾ </td>
     <td>ਮਾਵਾਂ </td>
     <td> </td>
</tr>
</table>

<h3>When the word ends with either a Bihari (ੀ),a Dulaan (ੈ), an Aunkarh (ੁ),a Dulainkarh (ੂ) or a  Horha (ੋ) attach a (ਅ+ਾ+ਂ)=(ਆਂ) at the end</h3>
<table class="softGreenTable">
<tr>
     <th>Singular | ਇਕ-ਵਚਨ </th>
     <th>Plural | ਬਹੁਵਚਨ </th>
     <th>Pronunciation</th>
</tr><tr>
     <td>ਕਲੀ </td>
     <td>ਕਲੀਆਂ </td>
     <td> </td>
</tr><tr>
     <td>ਬੋਲੀ </td>
     <td>ਬੋਲੀਆਂ </td>
     <td> </td>
</tr><tr>
     <td>ਕੌਲੀ </td>
     <td>ਕੌਲੀਆਂ </td>
     <td> </td>
</tr><tr>
     <td>ਵਸਤੂ </td>
     <td>ਵਸਤੂਆਂ </td>
     <td> </td>
</tr><tr>
     <td>ਸਹੁੰ </td>
     <td>ਸਹੁੰਆਂ </td>
     <td> </td>
</tr>
</table>
<div class="note">
<p>
Noun words also change under effect of their relationship with other words in the sentence. These are their propositional forms. Sometimes even when the ordinary plural form is the same as the singular form, the prepositional plural form maybe different which may lead to a wrong conclusion that it (prepositional plural form) is the ordinary plural form. But when making plural of a singular only the rodinary form is to be considered.
</p>
<p>
In Punjabi plural forms are also used to denote respect. For example while speaking to or about a person who is to be accorded respect, the plural form of name or pronoun is used. The adjectives and verbs all change accordingly to their plural form.
</p>
<p style="text-decoration: underline; font-weight: bold;">Would you have some tea?</p>
<ul>
     <li>To a child: ਤੂੰ ਚਾਹ ਪੀਏਂਗਾ? (Singular pronoun and verb form)</li>
     <li>To a lady: ਤੁਸੀਂ ਚਾਹ ਪੀਓਂਗੇ? (Plural pronoun and verb form)</li>
</ul>

</div>
</html>
!ਪਾਠ ਯੋਜਨਾ
|ਜਮਾਤ: ਸੱਤਵੀਂ |ਵਿ.ਅਧਿ. ਦਾ ਰੋਲ ਨੰ:......... |
|ਸਮਾਂ: ੪੦ ਮਿੰਟ |ਵਿਸ਼ਾ: ਪੰਜਾਬੀ |
|ਮਿਤੀ: .......|ਉਪਵਿਸ਼ਾ: ਖੂਹ ਦਾ ਮਾਲਕ (ਕਹਾਣੀ) |
!ਵਿਸ਼ੇਸ ਉਦੇਸ਼:
__ਕਹਾਣੀ ਪੜ੍ਹਣ ਉਪਰੰਤ ਵਿਦਿਆਰਥੀ:__
੧ ਮਹਾਰਾਜਾ ਰਣਜੀਤ ਸਿੰਘ ਦੇ ਨਿਆਂ-ਪਸੰਦ ਚਰਿੱਤਰ ਬਾਰੇ ਦੱਸ ਸਕਣਗੇ।
੨ ਮਹਾਰਾਜਾ ਰਣਜੀਤ ਸਿੰਘ ਦੇ ਬੜੀ ਸੂਝ ਸਿਆਣਪ ਨਾਲ਼ ਵਿਧਵਾ ਔਰਤ ਨੂੰ ਉਸਦਾ ਹੱਕ ਦਵਾਉਣ ਬਾਰੇ ਦੱਸ ਸਕਣਗੇ।
੩ ਕਹਾਣੀ ਦਾ ਉਚਿਤ ਵਾਚਨ ਸਿੱਖ ਸਕਣਗੇ ।
੪ ਕਹਾਣੀ ਵਿਚਲੀ ਨੈਤਿਕ ਸਿੱਖਿਆ ਤੋਂ ਆਪਣੇ ਜੀਵਨ ਲਈ ਪ੍ਰੇਰਨਾ ਲੈ ਸਕਣਗੇ ।
੫ ਪਾਠ ਆਧਾਰਿਤ ਅਭਿਆਸ ਪੂਰਾ ਕਰ ਸਕਣਗੇ।
੬ ਪਾਠ ਵਿਚਲੇ ਨਵੇਂ ਸ਼ਬਦ ਸਿੱਖ ਕੇ ਪ੍ਰਯੋਗ ਕਰ ਸਕਣਗੇ।
!ਸਹਾਇਕ ਸਮੱਗਰੀ:
*ਕਹਾਣੀ ਨਾਲ਼ ਸੰਬੰਧਿਤ ਫਲੈਸ਼ ਕਾਰਡ
!ਪ੍ਰਸਤੁਤਿਕਰਣ 
ਵਿਦਿਆਰਥੀ-ਅਧਿਆਪਕ ਵਿਦਿਆਰਥੀਆਂ ਦੇ ਪੂਰਵ ਗਿਆਨ ਦਾ ਪ੍ਰਯੋਗ ਕਰੇਗਾ।
*ਭਾਰਤੀ ਇਤਿਹਾਸ ਵਿਚ ਕਈ ਕਹਾਨ ਰਾਜੇ-ਮਹਾਰਾਜੇ ਹੋਏ ਹਨ। ਕੁਝ ਇਤਿਹਾਸਕ ਸ਼ਾਸਕਾਂ ਦੇ ਨਾਮ ਦੱਸੋ।
*ਪੰਜਾਬ ਦਾ ਉਹ ਹਰਮਨ ਪਿਆਰਾ ਮਹਾਰਾਜਾ ਕੌਣ ਸੀ ਜਿਸ ਦਾ ਰਾਜ ਸਤਲੁਜ ਤੋਂ ਲੈਕੇ ਅਫ਼ਗਾਨਿਸਤਾਨ ਤੱਕ ਫੈਲਿਆ ਹੋਇਆ ਸੀ ?
ਮਹਾਰਾਜਾ ਰਣਜੀਤ ਸਿੰਘ ਆਪਣੀ ਪਰਜਾ ਨੂੰ ਪਿਆਰ ਕਰਣ ਵਾਲ਼ਾ ਸ਼ਾਸਕ ਸੀ। ਸਭ ਲੋਕ ਉਸਦਾ ਬੜਾ ਸਤਿਕਾਰ ਕਰਦੇ ਸਨ। ਉਹ ਲੋਕਾਂ ਦੀ ਮਦਦ ਕਰਨ ਲਈ ਹਮੇਸ਼ਾ ਤਿਆਰ ਰਹਿੰਦਾ ਸੀ। ਅੱਜ ਅਸੀਂ ਐਸੀ ਕਹਾਣੀ ਪੜ੍ਹਾਂਗੇ ਜਿਸ ਵਿੱਚ ਮਹਾਰਾਜਾ ਦਾ ਨਿਆ-ਪਸੰਦ ਚਰਿੱਤਰ ਸਾਫ਼ ਝਲਕਦਾ ਹੈ।
!ਭੂਮਿਕਾ
ਇਕ ਦਿਨ ਰਣਜੀਤ ਸਿੰਘ ਦੇ ਦਰਬਾਰ ਵਿੱਚ ਇੱਕ ਔਰਤ ਆਉਂਦੀ ਹੈ ਤੇ ਫਰਿਆਦ ਕਰਦੀ ਹੈ ਕਿ ਉਸ ਦੇ ਦਿਉਰ ਨੇ ਉਸਦੇ ਪੈਸਿਆਂ ਤੋਂ ਬਣਵਾਏ ਖੂਹ ਉੱਤੇ ਕਬਜ਼ਾ ਕਰ ਲਿਆ ਹੈ। ਪਤਾ ਚਲਦਾ ਹੈ ਇਸ ਗੱਲ ਦਾ ਕੋਈ ਗਵਾਹ ਨਹੀਂ ਹੈ ਤੇ ਸਭ ਇਹੀ ਸਮਝਦੇ ਨੇ ਕਿ ਖੂਹ ਉਸਦੇ ਦਿਉਰ ਨੇ ਬਣਵਾਇਆ ਹੈ। ਮਹਾਰਾਜਾ ਸੱਚ ਦਾ ਪਤਾ ਕਿਵੇਂ ਲਵਾਉਂਦਾ ਹੈ ਇਹੀ ਇਸ ਕਹਾਣੀ ਦਾ ਵਿਸ਼ਾ ਹੈ।
----
!ਆਦਰਸ਼ ਵਾਚਨ
> "ਇਹ ਕਹਾਣੀ ਮਹਾਰਾਜਾ ਰਣਜੀਤ ਸਿੰਘ ਨਾਲ਼ ਸੰਬੰਧਿਤ ਹੈ। . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  .. . . . . . .. . . . . . .ਕਮਜ਼ੋਰ ਦੀ ਮਦਦ ਕਰਦਾ ਸੀ।" 
!ਵਿਦਿਆਰਥੀ ਵਾਚਨ
ਵਿਦਿਆਰਥੀਆਂ ਕੋਲ਼ੋਂ ਵਾਚਨ ਕਰਵਾਇਆ ਜਾਵੇਗਾ। ਉਹਨਾਂ ਦੇ ਉਚਾਰਣ, ਵਾਚਨ ਸ਼ੈਲੀ ਦਾ ਸ਼ੁਧੀਕਰਣ ਨਾਲ਼ੋ-ਨਾਲ ਕੀਤਾ ਜਾਵੇਗਾ।
> "ਇੱਕ ਵਾਰ ਮਹਾਰਾਜੇ ਦੇ ਦਰਬਾਰ ਵਿੱਚ. . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ਨਿਆਂ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।"
!ਸ਼ਬਦ-ਭੰਡਾਰ ਵਿਕਾਸ
|!ਵਿਧਵਾ- |ਜਿਸ ਔਰਤ ਦਾ ਪਤੀ ਮਰ ਗਿਆ ਹੋਵੇ |
|! ਪਰਜਾ- |ਕਿਸੇ ਰਾਜੇ ਦੇ ਰਾਜ ਵਿੱਚ ਰਹਿਣ ਵਾਲ਼ੇ ਲੋਕ|
|!ਫਰਿਆਦ-|ਬੇਨਤੀ|
|!ਦਿਉਰ- |ਪਤੀ ਦਾ ਛੋਟਾ ਭਰਾ|
|!ਨਿਆਂ- |ਇਨਸਾਫ|
!ਦੁਹਰਾਈ
੧ ਰਣਜੀਤ ਸਿੰਘ ਕਿਹੋ ਜਿਹਾ ਰਾਜਾ ਸੀ?
੨ ਦਰਬਾਰ ਵਿੱਚ ਕਿਸ ਨੇ ਆ ਕੇ ਫਰਿਆਦ ਕੀਤੀ?
੩ ਵਿਧਵਾ ਔਰਤ ਨੇ ਕੀ ਫਰਿਆਦ ਕੀਤੀ?
੪ ਮਹਾਰਾਜੇ ਨੇ ਔਰਤ ਨੂੰ ਕੀ ਕਿਹਾ?
----
!ਵਿਦਿਆਰਥੀ ਵਾਚਨ
> " ਅਗਲੇ ਦਿਨ . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .ਇੰਨੀ ਗੱਲ ਕਹਿ ਕੇ ਮਹਾਰਾਜਾ ਆਪਣੇ ਮਹਿਲ ਵੱਲ ਵਾਪਿਸ ਮੁੜ ਗਿਆ।"
!ਸ਼ਬਦ ਭੰਡਾਰ ਵਿਕਾਸ
|!ਮੌਣ-|ਖੂਹ ਦੀ ਉੱਚੀ ਬੰਨੀ|
|!ਮੋਹਰਾਂ-|ਸਿੱਕੇ|
|!ਅਮਾਨਤ-|ਕਿਸੇ ਦੂਸਰੇ ਬੰਦੇ ਦੀ ਚੀਜ਼|
|!ਸਦਵਾਇਆ-|ਸੁਨੇਹਾ ਭੇਜ ਬੁਲਵਾਇਆ|
|!ਅਸੀਸ-|ਆਸ਼ੀਰਵਾਦ|
|!ਅਨਿਆਂ-|ਬੇਇਨਸਾਫੀ|
!ਦੁਹਰਾਈ
੧ ਮਹਾਰਾਜੇ ਨੇ ਖੂਹ ਤੇ ਪਹੁੰਚ ਕੇ ਕਿਸ ਨੂੰ ਬੁਲਵਾਇਆ?
੨ ਮਹਾਰਾਜੇ ਨੇ ਵਿਧਵਾ ਦੇ ਦਿਉਰ ਨੂੰ ਕੀ ਕਰਣ ਲਈ ਕਿਹਾ?
੩ ਦਿਉਰ ਮਹਾਰਾਜੇ ਦੀ ਗੱਲ ਸੁਣਕੇ ਕਿਉਂ ਡਰ ਗਿਆ?
੪ ਉਸਨੇ ਮੁਸੀਬਤ ਤੋਂ ਬਚਣ ਲਈ ਕੀ ਕਿਹਾ?
੫ ਮਹਾਰਾਜੇ ਨੇ ਮਾਈ ਤੋਂ ਕੀ ਅਸੀਸ ਮੰਗੀ?
----
!ਕਹਾਣੀ ਸਾਰ
ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਪੂਰੀ ਕਹਾਣੀ ਆਪਣੇ ਸ਼ਬਦਾਂ ਵਿੱਚ ਕਹਿਣ ਲਈ ਕਿਹਾ ਜਾਵੇਗਾ। ਅਧਿਆਪਕ ਇਸ ਵਿੱਚ ਉਹਨਾਂ ਦੀ ਮਦਦ ਕਰੇਗਾ ।
----
!ਅਭਿਆਸ
!!ਇਹ ਵਾਕ ਕਿਸ ਨੇ ਕਿਸ ਨੂੰ ਕਹੇ?
|!|!|!ਕਿਸ ਨੇ|!ਕਿਸ ਨੂੰ|
|!੧|"ਮਾਈ ਕੀ ਤੇਰਾ ਕੋਈ ਗਵਾਹ ਹੈ ਜੋ ਇਹ ਕਹੇ ਕਿ ਖੂਹ ਤੇਰਾ ਹੈ?| | |
|!੨|"ਦੱਸ ਬਈ ਇਹ ਖੂਹ ਕਿਸਦਾ ਹੈ?" |||
|!੩|"ਹਾਂ ਮਹਾਰਾਜ ਖੂਹ ਮੇਰੀ ਜ਼ਮੀਨ ਵਿੱਚ ਤਾਂ ਹੈ ਪਰ ਨਾਲ ਹੀ ਮੇਰੇ ਦਿਉਰ ਦੀ ਜ਼ਮੀਨ ਹੈ ਤੇ ਦੇਖ ਕੇ ਤਾਂ ਇਹ ਕਿਹਾ ਨਹੀਂ ਜਾ ਸਕਦਾ ਕਿ ਖੂਹ ਮੇਰਾ ਹੈ ਮੇਰੇ ਦਿਉਰ ਦਾ ਨਹੀ।" |||
|!੪|"ਲੈ ਮਾਈ ਹੁਣ ਇਹ ਖੂਹ ਆਪਣੇ ਕਬਜ਼ੇ ਵਿੱਚ ਕਰ ਲੈ।" |||
!ਖਾਲੀ ਥਾਵਾਂ ਭਰੋ:
1. ਇਹ ਖੂਹ ........................     ਕਿਸਦਾ ਹੈ?
2. ਕੀ ਇਸ ਗੱਲ ਦਾ ਕੋਈ ........................  ਹੈ?
3. ਇਸ ਵਿੱਚ ਸਾਡੀ ਮੋਹਰਾਂ ਦੀ ........................ ਡਿੱਗ ਪਈ ਹੈ।
4. ਸਰਕਾਰੀ ........................ ਦਾ ਪੈਸਾ ਹੈ।
5. ਤੇਰੇ ਨਾਲ ਵੀ ........................ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ।
!ਭਾਸ਼ਾ ਵਿਕਾਸ
[ਅਗੇਤਰ:- ਜਿਹੜਾ ਸ਼ਬਦ ਕਿਸੇ ਮੂਲ ਸ਼ਬਦ ਦੇ ਅੱਗੇ ਲੱਗ ਕੇ ਨਵੇਂ ਸ਼ਬਦ ਬਣਾਉਂਦੇ ਹਨ, ਉਹਨਾਂ ਨੂੰ ਅਗੇਤਰ ਕਿਹਾ ਜਾਂਦਾ ਹੈ। ਜਿਵੇਂ ਅਨਿਆਂ ਸ਼ਬਦ ਵਿੱਚ 'ਅ' ਅਗੇਤਰ ਹੈ। ਮੂਲ ਸ਼ਬਦ ਨਿਆਂ ਹੈ। ਅਗੇਤਰ 'ਅ' ਲੱਗਣ ਨਾਲ ਇਸ ਦੇ ਅਰਥ ਉਲਟ ਜਾਂਦੇ ਹਨ।]
!ਘਰ ਦਾ ਕੰਮ
ਕਹਾਣੀ 'ਖੂਹ ਦਾ ਮਾਲਕ' ਦੇ ਆਧਾਰ ਤੇ ਸ਼ੇਰੇ ਪੰਜਾਬ ਮਹਾਰਾਜਾ ਰਣਜੀਤ ਸਿੰਘ ਦੇ ਨਿਆਂ-ਪਸੰਦ ਸੁਭਾਉ ਬਾਰੇ ੨੦੦ ਤੋਂ ੨੫੦ ਸ਼ਬਦਾਂ ਵਿੱਚ ਲੇਖ ਲਿਖੋ।
<html><nowiki>
<h1> Cases | ਕਾਰਕ </h1>
<p>
Kaaruks or Cases are the relationship which nouns or pronouns have with the verb or other words in the sentence. Cases are expressed using Postpositions or ਸੰਬੰਧਕ or postpositional suffixes with the nouns. But not every case requires a Postposition word or the postpositional noun form. Some cases can be expressed without either changing the noun form or using a Postposition.
</p>
<p class="indent1 exampleText"> He sits <u>on</u> a chair.</p>
<p>
   As you would know that the word <b>on</b> depicts a relationship between the noun 'chair' and the verb 'sits'. Now lets express the same sentence in Punjabi.
 </p>
<p class="indent1 exampleText">ਉਹ ਕੁਰਸੀ ਉੱਤੇ ਬੈਠਾ ਹੈ।</p>
<p> The noun ਕੁਰਸੀ (chair) is related to the verb phrase ਬੈਠਦਾ ਹੈ through the postposition ਉੰਤੇ, which means the same as 'on' in English. </p>

<div class="loc">
 <h2 class="title">contents</h2>
<ol>
  <li><a href="#kurta">Kurtaa Kaaruk</a></li>
  <li><a href="#kurum">Kurum Kaaruk</a></li>
  <li><a href="#kurun">Kurun Kaaruk</a></li>
  <li><a href="#sumpurdaan">Sumpurdaan Kaaruk </a></li>
  <li><a href="#upaadaan">Upaadaan Kaaruk </a></li>
  <li><a href="#sumbundh">Sumbundh Kaaruk </a></li>
  <li><a href="#udhikurun">Udhikurun Kaaruk </a></li>
  <li><a href="#sumbodhun">Sumbodhun Kaaruk </a></li>
</ol>
</div>


<h2><a name="kurta">1. Kurtaa Kaaruk | ਕਰਤਾ ਕਾਰਕ </a></h2> 
<p>The noun with which does the action is said to be in Kurtaa Kaaruk. The postposition <b>ਨੇ</b> is used for this purpose. 
<p><b> To be completed </b></p>


<h2><a name="kurum">2. Kurum Kaaruk | ਕਰਮ ਕਾਰਕ </a></h2>
<p>The noun or a pronoun which is affected by the action of the verb is said to be in <b>Kurum Kaarak</b>. The noun in this case in followed by the postposition <b>ਨੂੰ</b> (loosely similar to the English preposition 'to').  For example take this sentence:</p>
<table class="exampleTable">
<tr class="exampleText">
  <td>ਮੁੰਡਾ</td>
  <td>ਕੁੱਤੇ ਨੂੰ</td>
  <td>ਮਾਰਦਾ ਹੈ</td>
  <td> (Boy beats the dog)</td>
</tr><tr class="exampleGloss">
  <td>Boy</td>
  <td>to Dog</td>
  <td>beats</td>
  <td></td>
</tr><tr class="exampleGloss">
  <td>Subject Noun</td>
  <td>Object Noun+postposition</td>
  <td>Verb Phrase</td>
 <td> </td>
</tr>
</table>

<p>In this sentence the effect of the verb phrase ਮਾਰਦਾ ਹੈ falls on the noun ਕੁੱਤਾ (Dog), therefore it is followed by the postposition <b>ਨੂੰ</b>. Also note that nouns which end with a ਾ (Kunna) are inflected due to this and a Kunna is replaced with a ੇ (laan). Take another example:</p>

<table class="exampleTable">
<tr class="exampleText">
  <td>ਅਧਿਆਪਕ ਨੇ</td>
  <td>ਜਮਾਤ ਨੂੰ</td>
  <td>ਪੜ੍ਹਾਇਆ</td>
  <td>(Teacher taught the class)</td>
</tr><tr class="exampleGloss">
  <td>Teacher</td>
  <td>to class</td>
  <td>taught</td>
  <td></td>
</tr><tr class="exampleGloss">
  <td> Subject Noun + postposition</td>
  <td> Object Noun + postposition</td>
  <td>Verb</td>
  <td> </td>
</tr>
</table>

<p>In this sentence the noun ਜਮਾਤ is in Kurum Kaaruk case, bearing the effect of the verb ਪੜ੍ਹਾਇਆ (taught). Hence it is followed by the postposition ਨੂੰ. But notice that since the ਜਮਾਤ does not end with a ਾ (Kunna) it does not change its form. Take a look at some more examples:</p>
<table class="exampleTable">
<tr class="exampleText">
  <td>ਦੁਕਾਨਦਾਰ ਨੇ</td>
  <td>ਗ੍ਰਾਹਕ ਨੂੰ</td>
  <td>ਬਕਾਇਆ</td>
  <td>ਮੋੜ ਦਿੱਤਾ</td>
  <td>Shopkeeper returned the balance to the customer</td>
</tr><tr class="exampleGloss">
  <td>Shopkeeper</td>
  <td>to customer</td>
  <td>balance</td>
  <td>returned</td>
  <td></td>
</tr><tr class="exampleGloss">
   <td>Subject + postposition</td>
  <td>Indirect object + postposition</td>
  <td>Direct object + postposition</td>
  <td>Verb phrase</td>
</tr>
</table>

<table class="exampleTable">
<tr class="exampleText"> 
  <td>ਗੁਰੂ ਨਾਨਕ ਨੇ</td>
  <td>ਬਾਬਾ ਬੁੱਢਾ ਜੀ ਨੂੰ</td>
  <td>ਆਸ਼ੀਰਵਾਦ</td>
  <td>ਦਿੱਤਾ</td> 
  <td> Guru Nanak gave blessings to Baba Buddha ji.</td>
</tr><tr class="exampleGloss">
  <td>Guru Nanak (did)</td>
  <td>Baba Buddha ji (to)</td>
  <td>Blessing</td>
  <td>Give</td>
</tr><tr class="exampleGloss">
   <td>Subject + postposition</td>
   <td>Indirect object + postposition</td>
  <td>Direct object</td>
   <td>Verb</td>
  <td> </td>
</tr>
</table>

<p> All the pronouns are suffixed with a ਨੂੰ when they are in this case.</p>

<table class="exampleTable">
<tr>
  <th> </th><th>First Person</th><th>Second Person</th><th>Third Person</th>
</tr><tr class="exampleText">
  <th>Singular</th><td>ਮੈਨੂੰ</td><td>ਤੈਨੂੰ</td><td>ਉਹਨੂੰ</td>
</tr><tr class="exampleText">
  <th>Plural</th><td>ਸਾਨੂੰ</td><td>ਤੁਹਾਨੂੰ</td><td>ਉਹਨਾਂ ਨੂੰ</td>
</tr>
</table>


<table class="noteTable">
<tr><td>Note: Not all nouns in Kurum Kaaruk take on a Postposition. For example the sentence, <b>ਪਿਤਾ ਜੀ ਅਖ਼ਬਾਰ ਪੜ੍ਹਦੇ ਹਨ</b>, has the object noun ਅਖ਼ਬਾਰ (newspaper) in kurum kaarak and yet is not followed by a postposition word.</td></tr></table>

<h2><a name="kurun">3. Kurrun Kaaruk | ਕਰਨ ਕਾਰਕ</a></h2>
<p> A noun or a pronoun is said to be in Kurrun Kaarak when it is instrumental in bringing about the action in the sentence. The postpositions used in this case are:</p>
<ul class="indent1 exampleText">
  <li>ਨਾਲ - with</li>
  <li>ਦੁਆਰਾ, ਤੋਂ  - by </li>
  <li>ਰਾਹੀਂ - through</li>
</ul>

<h3>Some Examples</h3>

<table class="exampleTable">
<tr class="exampleText">
  <td>ਲੜਕੀ ਨੇ</td> 
  <td>ਛੁਰੀ ਨਾਲ</td>
  <td>ਸਬਜ਼ੀ</td>
  <td> ਕੱਟੀ</td>
  <td>The Girl chopped the vegetables with a knife </td>
</tr><tr class="exampleGloss">
  <td>Girl (did)</td>
  <td>Knife (with)</td>
  <td>Vegetable</td>
  <td>chopped</td>
  <td> </td>
</tr><tr class="exampleGloss">
  <td>Subject + postposition</td>
  <td>Indirect object + postposition</td>
  <td>Direct object</td>
  <td>Verb</td>
  <td> </td>
</tr>
</table>
<table class="exampleTable">
<tr class="exampleText">
  <td>ਰਮੇਸ਼ ਤੋਂ</td>
  <td>ਇਹ ਗਲਤੀ</td>
  <td>ਹੋਈ</td>
  </td>This mistake was done by Ramesh</td>
</tr><tr>
  <td>Ramesh (by)</td>
  <td>this mistake</td>
  <td>happened/committed</td>
  <td></td>
</tr><tr class="exampleGloss">
  <td>Subject + postposition</td>
  <td>adjective+object</td>
  <td>Verb</td>
 <td> </td>
</tr>
</table>

<table class="exampleTable">
<tr class="exampleText">
  <td> ਹਰ ਸਮੱਸਿਆ </td>
  <td> ਗਲਬਾਤ ਰਾਹੀਂ </td>
  <td> ਹੱਲ ਹੋ ਸਕਦੀ ਹੈ </td>
  </td>Every problem can be solved through discussion</td>
</tr><tr class="exampleGloss">
  <td> Every problem </td>
  <td> through discussion/talk </td>
  <td> can be solved </td>
  <td> </td>
</tr><tr class="exampleGloss">
  <td> adjective+Subject </td>
  <td> object + postposition </td>
  <td> Verb Phrase </td>
 <td> </td>
</tr>
</table>

<h3>The pronouns take on the following forms</h3>
<table class="exampleTable">
<tr>
  <th> </th>
  <th>First Person</th>
  <th>Second Person</th>
  <th>Third Person</th>
</tr><tr class="exampleText">
  <th>Singular</th>
  <td>ਮੇਰੇ ਤੋਂ, ਮੈਥੋਂ, ਮੇਰੇ ਦੁਆਰਾ, ਮੇਰੇ ਰਾਹੀਂ</td>
  <td>ਤੇਰੇ ਤੋਂ, ਤੈਥੋਂ, ਤੇਰੇ ਦੁਆਰਾ, ਤੇਰੇ ਰਾਹੀਂ</td>
  <td>ਉਹਤੋਂ, ਉਹਦੇ ਰਾਹੀਂ, ਉਹਦੇ ਦੁਆਰਾ</td>
</tr><tr class="exampleText">
  <th>Plural</th>
  <td>ਸਾਥੋਂ, ਸਾਡੇ ਰਾਹੀਂ, ਸਾਡੇ ਦੁਆਰਾ</td>
  <td>ਤੁਹਾਥੋਂ, ਤੁਹਾਡੇ ਰਾਹੀਂ, ਤੁਹਾਡੇ ਦੁਆਰਾ</td>
  <td>ਉਹਨਾਂ ਤੋਂ, ਉਹਨਾਂ ਰਾਹੀਂ, ਉਹਨਾਂ ਦੁਆਰਾ</td>
</tr>
</table>

<h2><a name="sumpurdaan">4. Sumpurdaan Kaaruk | ਸੰਪਰਦਾਨ ਕਾਰਕ</a></h2>
<p>Sumpurdaan means to give, to donate.  A noun or a pronoun is said to be in Sumpurdaan Kaaruk when the action of the sentence is done 'for' it or 'to' it. The postpositions used for this are:</p>
<ul class="indent1 exampleText">
  <li>ਨੂੰ  - to</li>
  <li>ਲਈ  - for</li>
  <li>ਵਾਸਤੇ  - for</li>
  <li>ਹਿੱਤ  - for, towards this end</li>
</ul>

<table class="exampleTable">
<tr class="exampleText">
  <td>ਪਿਤਾ ਨੇ</td>
  <td>ਪੁੱਤਰ ਨੂੰ</td>
  <td>ਪੰਜ ਰੁਪਏ</td>
  <td>ਦਿੱਤੇ</td>
  <td>Father gave the child five rupees</td>
</tr><tr class="exampleGloss">
  <td>Father</td>
  <td>to son</td>
  <td>five rupees</td>
  <td>gave</td>
  <td> </td>
</tr><tr class="exampleGloss">
  <td>Subject Noun</td>
  <td>Indirect object+postposition</td>
  <td>Direct Objec with a numeral adjective</td>
  <td>Verb</td>
</tr>
</table>
<table class="exampleTable">
<tr class="exampleText">
  <td>ਤੁਸੀਂ</td>
  <td>ਸਾਡੇ ਲਈ</td>
  <td>ਕੁਝ ਨਹੀਂ ਕੀਤਾ</td>
  <td> You did nothing for us</td>
</tr><tr class="exampleGloss">
  <td>You</td>
  <td>for us</td>
  <td>did nothing</td>
  <td></td>
</tr><tr class="exampleGloss">
  <td>Subject</td>
  <td>Object+postposition</td>
  <td>verb+negator</td>
  <td></td>
</tr></table>

<h3>The pronouns take on the following forms</h3>
<table class="exampleTable">
<tr>
  <th> </th>
  <th>First Person</th>
  <th>Second Person</th>
  <th>Third Person</th>
</tr><tr class="exampleText">
  <th>Singular</th>
  <td>ਮੈਨੂੰ, ਮੇਰੇ ਲਈ, ਮੇਰੇ ਵਾਸਤੇ, ਮੇਰੇ ਹਿੱਤ</td>
  <td>ਤੈਨੂੰ, ਤੇਰੇ ਲਈ, ਤੇਰੇ ਵਾਸਤੇ, ਤੇਰੇ ਹਿੱਤ</td>
  <td>ਉਹਨੂੰ, ਉਹਦੇ ਲਈ, ਉਹਦੇ ਵਾਸਤੇ, ਉਹਦੇ ਹਿੱਤ</td>
</tr><tr class="exampleText">
  <th>Plural</th>
  <td>ਸਾਨੂੰ, ਸਾਡੇ ਲਈ, ਸਾਡੇ ਵਾਸਤੇ, ਸਾਡੇ ਹਿੱਤ</td>
  <td>ਤੁਹਾਨੂੰ, ਤੁਹਾਡੇ ਲਈ, ਤੁਹਾਡੇ ਵਾਸਤੇ, ਤੁਹਾਡੇ ਹਿੱਤ</td>
  <td>ਉਹਨਾਂ ਨੂੰ, ਉਹਨਾਂ ਲਈ, ਉਹਨਾਂ ਵਾਸਤੇ, ਉਹਨਾਂ ਹਿੱਤ</td>
</tr>
</table>

<h2><a name="upaadaan">5. Upaadaan Kaaruk | ਅਪਾਦਾਨ ਕਾਰਕ</a></h2>
<p>Upaadaan means to take away, to separate. A noun or a pronoun is said to be in this case when something is taken away from it or separated from it. The postpositions used here are:</p>
<ul class="indent1 exampleText">
  <li>ਵਿੱਚੋਂ - out of</li>
  <li>ਤੋਂ - from</li>
  <li>ਉਤੋਂ - from top </li>
  <li>ਹੇਠੋਂ - from below </li>
  <li>ਲਾਗਿਓਂ, ਕੋਲੋਂ - from near</li>
</ul>

<table class="exampleTable">
<tr class="exampleText">
  <td>ਰਾਮ ਲਾਲ </td>
  <td> ਭੀੜ ਵਿੱਚੋਂ </td>
  <td> ਨਿਕਲ ਆਇਆ</td>
  <td> </td>
</tr><tr class="exampleGloss">
  <td> Ram Lal</td>
  <td> crowd out of </td>
  <td> came out</td>
  <td>Ram Lal came out of the crowd </td>
</tr><tr class="exampleGloss">
  <td> Subject </td>
  <td> Object + postposition </td>
  <td> Verb phrase </td>
  <td> </td>
</tr>
</table>
<p>In this sentence the subject comes out of the crowd, he gets away from it. Hence the object, the crowd comes under the upaadaan kaaruk case and is followed by a postposition ਵਿੱਚੋਂ meaning 'out of the crowd'.

<table class="exampleTable">
<tr class="exampleText">
  <td> ਮੁੰਡਾ </td>
  <td> ਕੋਠੇ ਤੋਂ </td>
  <td> ਡਿੱਗਾ </td>
  <td> </td>
</tr><tr class="exampleGloss">
  <td> Boy </td>
  <td> roof from </td>
  <td> fell </td>
  <td> Boy fell from the roof </td>
</tr><tr class="exampleGloss">
  <td> Subject </td>
  <td> Object + postposition </td>
  <td> Verb </td>
  <td> </td>
</tr>
</table>
<p> The act of falling from the roof separated the boy from the roof. Hence the object roof comes under upaadaan kaaruk. Therefore it is followed by the postposition ਤੋਂ which means 'from'. </p>

<table class="exampleTable">
<tr class="exampleText">
  <td> ਖੂਹ ਵਿੱਚੋਂ </td>
  <td> ਪਾਣੀ </td>
  <td> ਕੱਢਿਆ </td>
  <td> </td>
</tr><tr class="exampleGloss">
  <td>Well from </td>
  <td>water </td>
  <td>drawn </td>
  <td> Water was drawn from the well </td>
</tr><tr class="exampleGloss">
  <td> Indirect object + postposition </td>
  <td> Direct object  </td>
  <td> Verb </td>
  <td> </td>
</tr>
</table>

<p> In this sentence the direct object, water, is 'taken out' from the indirect object, the well, which makes the indirect object as Upaadaan kaaruk. Therefore the indirect object is followed by postposition ਵਿੱਚੋਂ, which means 'out of'.</p>
<p> Often the upaadaan kaaruk is expressed by changing the noun to its postpositional form instead of using a separate postposition word. This is achieved by suffixing a ਓ with the noun.</p>

<table class="exampleTable">
<tr class="exampleText">
  <td> ਉਹ </td>
  <td> ਘਰੋਂ (ਘਰ+ਓਂ) </td>
  <td> ਆਇਆ </td>
  <td> </td>
</tr><tr class="exampleGloss">
  <td> He </td>
  <td> home (from) </td>
  <td> came </td>
  <td> He came from home </td>
</tr><tr class="exampleGloss">
  <td> Subject </td>
  <td> Object + postposition suffix</td>
  <td> Verb </td>
  <td> </td>
</tr>
</table>

<table class="exampleTable">
<tr class="exampleText">
  <td> ਉਹ </td>
  <td> ਗੱਡੀਓਂ (ਗੱਡੀ + ਓਂ) </td>
  <td> ਉਤਰਿਆ </td>
  <td> </td>
</tr><tr class="exampleGloss">
  <td> He </td>
  <td> vehicle/car/bus </td>
  <td> alighted </td>
  <td> He alighted from the bus </td>
</tr><tr class="exampleGloss">
  <td> Subject </td>
  <td> Object + postposition suffix</td>
  <td> Verb </td>
  <td> </td>
</tr>
</table>

<table class="exampleTable">
<tr class="exampleText">
  <td> ਕਿਤਾਬ </td>
  <td> ਹੱਥੋਂ (ਹੱਥ+ਓਂ) </td>
  <td> ਡਿੱਗੀ </td>
  <td> </td>
</tr><tr class="exampleGloss">
  <td> Book </td>
  <td> hands (from) </td>
  <td> fell </td>
  <td> Book fell from his hands </td>
</tr><tr class="exampleGloss">
  <td> Subject </td>
  <td> Object + postpositional suffix </td>
  <td> Verb </td>
  <td> </td>
</tr>
</table>

<h3>The pronouns take on the following forms</h3>
<table class="exampleTable">
<tr>
  <th> </th>
  <th>First Person</th>
  <th>Second Person</th>
  <th>Third Person</th>
</tr><tr class="exampleText">
  <th>Singular</th>
  <td>ਮੈਥੋਂ, ਮੇਰੇ ਕੋਲੋਂ, ਮੇਰੇ ਲਾਗਿਓਂ, ਮੇਰੇ ਉਤੋਂ, ਮੇਰੇ ਹੇਠੋਂ </td>
  <td>ਤੈਥੋਂ, ਤੇਰੇ ਕੋਲੋਂ, ਤੇਰੇ ਲਾਗਿਓਂ, ਤੇਰੇ ਉਤੋਂ, ਤੇਰੇ ਹੇਠੋਂ </td>
  <td> ਉਹਥੋਂ, ਉਹਦੇ ਕੋਲੋਂ, ਉਹਦੇ ਲਾਗਿਓਂ, ਉਹਦੇ ਉਤੋਂ, ਉਹਦੇ ਹੇਠੋਂ </td>
</tr><tr class="exampleText">
  <th>Plural</th>
  <td> ਸਾਥੋਂ, ਸਾਡੇ ਕੋਲੋਂ, ਸਾਡੇ ਲਾਗਿਓਂ, ਸਾਡੇ ਉਤੋਂ, ਸਾਡੇ ਹੇਠੋਂ </td>
  <td> ਤੁਹਾਥੋਂ, ਤੁਹਾਡੇ ਕੋਲੋਂ, ਤੁਹਾਡੇ ਲਾਗਿਓਂ, ਤੁਹਾਡੇ ਉਤੋਂ, ਤੁਹਾਡੇ ਹੇਠੋਂ </td>
  <td> ਉਹਨਾਂ ਤੋਂ, ਉਹਨਾਂ ਕੋਲੋਂ, ਉਹਨਾਂ ਲਾਗਿਓਂ, ਉਹਨਾਂ ਉਤੋਂ, ਉਹਨਾਂ ਹੇਠੋਂ</td>
</tr>
</table>

<h2><a name="sumbundh">6. Sumbundh Kaaruk | ਸੰਬੰਧ ਕਾਰਕ</a></h2>
<p>The nouns or pronouns which have a relationship of ownership with other nouns are said to be in Sumbudh Kaaruk. The postposition used in this case is <b>ਦਾ</b> which is similar to apostrophe s in Emglish language. For example Jaspreet's Motorcycle can be written as  ਜਸਪ੍ਰੀਤ <b>ਦਾ</b> ਮੋਟਰਸਾਈਕਲ. This postposition word changes its form according to the latter nouns ਲਿੰਗ (gender) and ਵਚਨ (number). Since motorcycle is a masculine noun in Punjabi ਦਾ has been used in the example sentence just cited, but 'Shirt' is a feminine noun in punjabi hence it would be written as ਜਸਪ੍ਰੀਤ <b>ਦੀ</b> ਕਮੀਜ਼ (shirt). In case of masculine plurals the form ਦੇ is to be used, for example ਜਸਪ੍ਰੀਤ <b>ਦੇ</b> ਘੋੜੇ (horses). When the owned noun is feminine plural the form ਦੀਆਂ is used, for example ਜਸਪ੍ਰੀਤ <b>ਦੀਆਂ</b> ਕਿਤਾਬਾਂ (books).
<table class="exampleTable">
<tr>
  <th> Owned noun </th>
  <th> Masculine </th>
  <th> Feminine </th>
</tr><tr class="exampleText">
  <th> Singular </th>
  <td> ਦਾ </td>
  <td> ਦੀ </td>
</tr><tr class="exampleText">
  <th> Plural </th>
  <td> ਦੇ </td>
  <td> ਦੀਆਂ </td>
</tr>
</table>
All these above forms of ਦਾ are used in third person. But, when the noun following the postposition comes as the second person, that is when it is addressed to, the form changes yet again!

<h3>ਦਾ in Second person</h3>
<table class="exampleTable">
<tr>
  <th> Owned noun </th>
  <th> Masculine </th>
  <th> Feminine </th>
</tr><tr class="exampleText">
  <th> Singular </th>
  <td> ਦਿਆ </td>
  <td> ਦੀਏ </td>
</tr><tr class="exampleText">
  <th> Plural </th>
  <td> ਦਿਓ </td>
  <td> ਦੀਓ </td>
</tr>
</table>

<h3>Examples of owned noun in Second Person</h3>
<ul class="exampleText">
  <li>ਮੁੰਡੇ ਦਿਆ ਮਾਮਿਆ! ( Maternal uncle, singular)</li>
  <li>ਮੁੰਡੇ ਦੀਏ ਮਾਮੀਏ! (Maternal aunt, singular) </li>
  <li>ਮੁੰਡੇ ਦਿਓ ਮਾਮਿਓ! (Maternal uncles, plural)</li>
  <li>ਮੁੰਡੇ ਦੀਓ ਮਾਮਿਓ! (Maternal aunts, plural)</li>
</ul>

<h3>The pronouns take on the following forms</h3>
<table class="exampleTable">
<tr>
  <th> </th>
  <th>First Person</th>
  <th>Second Person</th>
  <th>Third Person</th>
</tr><tr class="exampleText">
  <th>Singular</th>
  <td> ਮੇਰਾ (masc., sing.), ਮੇਰੇ & ਮੇਰਿਆਂ (masc., plu.), ਮੇਰੀ (fem., sing.), ਮੇਰੀਆਂ (fem., plu.) </td>
  <td> ਤੇਰਾ (masc., sing.), ਤੇਰੇ & ਤੇਰਿਆਂ (masc., plu.), ਤੇਰੀ (fem., sing.), ਤੇਰੀਆਂ (fem., plu.) </td>
  <td> ਉਹਦਾ (masc., sing.), ਉਹਦੇ & ਉਹਦਿਆਂ (masc., plu.), ਉਹਦੀ (fem., sing.), ਉਹਦੀਆਂ (fem., plu.) </td>
</tr><tr class="exampleText">
  <th>Plural</th>
  <td> ਸਾਡਾ (masc., sing.), ਸਾਡੇ & ਸਾਡੀਆਂ (masc., plu.), ਸਾਡੀ (fem., sing.), ਸਾਡੀਆਂ (fem., plu.) </td>
  <td> ਤੁਹਾਡਾ (masc., sing.), ਤੁਹਾਡੇ & ਤੁਹਾਡਿਆਂ (masc., plu.), ਤੁਹਾਡੀ (fem., sing.), ਤੁਹਾਡੀਆਂ (fem., plu.) </td>
  <td> ਉਹਨਾਂ ਦਾ (masc., sing.), ਉਹਨਾਂ ਦੇ (masc., plu.), ਉਹਨਾਂ ਦੀ (fem., sing.), ਉਹਨਾਂ ਦੀਆਂ (fem., plu.) </td>
</tr>
</table>


<h2><a name="udhikurun">7. Udhikurun Kaaruk | ਅਧੀਕਰਨ ਕਾਰਕ</a></h2>
<p> Udhikurun is related with 'site' of a noun. When a noun is placed on or near or in another noun then the latter is said to be in udhikurun kaaruk. The postpositions used are:</p>
<ul class="indent1 exampleText">
<li>ਵਿੱਚ - in</li>
<li>ਉੱਤੇ - on</li>
<li>ਨੇੜੇ, ਲਾਗੇ - near</li>
<li>ਕੋਲ਼ - near or in possession</li>
</ul>

<table class="noteTable"><tr><td>You might recognise these postpositions as being similar to the ones used in Upaadaan kaaruk. Actually these are the basic postpositional words which are suffixed with an ਓ to form postpositions for Upaadaan Kaaruk. ਵਿੱਚ - ਵਿੱਚੋਂ, ਉੱਤੇ - ਉੱਤੋਂ, ਨੇੜੇ - ਨੇੜਿਓਂ, ਲਾਗੇ - ਲਾਗਿਓਂ </td></tr></table>

<table class="exampleTable">
<tr class="exampleText">
  <td> ਕਿਤਾਬ </td>
  <td> ਮੇਜ਼ ਉੱਤੇ </td>
  <td> ਹੈ </td>
  <td> </td>
</tr><tr class="exampleGloss">
  <td> Book </td>
  <td> table on </td>
  <td> is</td>
  <td> Book is lying on the table </td>
</tr><tr class="exampleGloss">
  <td> Subject </td>
  <td> Object + postposition </td>
  <td> Verb </td>
  <td> </td>
</tr></table>

<table class="exampleTable">
<tr class="exampleText">
  <td>ਘੜੀ </td>
  <td> ਪਾਣੀ ਵਿੱਚ </td>
  <td> ਡਿੱਗ ਪਈ </td>
  <td> </td>
</tr><tr class="exampleGloss">
  <td> Watch </td>
  <td> water in </td>
  <td> fell </td>
  <td> Watch fell in the water </td>
</tr><tr class="exampleGloss">
  <td> Subject </td>
  <td> Object + postposition </td>
  <td> Verb phrase </td>
  <td> </td>
</tr></table>


<table class="exampleTable">
<tr class="exampleText">
  <td> ਸਿਰ ਉੱਤੇ </td>
  <td> ਪੰਡ  </td>
  <td> ਹੈ </td>
  <td> </td>
</tr><tr class="exampleGloss">
  <td> Head on </td>
  <td> Bundle </td>
  <td> is </td>
  <td> The bundle is on the head </td>
</tr><tr class="exampleGloss">
  <td> Object + postposition </td>
  <td> Subject </td>
  <td> Verb </td>
  <td> </td>
</tr></table>

<table class="exampleTable">
<tr class="exampleText">
  <td> ਕੰਧ ਨੇੜੇ </td>
  <td> ਇੱਟਾਂ </td>
  <td> ਪਈਆਂ ਹਨ </td>
  <td> </td>
</tr><tr class="exampleGloss">
  <td> Wall near </td>
  <td> bricks </td>
  <td> lying are </td>
  <td> Bricks are lying near the wall </td>
</tr><tr class="exampleGloss">
  <td> Object + postposition </td>
  <td> Subject </td>
  <td> Verb phrase </td>
  <td> </td>
</tr></table>

<p> Similar to Kurun Kaaruk, the postposition ਵਿੱਚ is sometimes dispensed with, by attaching a ੀ + ਂ as a suffix to the plural noun.</p>

<span class="indent1 exampleText">ਘਰਾਂ ਵਿੱਚ ਬੈਠੇ ਲੋਕ --> ਘਰੀਂ ਬੈਠੇ ਲੋਕ </span><br>
<span class="indent1 exampleText">ਸ਼ਹਿਰਾਂ ਵਿੱਚ ਵਸਦੇ ਬੰਦੇ --> ਸ਼ਹਿਰੀਂ ਵਸਦੇ ਬੰਦੇ </span><br>

<h3>The pronouns take on the following forms</h3>
<table class="exampleTable">
<tr>
  <th> </th>
  <th>First Person</th>
  <th>Second Person</th>
  <th>Third Person</th>
</tr><tr class="exampleText">
  <th>Singular</th>
  <td>ਮੇਰੇ ਉੱਤੇ, ਮੇਰੇ ਵਿੱਚ, ਮੇਰੇ ਕੋਲ਼, ਮੇਰੇ ਨੇੜੇ, ਮੇਰੇ ਲਾਗੇ </td>
  <td>ਤੇਰੇ ਉੱਤੇ, ਤੇਰੇ ਵਿੱਚ, ਤੇਰੇ ਕੋਲ਼, ਤੇਰੇ ਨੇੜੇ, ਤੇਰੇ ਲਾਗੇ </td>
  <td>ਉਹਦੇ ਉੱਤੇ, ਉਹਦੇ ਵਿੱਚ, ਉਹਦੇ ਕੋਲ਼, ਉਹਦੇ ਲਾਗੇ </td>
</tr><tr class="exampleText">
  <th>Plural</th>
  <td> ਸਾਡੇ ਉੱਤੇ, ਸਾਡੇ ਕੋਲ਼, ਸਾਡੇ ਨੇੜੇ, ਸਾਡੇ ਲਾਗੇ </td>
  <td> ਤੁਹਾਡੇ ਉੱਤੇ, ਤੁਹਾਡੇ ਕੋਲ਼, ਤੁਹਾਡੇ ਨੇੜੇ, ਤੁਹਾਡੇ ਲਾਗੇ  </td>
  <td> ਉਹਨਾਂ ਉੱਤੇ, ਉਹਨਾਂ ਕੋਲ਼, ਉਹਨਾਂ ਨੇੜੇ, ਉਹਨਾਂ ਲਾਗੇ  </td>
</tr>
</table>

<h2><a name="sumbodhun">8. Sumbodhan Kaaruk | ਸੰਬੋਧਨ ਕਾਰਕ</a></h2>
<p> Sumbodhan means to address. When a noun is used to address(second person) somebody it is said to in Sumbodhan Kaaruk. In the sentence <span class="exampleText">ਮੁੰਡਿਆ, ਮੇਰੀ ਗੱਲ ਸੁਣ! ( Boy! listen to me )</span> the noun <span class="exampleText">ਮੁੰਡਿਆ</span> is in Sumbodhan kaaruk.</p>
<p>For masculine nouns ending with a mukta letter (without any lugg/matra) the sumbodhni form is achieved by suffixing a kunna (ਾ) to the noun:</p>

<p class="indent1 exampleText"> ਦੇਵ --> ਦੇਵਤਾ! &nbsp;&nbsp;&nbsp;&nbsp; ਭਗਤ --> ਭਗਤਾ! &nbsp;&nbsp;&nbsp;&nbsp; ਸੱਜਣ --> ਸੱਜਣਾ!</p>

<p>For masculine nouns ending with a kunna (ਾ) the Sumbodhan kaaruk form is made by removing the kunna and sufixing a Sihari (ਿ) and a ਆ</p>
<p class="indent1 exampleText">ਘੋੜਾ --> ਘੋੜਿਆ! &nbsp;&nbsp;&nbsp;&nbsp; ਭਲਾ --> ਭਲਿਆ! &nbsp;&nbsp;&nbsp;&nbsp;  ਕੁੱਤਾ --> ਕੁੱਤਿਆ!</p>

<p>For plural masculine as well as feminine nouns the sumbodhni form is made by attaching a ਓ at the end.</p>
<p class="indent1 exampleText"> ਮੁੰਡੇ --> ਮੁੰਡਿਓ! &nbsp;&nbsp;&nbsp;&nbsp; ਕੁੜੀ --> ਕੁੜੀਓ! &nbsp;&nbsp;&nbsp;&nbsp; ਰਾਗੀ -- ਰਾਗੀਓ!</p>

<p>Feminine nouns are made into sumbodhni form by attaching a ਏ at the end</p>
<p class="indent1 exampleText"> ਕੁੜੀ --> ਕੁੜੀਏ! &nbsp;&nbsp;&nbsp;&nbsp; ਭਲੀ --> ਭਲੀਏ &nbsp;&nbsp;&nbsp;&nbsp; ਚਿੜੀ --> ਚਿੜੀਏ &nbsp;&nbsp;&nbsp;&nbsp; ਬਿੱਲੀ --> ਬਿੱਲੀਏ </p>


</html>
|ਜਮਾਤ: ਸੱਤਵੀਂ | ਵਿ.ਅਧਿ. ਦਾ ਰੋਲ ਨੰ:.........|
|ਸਮਾਂ: ੪੦ ਮਿੰਟ | ਵਿਸ਼ਾ: ਪੰਜਾਬੀ|
|ਮਿਤੀ: .......| ਉਪਵਿਸ਼ਾ: ਨਾਂਵ (ਵਿਆਕਰਣ)|
!ਵਿਸ਼ੇਸ ਉਦੇਸ਼
ਪਾਠ ਉਪਰੰਤ ਵਿਦਿਆਰਥੀ:
#ਨਾਂਵ ਦੇ ਸੰਕਲਪ ਅਤੇ ਇਸਦੇ ਵੱਖ-ਵੱਖ ਭੇਦਾਂ ਤੋਂ ਜਾਣੂ ਹੋ ਸਕਣਗੇ
#ਲਿਖਿਤ ਰਚਨਾ ' ਚੋਂ ਨਾਂਵ ਸ਼ਬਦਾਂ ਨੂੰ ਪਹਿਚਾਣ ਸਕਣਗੇ
#ਆਪਣੀ ਵਾਕ-ਰਚਨਾ ਵਿਚ ਨਾਂਵ ਦੇ ਭੇਦਾਂ ਦਾ ਪ੍ਰਯੋਗ ਕਰ ਸਕਣਗੇ
!ਪ੍ਰਸਤਾਵਨਾ
ਅਸੀਂ ਆਲੇ-ਦੁਆਲੇ ਝਾਤ ਮਾਰਦੇ ਹਾਂ ਤਾਂ ਸਾਨੂੰ ਹਰੇਕ ਚੀਜ਼ ਦਾ ਕੋਈ ਨਾ ਕੋਈ ਨਾਮ ਮਿਲਦਾ ਹੈ।
#__ਬਾਲਟੀ__ ਭਰੀ ਹੋਈ ਸੀ|
#__ਸ਼ਿਮਲਾ__ ਕਿੰਨਾ ਸੋਹਣਾ ਸ਼ਹਿਰ ਹੈ!
#__ਮਨੀਤ___ ਨੂੰ ਮੈਂ ਬਚਪਨ ਤੋਂ ਜਾਣਦਾ ਹਾਂ ।

#ਪਹਿਲੇ ਵਾਕ'ਚ ਕਿਹੜੀ ਚੀਜ਼ ਭਰੀ ਹੋਈ ਹੈ?
#ਦੂਜੇ ਵਾਕ ਵਿਚ ਕਿਹੜਾ ਸ਼ਬਦ ਕਿਸੇ ਜਗ੍ਹਾ ਦਾ ਨਾਮ ਹੈ?
#ਤੀਜੇ ਵਾਕ ਵਿਚ "ਮਨੀਤ" ਸ਼ਬਦ ਕਿਸਦਾ ਨਾਮ ਹੈ?
!ਵਿਆਖਿਆ ਅਤੇ ਉਪਵਿਸ਼ੇ ਦਾ ਐਲਾਨ
ਬਾਲਟੀ, ਸ਼ਿਮਲਾ, ਮਨੀਤ, ਇਹ ਸਭ ਕਿਸੇ ਵਸਤੂ, ਵਿਅਕਤੀ ਜਾਂ ਜਗ੍ਹਾ ਲਈ ਵਰਤੇ ਗਏ ਹਨ। ਅਜਿਹੇ ਸ਼ਬਦ ਵਿਆਕਰਣ ਵਿਚ __ਨਾਂਵ__ ਸ਼ਬਦ ਕਹਾਉਂਦੇ ਹਨ। ਅਜ ਅਸੀਂ ਨਾਂਵ ਸ਼ਬਦਾਂ ਬਾਰੇ ਹੀ ਪੜ੍ਹਾਂਗੇ।
!ਨਿਯਮ
ਕਿਸੇ ਵਿਅਕਤੀ, ਵਸਤੂ ਜਾਂ ਸਥਾਨ ਦਾ ਬੋਧ ਕਰਵਾਉਣ ਵਾਲੇ ਸ਼ਬਦ ਨਾਂਵ ਕਹੇ ਜਾਂਦੇ ਹਨ।
!ਨਾਂਵ ਦੇ ਭੇਦ:
#ਜਾਤੀ-ਵਾਚਕ ਨਾਂਵ
#ਨਿੱਜਵਾਚਕ ਨਾਂਵ
#ਇਕੱਠ-ਵਾਚਕ ਨਾਂਵ
#ਪਦਾਰਥ-ਵਾਚਕ
#ਭਾਵ-ਵਾਚਕ ਨਾਂਵ
@@text-align:center;display:block;
!ਜਾਤੀ-ਵਾਚਕ ਨਾਂਵ
@@
#__ਫੁੱਲ__ ਪ੍ਰਕਿਰਤੀ ਦੇ ਸ਼ਿੰਗਾਰ ਹਨ।
#__ਸ਼ਹਿਰ__ ਵਿਚ ਰੌਣਕ ਲੱਗੀ ਰਹਿੰਦੀ ਹੈ।
#__ਘੋੜਾ__ ਦੌੜਦਾ-ਦੌੜਦਾ ਦੂਰ ਚਲਾ ਗਿਆ।
!ਪ੍ਰਸ਼ਨ
#ਇਹਨਾਂ ਵਾਕਾਂ ਵਿੱਚ ਨਾਂਵ ਸ਼ਬਦ ਕਿਹੜੇ-ਕਿਹੜੇ ਹਨ? 
#ਕੀ "ਫੁੱਲ" ਨਾਂਵ ਕਿਸੇ ਇਕ ਫੁੱਲ ਹੀ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ ਜਾਂ ਕਿਸੇ ਵੀ ਫੁੱਲ ਲਈ ?
#ਕੀ ਸ਼ਹਿਰ ਸ਼ਬਦ ਕਿਸੇ ਵਿਸ਼ੇਸ ਫੁੱਲ ਲਈ ਹੀ ਪ੍ਰਯੋਗ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ?
#"ਘੋੜਾ" ਸ਼ਬਦ ਕਿਸ ਘੋੜੇ ਲਈ ਵਰਤਿਆ ਗਿਆ ਹੈ?
!ਵਿਆਖਿਆ
"ਫੁੱਲ", "ਸ਼ਹਿਰ", "ਘੋੜਾ" ਸ਼ਬਦ ਕਿਸੇ ਇਕ ਖਾਸ ਵਸਤੂ ਜਾਂ ਸਥਾਨ ਲਈ ਨਹੀਂ ਸਗੋਂ ਉਸ ਜਾਤੀ ਜਾਂ ਵਰਗ ਦੇ ਕਿਸੇ ਵੀ ਵਸਤੂ ਜਾਂ ਸਥਾਨ ਲਈ ਪ੍ਰਯੋਗ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ। ਅਜਿਹੇ ਨਾਂਵ-ਸ਼ਬਦਾਂ ਨੂੰ ਜਾਤੀ-ਵਾਚਕ ਨਾਂਵ ਕਿਹਾ ਜਾਂਦਾ ਹੈ।
!ਨਿਯਮ
ਜਿਹੜੇ ਸ਼ਬਦਾਂ ਤੋਂ ਵਿਅਕਤੀ, ਵਸਤੂ ਜਾਂ ਸਥਾਨ ਦੀ ਪੂਰੀ ਜਾਤੀ ਦਾ ਬੋਧ ਹੋਵੇ ਉਹਨਾਂ ਨੂੰ ਜਾਤੀ-ਵਾਚਕ ਨਾਂਵ ਕਿਹਾ ਜਾਂਦਾ ਹੈ
!ਅਭਿਆਸ
ਇਹਨਾਂ ਵਾਕਾਂ'ਚੋਂ ਜਾਤੀ-ਵਾਚਕ ਨਾਂਵ ਚੁਣੋ:-
#ਮੈਂ ਮਨੋਰੰਜਨ ਲਈ ਟੀ.ਵੀ. ਦੇਖਦਾ ਹਾਂ
#ਜਲਦੀ ਹੀ ਮੀਂਹ ਪੈਣਾ ਬੰਦ ਹੋ ਗਿਆ।
#ਰਮੇਸ਼! ਟੋਕਰੀ ਸੰਭਾਨ ਕੇ ਚੁੱਕ ਲੈ।
@@text-align:center;display:block;
!ਨਿਜ-ਵਾਚਕ ਨਾਂਵ
@@
#__ਹਰਿਮੰਦਰ ਸਾਹਿਬ__ ਇਕ ਪਰਮ-ਪੂਜਨਿਕ ਸਥਾਨ ਹੈ।
#__ਸੁਮੇਸ਼__ ਦੇ ਬਣਾਏ ਚਿਤਰ ਕਮਾਲ ਦੇ ਹੁੰਦੇ ਹਨ।
#__ਸਤਲੁਜ__ ਵਿਚ ਹੜ ਆ ਗਿਆ।
!ਪ੍ਰਸ਼ਨ
#ਪਹਿਲੇ ਵਾਕ ਵਿਚ ਕਿਹੜੇ ਵਿਸ਼ੇਸ ਸਥਾਨ ਬਾਰੇ ਗੱਲ ਕੀਤੀ ਗਈ ਹੈ? 
#ਕੀ ਸੁਮੇਸ਼ ਨਾਮ ਹਰ ਇਕ ਮੁੰਡੇ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ?
#ਤੀਸਰੇ ਵਾਕ ਵਿਚ ਕਿਸ ਵਿਸ਼ੇਸ਼ ਦਰਿਆ ਦਾ ਨਾਮ ਆਇਆ ਹੈ?
!ਵਿਆਖਿਆ
ਹਰਿਮੰਦਰ ਸਾਹਿਬ, ਸੁਮੇਸ਼, ਸਤਲੁਜ ਆਦਿ ਅਜਿਹੇ ਨਾਂਵ ਹਨ ਜੋ ਕਿਸੇ ਖਾਸ ਸਥਾਨ, ਵਿਅਕਤੀ ਜਾਂ ਵਸਤੂ ਦੇ ਨਾਮ ਹਨ ਤੇ ਇਹ ਉਸ ਲਈ ਹੀ ਪ੍ਰਯੋਗ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ। ਇਹ ਪੂਰੀ ਜਾਤੀ ਲਈ ਪ੍ਰਯੋਗ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕਦੇ। ਅਜਿਹੇ ਸ਼ਬਦਾਂ ਨੂੰ ਨਿਜ-ਵਾਚਕ ਨਾਂਵ ਕਿਹਾ ਜਾਂਦਾ ਹੈ।
!ਨਿਯਮ
ਜਿਹੜੇ ਸ਼ਬਦਾਂ ਤੋਂ ਸਾਨੂੰ ਕਿਸੇ ਖਾਸ ਵਿਅਕਤੀ, ਜੀਵ, ਥਾਂ ਜਾਂ ਵਸਤੂ ਦਾ ਗਿਆਨ ਹੁੰਦਾ ਹੈ, ਉਹਨਾਂ ਨੂੰ ਨਿਜ-ਵਾਚਕ ਨਾਂਵ ਕਹਿੰਦੇ ਹਨ
!ਅਭਿਆਸ
#ਭਾਰਤ ਕਸ਼ਮੀਰ ਤੋਂ ਕਨਿਆਕੁਮਾਰੀ ਤਕ ਫੈਲਿਆ ਹੋਇਆ ਹੈ
#ਚੰਦਰਸ਼ੇਖਰ ਆਜ਼ਾਦ ਇਕ ਨਿਡਰ ਆਂਦੋਲਨਕਾਰੀ ਸੀ।
#ਤਾਜ-ਮਹਿਲ ਦੀ ਖੂਬਸੂਰਤੀ ਦੁਨੀਆ-ਭਰ ਵਿਚ ਮਸ਼ਹੂਰ ਹੈ।
@@text-align:center;display:block;
!ਮੁਲਾਂਕਣ
@@
__ਨਾਂਵ ਸ਼ਬਦ ਚੁਣੋ ਅਤੇ ਇਹਨਾਂ ਦੇ ਭੇਦਾਂ ਦੀ ਪਛਾਣ ਕਰੋ:__
#ਜਸਬੀਰ ਨੇ ਖੁਰਮਾਨੀਆਂ ਕਾਫੀ ਖਾਧੀਆਂ ਸਨ। ਬਚਪਨ ਵਿਚ ਤਾਂ ਗਰੀਬੀ ਕਰਕੇ ਮੈੰ ਇਹਨਾਂ ਨੂੰ ਬਸ ਦੇਖ ਹੀ ਸਕਦਾ ਸਾਂ। ਸਸਤਾ ਜ਼ਮਾਨਾ ਸੀ ਤੇ ਉਦੋਂ ਵੀ ਇਹ ਚਾਰ ਆਨੇ ਸੇਰ ਮਿਲਦੀਆਂ ਸਨ, ਜਦ ਕਿ ਅੰਬ ਤੇ ਖਰਬੂਜ਼ੇ ਟਕੇ-ਆਨੇ ਸੇਰ ਮਿਲ ਜਾਂਦੇ ਸਨ। ਉਦੋਂ ਤਾਂ ਮੈਂ ਖੁਰਮਾਨੀਆਂ ਨੂੰ ਉਸੇ ਤਰ੍ਹਾਂ ਹੈਰਤ ਦੀ ਨਿਗਾਹ ਨਾਲ ਦੇਖਦਾ ਸਾਂ ਜਿਸ ਨਾਲ ਅੰਗਰੇਜ਼ਾਂ ਨੂੰ। 
**"ਖੁਰਮਾਨੀ" ਜਾਤੀ-ਵਾਚਕ ਨਾਂਵ ਹੈ ਕਿਉਂਕਿ ਇਹ ਪੂਰੀ......... ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ।
**"""_______""" ਨਿਜ-ਵਾਚਕ ਨਾਂਵ ਹੈ ਕਿਉਂਕਿ ਇਹ ਵਿਸ਼ੇਸ""" _____""" ਦਾ ਨਾਮ ਹੈ।
#ਚੰਡੀਗ੍ਹੜ ਵਿਦਿਆ ਦਾ ਕੇਂਦਰ ਬਣ ਗਿਆ ਹੈ।
#ਦਿਵਾਲੀ ਨੂੰ ਸਾਰੇ ਸ਼ਹਿਰ ਵਿਚ ਰੌਸ਼ਨੀ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਤੇ ਪਟਾਖੇ ਚਲਾਏ ਜਾਂਦੇ ਹਨ।
#ਲੁਧਿਆਣੇ ਵਿਚ ਕਪੜੇ ਦੇ ਬਹੁਤ ਕਾਰਖਾਨੇ ਹਨ।
<html><nowiki>
<style>
.verbConjugation table{
     border: none;
     background-color: none;
     text-align: center;
}
.verbConjugation tr{
     border: none;
     background-color: none;     
}
.verbConjugation tr th{
     background-color: #519600;
     border: 1px solid #00ff00;
}
.verbConjugation tr.singular{
     background-color: #9ff33d;
}
.verbConjugation tr.plural{
     background-color: #B5F36D; 
}

.verbConjugation tr td{
     border: 1px solid #00ff00;
     text-align: center;
}

</style>

<h1>  Future Tense </h1>
<h2> ਜਾ (Go)</h2>
<h3>1. Future Indefinite Tense ਅਨਿਸ਼ਚਿਤ ਭਵਿੱਖਤ ਕਾਲ / ਸਾਧਾਰਣ ਭਵਿੱਖਤ ਕਾਲ</h3>

<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਵਾਗਾ </td>
     <td> ਜਾਂਵਾਗੀ</td>
     <td>I will go to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਵਾਗੇ </td>
     <td> ਜਾਂਵਾਗੀਆਂ/ਜਾਂਵਾਗੇ </td>
     <td> We will go  to the market </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾਂਵੇਗਾ </td>
     <td> ਜਾਂਵੇਗੀ </td>
     <td> You will go to the market </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਵੋਗੇ/ਜਾਂਓਗੇ </td>
     <td> ਜਾਂਵੋਗੀਓ/ਜਾਂਓਗੇ </td>
     <td> You (plural) will go to the market </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਵੇਗਾ/ਜਾਏਗਾ </td>
     <td> ਜਾਵੇਗੀ/ਜਾਏਗੀ </td>
     <td> He/She will go to the market </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਣਗੇ </td>
     <td> ਜਾਣਗੀਆਂ  </td>
     <td> They will go to the market </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾਵੇਗਾ</td>
     <td>  </td>
     <td> Ram will go to the market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾਵੇਗੀ </td>
     <td>Sita will go to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਣਗੇ </td>
     <td>  </td>
     <td> Ram and Sita will go to the market </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾਣਗੀਆਂ </td>
     <td> Sita and Gita will go to the market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>


<h3>2. Future Imperfect Continuous Tense ਅਪੂਰਨ ਚਾਲੂ ਭਵਿੱਖਤ ਕਾਲ</h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾ ਰਿਹਾ ਹੋਵਾਂਗਾ  </td>
     <td> ਜਾ ਰਹੀ ਹੋਵਾਂਗੀ</td>
     <td>I will be going to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td>  ਜਾ ਰਹੇ ਹੋਵਾਂਗੇ </td>
     <td> ਜਾ ਰਹੀਆਂ ਹੋਵਾਂਗੀਆਂ </td>
     <td> We will be going to the market </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾ ਰਿਹਾ ਹੋਵੇਂਗਾ </td>
     <td> ਜਾ ਰਹੀ ਹੋਵੇਂਗੀ </td>
     <td> You will be going to the market </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਹੇ ਹੋਵੋਂਗੇ </td>
     <td> ਜਾ ਰਹੀਆਂ ਹੋਵੋਂਗੀਆਂ</td>
     <td> You (plural) will be going to the market </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਿਹਾ ਹੋਵੇਗਾ </td>
     <td> ਜਾ ਰਹੀ ਹੋਵੇਗਾ </td>
     <td> He/She will be going to the market </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਹੇ ਹੋਵਣਗੇ/ਹੋਣਗੇ </td>
     <td> ਜਾ ਰਹੀਆਂ ਹੋਵਣਗੀਆਂ/ਹੋਣਗੀਆਂ </td>
     <td> They will be going to the market </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾ ਰਿਹਾ ਹੋਵੇਗਾ </td>
     <td> </td>
     <td> Ram will be going to the market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਜਾ ਹੋਵੇਗੀ </td>
     <td> Sita will be going to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਹੇ ਹੋਵਣਗੇ/ਹੋਣਗੇ </td>
     <td>  </td>
     <td> Ram and Sita will be going to the market </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾ ਰਹੀਆਂ ਹੋਣਗੀਆਂ </td>
     <td> Sita and Gita will be going to the market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>

<h3>3. Future Perfect indefinite ਅਨਿਸ਼ਚਿਤ ਪੂਰਨ ਭਵਿੱਖਤ ਕਾਲ</h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਗਿਆ ਹੋਵਾਂਗਾ  </td>
     <td> ਗਈ ਹੋਵਾਂਗੀ</td>
     <td> I will have gone to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਹੋਵਾਂਗੇ </td>
     <td> ਗਈਆਂ ਹੋਵਾਂਗੀਆਂ </td>
     <td> We will have gone to the market  </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਗਿਆ ਹੋਵੇਂਗਾ </td>
     <td> ਗਈ ਹੋਵੇਂਗੀ </td>
     <td> You will have gone to the market  </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਹੋਵੋਂਗੇ </td>
     <td> ਗਈਆਂ ਹੋਵੋਂਗੀਆਂ</td>
     <td> You(plural) will have gone to the market  </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਿਆ ਹੋਵੇਗੇ </td>
     <td> ਗਈ ਹੋਵੇਗੀ </td>
     <td> He/She will have gone to the market  </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਹੋਣਗੇ </td>
     <td> ਗਈਆਂ ਹੋਣਗੀਆਂ </td>
     <td> They will have gone to the market  </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਗਿਆ ਹੋਵੇਗਾ </td>
     <td> </td>
     <td> Ram will have gone to the market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਗਈ ਹੋਵੇਗੀ </td>
     <td>Sita will have gone to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਹੋਣਗੇ </td>
     <td>  </td>
     <td> Ram and Sita will have gone to the market</td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਗਈਆਂ ਹੋਣਗੀਆਂ </td>
     <td> Sita and Gita will have gone to the market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>

<h3>4. Future Perfect Definite  ਨਿਸ਼ਚਿਤ ਪੂਰਨ ਭੂਤ ਕਾਲ</h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾ ਚੁੱਕਾ ਹੋਵਾਂਗਾ  </td>
     <td> ਜਾ ਚੁੱਕੀ ਹੋਵਾਂਗੀ </td>
     <td> </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਹੋਵਾਂਗੇ </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਹੋਵਾਂਗੀਆਂ </td>
     <td>  </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾ ਚੁੱਕਾਂ ਹੋਵੇਂਗਾ </td>
     <td> ਜਾ ਚੁੱਕੀ ਹੋਵੇਂਗੀ </td>
     <td>  </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਹੋਵੋਂਗੇ </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਹੋਵੋਂਗੀਆਂ</td>
     <td>  </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕਾ ਹੋਵੇਗਾ </td>
     <td> ਜਾ ਚੁੱਕੀ ਹੋਵੇਗੀ </td>
     <td>  </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਹੋਣਗੇ </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਹੋਣਗੀਆਂ </td>
     <td>  </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾ ਚੁੱਕਾ ਹੋਵੇਗਾ </td>
     <td> </td>
     <td>  </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਜਾ ਚੁੱਕੀ ਹੋਵੇਗੀ </td>
     <td> </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਹੋਣਗੇ </td>
     <td>  </td>
     <td> </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਹੋਣਗੀਆਂ </td>
     <td>   </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>
<h3>5. Conditional Future Tense ਸ਼ਰਤੀ ਭੂਤ ਕਾਲ </h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2> Conjugate </th>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਜੇ </td>
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td >  ਜਾਵਾਂਗਾ  </td>
     <td >  ਜਾਵਾਂਗੀ  </td>
     <td> If I go to the market </td>
</tr> <tr class="plural">
     <td> ਜੇ </td>
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਵਾਂਗੇ</td>
     <td> If we go to the market </td>
</tr><tr class="singular">
     <td> ਜੇ </td>
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾਵੇਂਗਾ </td>
     <td> ਜਾਵੇਂਗੀ </td>
     <td> If you go to the market  </td>
</tr><tr class="plural">
     <td> ਜੇ </td>
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਵੋਂਗੇ </td>
     <td> If you(plural) go to the market  </td>
</tr><tr class="singular">
     <td> ਜੇ </td>
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਵੇਗਾ</td>
     <td> ਜਾਵੇਗੀ </td>
     <td> If he goes to the market  </td>
</tr><tr class="plural">
     <td> ਜੇ </td>
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਣਗੇ</td>
     <td> If they go to the market  </td>
</tr>
<tr class="singular">
     <td> ਜੇ </td>
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td colspan=2>ਜਾਵੇਗਾ </td>
     <td> If Ram goes to the market  </td>
</tr>
<tr class="singular">
     <td> ਜੇ </td>
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td colspan=2>ਜਾਵੇਗੀ</td>
     <td>If Sita goes to the market </td>
</tr>
<tr class="plural">
     <td> ਜੇ </td>
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਣਗੇ</td>
     <td>If Ram and Sita go to the market </td>
</tr>
<tr class="plural">
     <td> ਜੇ </td>
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਣਗੀਆਂ</td>
     <td> If Sita and Gita go to the market  </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>
</html>
<html><nowiki>
<h1>Pronouns | ਪੜਨਾਂਵ</h1>
<p>In this lesson we are going to learn about the pronouns used in Punjabi. The pronouns in Punjabi change their form according to the Number and Kaaruk but <b>not</b> according to the Gender of the nouns they represent. In order to know Gender of the represented noun one has to see the accompanying verb, which changes according to the Gender of absent noun.</p>
<h2>First Person | ਪਹਿਲਾ ਪੁਰਖ</h2>
<p>The basic first person pronoun are  ਮੈਂ (singular) and ਅਸੀਂ (plural). These pronouns change form according to Noun cases as follows:</p>

<table>
<tr>
 <th>Case/Kaaruk</th>
 <th>Singular</th>
 <th>Plural</th>
</tr><tr>
 <th>Kurtaa <br> (Subjective) </th>
 <td><u>ਮੈਂ</u> <br>
<ul>
<li>ਮੈਂ ਗੁਰਦੁਆਰੇ ਜਾਂਦਾ ਹਾਂ <br> [I] [gurudwara] [go to] <br> I go to gurudwara</li>
</ul>
</td>
 <td>
<u>ਅਸੀਂ, ਆਪਾਂ </u><br>
<ul>
<li>ਅਸੀਂ ਅੰਮ੍ਰਿਤਸਰ ਗਏ ਸੀ <br> [we] [Amritsar] [went to] <br> We went to Amritsar</li>
<li>ਆਪਾਂ ਨੂੰ ਅੰਮ੍ਰਿਤਸਰ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ <br> [we] [Amritsar] [should go to] <br> We should go to Amritsar </li>
</ul>
</td>
</tr><tr>
 <th>Kurum <br> (Objective) </th>
 <td>
<u>ਮੈਨੂੰ </u><br>
<ul>
<li>ਰਮੇਸ਼ ਨੇ ਮੈਨੂੰ ਕਿਹਾ <br> [Ramesh] [said to me] <br> Ramesh said to me</li>
</ul>
</td>
 <td>
<u>ਸਾਨੂੰ, ਆਪਾਂ ਨੂੰ </u><br>
<ul>
<li>ਸਾਨੂੰ ਖ਼ਬਰ ਮਿਲੀ <br> [we] [news] [heard] <br> We heard the news</li>
<li>ਆਪਾਂ ਨੂੰ ਪਤਾ ਹੀ ਨਹੀਂ ਸੀ <br> [We] [know] [did not] <br> We did not know</li>
</td>
</tr><tr>
 <th>Kurun <br>(Instrumental)</th>
 <td>
<u> ਮੈਂਥੋਂ, ਮੇਰੇ ਰਾਹੀਂ, ਮੇਰੇ ਦੁਆਰਾ </u>
<ul>
<li>ਮੈਥੋਂ ਕਿਹਾ ਗਿਆ <br>[From me] [ was said] <br> It was (inadvertantly) said by me</li>
<li>ਮੇਰੇ ਰਾਹੀਂ ਕੰਮ ਹੋਇਆ <br> [through me] [work was done] <br> Work was done through me</li>
</ul>
</td>
 <td> 
<u> ਸਾਥੋਂ, ਆਪਾਂ ਤੋਂ </u><br>
<ul>
<li>ਸਾਥੋਂ ਕੀ ਭਾਲਦਾ ਹੈਂ? <br> [from us] [what do (you) look for?] <br> What do you want from us?</li>
<li>ਆਪਾਂ ਜੇ ਇਹ ਨਾ ਕਰੀਏ ਤਾਂ ਚੰਗਾ ਹੈ <br> [we] [if (ਜੇ)] [do not do this] [then (ਤਾਂ)] [will be good] <br> It will be good if we do not do this</li>
</ul>
</td>
</tr><tr>
<th>Sumpurdaan <br> (Dative)</th>
 <td>
<u> ਮੈਨੂੰ, ਮੇਰੇ ਲਈ, ਮੇਰੇ ਵਾਸਤੇ </u><br>
<ul>
<li>ਲੜਕੀ ਨੇ ਮੈਨੂੰ ਪਾਣੀ ਪਿਲਾਇਆ <br> [Girl] [to me] [water] [gave to drink] <br> Girl gave me water to drink</li>
<li>ਲੜਕੀ ਮੇਰੇ ਲਈ ਪਾਣੀ ਲੈਕੇ ਆਈ <br> [Girl] [for me] [water] [brought] <br> Girl brought water for me</li>
<li>ਮੇਰੇ ਵਾਸਤੇ ਰਾਹ ਬਣਾਇਆ <br> [for me] [way] [made] <br> Way was made for me</li>
</ul>
</td>
 <td> 
<u> ਸਾਨੂੰ, ਸਾਡੇ ਲਈ, ਸਾਡੇ ਵਾਸਤੇ </u><br>
<ul>
<li>ਪਿੰਡ ਦੇ ਲੋਕਾਂ ਨੇ ਸਾਨੂੰ ਸੁਗਾਤਾਂ ਦਿੱਤੀਆਂ <br>[people of the village] [to us] [gifts] [gave] <br> People of the village gave gifts to us. </li>
<li>ਰਮੇਸ਼ ਆਪਾਂ ਨੂੰ ਪੈਸੇ ਜ਼ਰੂਰ ਦੇਵੇਗਾ <br> [Ramesh] [to us] [money] [would surely give] <br> Ramesh would surely give us the money </li>
<li>ਮਾਤਾ ਜੀ ਨੇ ਸਾਡੇ ਲਈ ਪਰੌਂਠੇ ਪਕਾਏ <br> [Mother] [for us] [Paraunthe made] <br> Mother made praunthe for us </li>
<li>ਉਹ ਸਾਡੇ ਵਾਸਤੇ ਦਰਵਾਜਾ ਖੋਲਣ ਆਈ <br> [She] [for us] [door] [came to open] <br> She came to open door for us</li>
</ul>
</td>
</tr><tr>
 <th>Upaadaan <br> (Ablative)</th>
 <td>
<u> ਮੈਥੋਂ, ਮੇਰੇ ਕੋਲ਼ੋ, ਮੇਰੇ ਉੱਤੋਂ, ਮੇਰੇ ਲਾਗਿਓਂ </u><br>
<ul>
<li>ਕਿਤਾਬ ਮੈਥੋਂ ਗਿਰ ਗਈ <br> [Book] [from me] [feel down] <br> Book fell down from me </li>
<li>ਗੱਡੀ ਮੇਰੇ ਕੋਲੋਂ ਲੰਘੀ <br> [Car/vehicle] [by me] [passed] <br> Vehicle passed by me </li>
<li>ਮੇਰੇ ਉੱਤੋਂ ਭਾਰ ਲਹਿ ਗਿਆ <br> [from me] [weight] [lifted off] <br> Weight lifted off me</li>
<li>ਮੇਰੇ ਲਾਗਿਓਂ ਇਕ ਬੰਦਾ ਉਠਿਆ <br> [near me] [a man] [got up] <br> A man got up from near me </li>
</ul>
</td>
 <td>
<u> ਸਾਥੋਂ, ਸਾਡੇ ਕੋਲੋਂ, ਸਾਡੇ ਉੱਤੋਂ, ਸਾਡੇ ਲਾਗਿਓਂ</u><br>
<ul>
<li>ਉਹ ਸਾਥੋਂ ਦੂਰ ਚਲਾ ਗਿਆ <br>[He] [from us] [far] [went away] <br> He went far away from us</li>
<li>ਸਾਡੇ ਕੋਲੋ ਪੈਸੇ ਗਿਰ ਗਏ <br> [From us] [money] [fell down] <br> Money fell down from us</li>
<li>ਗੱਡੀਆਂ ਸਾਡੇ ਲਾਗਿਓਂ ਲੰਘੀਆਂ <br> [Vehicles] [from near us] [passed] <br> Vehicles passed us by</li>
</ul>
</td>
</tr><tr>
 <th>Sumbundh <br> (Relational)</th>
 <td>
<u>ਮੇਰਾ, ਮੇਰੇ, ਮੇਰੀ, ਮੇਰੀਆਂ, ਮੇਰਿਆਂ </u><br>
<ul>
<li>ਮੇਰਾ ਸਾਈਕਲ(masc. sing.) <br> My bicyle</li>
<li>ਮੇਰੇ ਸਾਈਕਲ(masc. plu.) <br> My bicycles</li>
<li>ਮੇਰੀ ਜੈਕੇਟ(fem. sing.) <br> My jacket</li>
<li>ਮੇਰੀਆਂ ਜੈਕੇਟਾਂ(fem. plu.)<br> My jackets</li>
<hr>
<li>ਮੇਰਿਆਂ ਭਰਾਵਾਂ --??ਦਾ ਪਿਆਰ</li>
</ul>

</td>
 <td> <u> ਸਾਡਾ, ਸਾਡੀ, ਸਾਡੇ, ਸਾਡੀਆਂ, ਅਪਣਾ, ਅਪਣੀ, ਅਪਣੇ, ਅਪਣੀਆਂ </u>
<ul>
<li>ਸਾਡਾ ਘਰ (masc. sing.) <br> Our home</li>
<li>ਸਾਡੀ ਕੋਠੀ(fem. sing.) <br> Our house/mansion</li>
<li>ਸਾਡੇ ਰਿਸ਼ਤੇਦਾਰ(masc. plu.) <br> Our relatives</li>
<li>ਸਾਡੀਆਂ ਜ਼ਿੰਦਗੀਆਂ(fem. plu.) <br> Our lives</li>
<li>ਅਪਣਾ ਪਿੰਡ(masc. sing.) <br> Our village</li>
<li>ਅਪਣੀ ਦੋਸਤੀ(fem. sing.) <br> Our friendship</li>
<li>ਅਪਣੇ ਪੁਰਖੇ(masc. plu.) <br> Our ancestors</li>
<li>ਅਪਣੀਆਂ ਰੀਤਾਂ-ਰਸਮਾਂ(fem. plu.) <br> Our customs and rituals</li>
</ul>
</td>
</tr><tr>
 <th>Udhikurun <br> (Locative)</th>
 <td><u> ਮੇਰੇ ਉੱਤੇ, ਮੇਰੇ ਵਿੱਚ, ਮੇਰੇ ਕੋਲ਼, ਮੇਰੇ ਲਾਗੇ </u>
<ul>
<li>ਮਾਤਾ ਜੀ ਨੇ ਮੇਰੇ ਉੱਤੇ ਰਜਾਈ ਦਿੱਤੀ <br> [Mother] [on me] [quilt] [gave]</li>
<li>ਮੇਰੇ ਵਿੱਚ ਇਕ ਜੋਸ਼ ਭਰ ਗਿਆ <br> [In me] [a fervour] [filled] <br> I was filled with a fervour</li>
<li>ਮੇਰੇ ਕੋਲ ਕੇਵਲ ਦੋ ਕਮੀਜ਼ਾਂ ਸਨ <br> [with me] [just] [two shirts] [were] <br> There were just two shirts with me </li>
<li>ਮੇਰੇ ਲਾਗੇ ਇਕ ਬਕਸਾ ਪਿਆ ਸੀ <br> [Near me] [a box] [was lying]. A box was lying near me.</li>
</ul>
</td>
 <td><u> ਸਾਡੇ ਉੱਤੇ, ਸਾਡੇ ਵਿੱਚ, ਸਾਡੇ ਕੋਲ਼, ਸਾਡੇ ਲਾਗੇ, ਅਪਣੇ ਉੱਤੇ, ਅਪਣੇ ਵਿੱਚ, ਅਪਣੇ ਕੋਲ਼, ਅਪਣੇ ਲਾਗੇ </u>
<ul>
<li>ਸਾਡੇ ਉਤੇ ਪਾਣੀ ਪੈ ਗਿਆ <br> [On us] [water] [fell] <br> Water fell on us </li>
<li>ਸਾਡੇ ਵਿੱਚ ਕਈ ਗਾਉਣ ਵਾਲੇ ਸਨ <br> [Amongst us] [many singers] [were] <br> Many singers were amongst us </li>
<li>ਸਾਡੇ ਕੋਲ ਹਥਿਆਰ ਸਨ <br> [With us] [weapons] [were] <br> We had weapons with us</li>
<li>ਸਾਡੇ ਲਾਗੇ ਇਕ ਤਾਲਾਬ ਹੈ <br> [Near us] [a pond] [is] <br> (There) is a pond near us </li>
</ul>
</td>
</tr><tr>
<th>Sumbodhan</th>
 <td> </td>
 <td> </td>
</tr>
</table>


<h2>Second Person | ਦੂਜਾ ਪੁਰਖ</h2>
<p>The Second person pronoun are  ਤੂੰ (singular) and ਤੁਸੀਂ (plural). These pronouns change form according to Noun cases as follows:</p>
<table>
<tr>
 <th>Case/Kaaruk</th>
 <th>Singular</th>
 <th>Plural</th>
</tr><tr>
 <th>Kurtaa <br> (Subjective) </th>
 <td><u>ਤੂੰ</u> <br>
<ul>
<li>ਤੂੰ ਬਹੁਤ ਮਿਹਨਤ ਕਰਦੀ ਹੈਂ <br> [You] [very hard work] [do] <br> You(girl) work very hard </li>
</ul>
</td>
 <td>
<u>ਤੁਸੀਂ, ਤੁਸਾਂ </u><br>
<ul>
<li>ਤੁਸੀਂ ਪਿੰਡ ਪਹੁੰਚ ਕੇ ਮੈਨੂੰ ਫੋਨ ਕਰਿਓ <br> [You] [village] [upon reaching] [to me] [call] <br> (you) call me upon reaching the village</li>
</ul>
</td>
</tr><tr>
 <th>Kurum <br> (Objective) </th>
 <td>
<u>ਤੈਨੂੰ </u><br>
<ul>
<li>ਦੋਸਤਾਂ ਨੇ ਤੈਨੂੰ ਵਧਾਈ ਦਿੱਤੀ <br>[Friends] [to you] [congratulations] [gave] <br> Friends congratulated you </li>
</ul>
</td>
 <td>
<u>ਤੁਹਾਨੂੰ </u><br>
<ul>
<li>ਤੁਹਾਨੂੰ ਪੂਰੀ ਮਦਦ ਮਿਲੇਗੀ <br>[You] [full help] [will receive] <br> You will receive full help</li>
</td>
</tr><tr>
 <th>Kurun <br>(Instrumental)</th>
 <td>
<u> ਤੈਥੋਂ, ਤੇਰੇ ਰਾਹੀਂ, ਤੇਰੇ ਦੁਆਰਾ </u>
<ul>
<li> ਤੇਰੇ ਰਾਹੀਂ ਉਹਦਾ ਸਾਰਾ ਕੰਮ ਹੋ ਗਿਆ </li>
</ul>
</td>
 <td> 
<u> ਤੁਹਾਥੋਂ,ਤੁਹਾਡੇ ਤੋਂ, ਤੁਹਾਡੇ ਰਾਹੀਂ </u><br>
<ul>
<li>ਓਹਨਾਂ ਨੂੰ ਤੁਹਾਡੇ ਤੋਂ ਤਿਆਰ ਹੋਇਆ ਪ੍ਰੌਜੈਕਟ ਪਸੰਦ ਆਵੇਗਾ <br> [to them] [from you] [prepared] [project] [will like] <br> They will like a project prepared by you.</li>
<li>ਉਹਨਾਂ ਨੇ ਤੁਹਾਥੋਂ ਏਨਾ ਕੰਮ ਕਰਵਾਇਆ <br>[They] [from you] [this much work] [got done] <br> They got so much work done from you </li>
</ul>
</td>
</tr><tr>
<th>Sumpurdaan <br> (Dative)</th>
 <td>
<u> ਤੈਨੂੰ, ਤੇਰੇ ਲਈ, ਤੇਰੇ ਵਾਸਤੇ </u><br>
<ul>
<li>ਤੈਨੂੰ ਚੰਗਾ ਸਬਕ ਮਿਲਿਆ <br> [You] [good lesson] [received] <br> You received a good lesson</li>
<li>ਪਿਤਾਜੀ ਨੇ ਤੇਰੇ ਲਈ ਨਵੇਂ ਕਪੜੇ ਖਰੀਦੇ ਹਨ <br> [Father] [for you] [new clothes] [has bought] <br> Father has bought new clothes for you </li>
</ul>
</td>
 <td> 
<u>ਤੁਹਾਨੂੰ, ਤੁਹਾਡੇ ਲਈ, ਤੁਹਾਡੇ ਵਾਸਤੇ </u><br>
<ul>
<li>ਤੁਹਾਨੂੰ ਬੇਸ਼ੁਮਾਰ ਦੌਲਤ ਪ੍ਰਾਪਤ ਹੋਈ <br>[you] [great wealth] [received] <br> You received great wealth </li>
<li>ਮੈਂ ਤੁਹਾਡੇ ਵਾਸਤੇ ਕੁਝ ਖਾਸ ਲੈਕੇ ਆਇਆਂ ਹਾਂ <br> [I] [for you] [something special] [have brought] <br> I have brought something special for you</li>
</ul>
</td>
</tr><tr>
 <th>Upaadaan <br> (Ablative)</th>
 <td>
<u> ਤੈਥੋਂ, ਤੇਰੇ ਕੋਲ਼ੋ, ਤੇਰੇ ਉੱਤੋਂ, ਤੇਰੇ ਲਾਗਿਓਂ </u><br>
<ul>
<li>ਤੇਰੇ ਕੋਲੋਂ ਮਿਲੇ ਪੈਸੇ ਮੇਰੇ ਬਹੁਤ ਕੰਮ ਆਏ <br>[From you] [got money] [to me] [helped a lot] <br> The money I got from you helped me a lot</li>
<li>ਤੇਰੇ ਕੋਲੋਂ ਸੁਣ ਕੇ ਉਸਨੇ ਮੈਨੂੰ ਦੱਸ ਦਿੱਤਾ <br> [From you] [upon listening] [he/she] [to me] [told] <br> He told it to me upon hearing it from you  </li>
</ul>
</td>
 <td>
<u> ਤੁਹਾਥੋਂ, ਤੁਹਾਡੇ ਕੋਲੋਂ, ਤੁਹਾਡੇ ਲਾਗਿਓਂ</u><br>
<ul>
<li>ਤੁਹਾਡੇ ਕੋਲੋਂ ਪਿਆਰ ਪਾ ਕੇ ਮੇਰੀ ਜਿੰਦਗੀ ਬਦਲ ਗਈ <br> [From you] [getting love] [my life] [changed] <br> My life changed on getting love from you</li>
</ul>
</td>
</tr><tr>
 <th>Sumbundh <br> (Relational)</th>
 <td>
<u>ਤੇਰਾ, ਤੇਰੇ, ਤੇਰੀ, ਤੇਰੀਆਂ, ਤੇਰਿਆਂ </u><br>
<ul>
<li>ਤੇਰਾ ਸਾਈਕਲ(masc. sing.) <br> Your bicyle</li>
<li>ਤੇਰੇ ਸਾਈਕਲ(masc. plu.) <br> Your bicycles</li>
<li>ਤੇਰੀ ਜੈਕੇਟ(fem. sing.) <br> Your Jacket</li>
<li>ਤੇਰੀਆਂ ਜੈਕੇਟਾਂ(fem. plu.) <br> Your Jackets</li>
<hr>
<li>ਤੇਰਿਆਂ ਭਰਾਵਾਂ ਦਾ ਸਹਾਰਾ ਤੈਨੂੰ ਹਮੇਸ਼ਾ ਮਿਲੇਗਾ <br> [Your brothers's] [support] [to you] [will always get] <br> You will always get your brothers' support</li>
</ul>

</td>
 <td> <u> ਤੁਹਾਡਾ, ਤੁਹਾਡੀ, ਤੁਹਾਡੇ, ਤੁਹਾਡੀਆਂ </u>
<ul>
<li>ਤੁਹਾਡਾ ਅਸ਼ੀਰਵਾਦ ਮੇਰੇ ਸਿਰ ਤੇ ਹੈ <br>[Your blessing] [mine head] [on] [is] <br> You blessing is always with me </li>
<li>ਤੁਹਾਡੀ ਗੱਲ ਮੈਨੂੰ ਸਦਾ ਯਾਦ ਰਹੇਗੀ <br>[Your words] [to me] [always] [will remember] <br> I will always remember your words </li>
<li>ਤੁਹਾਡੇ ਹੱਥ ਬੜੇ ਕੋਮਲ ਹਨ <br> [Your hands] [very soft] [are] <br> Your hands are very soft</li>
<li>ਤੁਹਾਡੀਆਂ ਅੱਖਾਂ ਬੜੀਆਂ ਸੁਹਣੀਆਂ ਹਨ <br>[Your eyes] [very beautiful] [are] <br> Your eyes are very beautiful</li>
</ul>
</td>
</tr><tr>
 <th>Udhikurun <br> (Locative)</th>
 <td><u> ਤੇਰੇ ਉੱਤੇ, ਤੇਰੇ ਵਿੱਚ, ਤੇਰੇ ਕੋਲ਼, ਤੇਰੇ ਲਾਗੇ </u>
<ul>
<li>ਤੇਰੇ ਉੱਤੇ ਲੱਖਾਂ ਦਾ ਕਰਜ਼ਾ ਹੈ <br>{upon you] [of lakhs] [debt] [is] <br> There is debt of lakhs of rupees on you</li>
<li>ਤੇਰੇ ਵਿੱਚ ਜੋ ਗੁਣ ਹੈ ਉਹ ਹੋਰ ਕਿਸੇ ਕੋਲ ਨਹੀਂ <br> [In you] [which] [merit/virtue] [have] [that] [with any other(person)] [not(is)] <br> The virtue which you have is not present in any other person </li>
<li>ਕੀ ਤੇਰੇ ਕੋਲ ਨਿਤਨੇਮ ਦਾ ਗੁਟਕਾ ਹੈ? <br>[do] [with you] [book of Nitnem (Sikh daily prayers)] [have?] <br> Do you have the book of Nitnem with you?</li>
</ul>
</td>
 <td><u> ਤੁਹਾਡੇ ਉੱਤੇ, ਤੁਹਾਡੇ ਵਿੱਚ, ਤੁਹਾਡੇ ਕੋਲ਼, ਤੁਹਾਡੇ ਲਾਗੇ </u>
<ul>
<li>ਤੁਹਾਡੇ ਉੱਤੇ ਕੋਈ ਇਲਜ਼ਾਮ ਨਾ ਆਵੇ <br>[Upon you] [any blame] [(may) not come] <br> May no blame come upon you </li>
<li>ਤੁਹਾਡੇ ਕੋਲ ਲਿਖਣ ਲਈ ਪੈੱਨ ਹੈ? <br> [With you] [for writing] [pen] [is?] <br> Do you have a pen for writing?</li>
<li>ਤੁਹਾਡੇ ਲਾਗੇ ਇਕ ਨੀਲਾ ਕਪੜਾ ਪਿਆ ਹੈ [Near you] [one/a blue cloth] [is lying] <br> There is a blue cloth lying near you</li>
</ul>
</td>
</tr><tr>
<th>Sumbodhan</th>
 <td> </td>
 <td> </td>
</tr>
</table>


<h2>Third Person | ਤੀਜਾ ਪੁਰਖ</h2>
<p>The Third person pronouns are ਉਹ and ਇਹ. ਉਹ is used for both singular and plural masculine as well as feminine nouns. The pronoun ਇਹ is used instead of ਉਹ when the noun being talked about is located near the speaker. On the other hand if the noun is located far from the speaker ਉਹ is used. For example if some one is standing far away from me I can say this about him: ਉਹ ਬੜਾ ਵਧੀਆ ਗਾਉਂਦਾ ਹੈ (He sings very well). But if that someone is standing close to me I would say: ਇਹ ਬੜਾ ਵਧੀਆ ਗਾਉਂਦਾ ਹੈ (He sings very well) </p>
<table>
<tr>
 <th>Case/Kaaruk</th>
 <th>Singular</th>
 <th>Plural</th>
</tr><tr>
 <th>Kurtaa <br> (Subjective) </th>
 <td><u>ਇਹ, ਉਹ, ਇਹਨੇ, ਉਹਨੇ, ਇਸਨੇ, ਉਸਨੇ</u> <br>
<ul>
<li>ਮੈਂ ਅਪਣੇ ਭਰਾ ਨਾਲ ਆਇਆ ਹਾਂ । ਇਹ ਸਕੂਲ ਵਿਚ ਪੜ੍ਹਦਾ ਹੈ। ਇਹਨੇ ਕੰਪਿਊਟਰ ਦਾ ਕੰਮ ਸਿੱਖਿਆ ਹੋਇਆ ਹੈ। <br>[I] [my brother] [with] [have come]. [He] [in school] [studies] <br> I have come with my brother. He studies in school.</li>
<li>ਮੇਰਾ ਦੋਸਤ ਅਮਰੀਕਾ ਗਿਆ ਹੋਇਆ ਹੈ। ਉਹ ਓਥੇ ਇਕ ਕੰਪਨੀ ਵਿਚ ਮੈਨੇਜਰ ਹੈ। ਉਹਨੇ ਅਗਲੇ ਮਹੀਨੇ ਇੰਡੀਆ ਵਾਪਿਸ ਆਉਣਾ ਹੈ। [My friend] [America] [has gone]. [He] [there] [in a company] [manager] [is] <br> My friend has gone to America. He is a manager in a company there.</li>
</ul>
</td>
 <td>
<u>ਇਹ, ਉਹ, ਇਹਨਾਂ ਨੇ, ਉਹਨਾਂ ਨੇ </u><br>
<ul>
<li>ਮੇਰੇ ਨਾਲ ਕੁਝ ਦੋਸਤ ਆਏ ਹਨ। ਇਹ ਮੇਰਾ ਘਰ ਦੇਖਣਾ ਚਾਹੁੰਦੇ ਹਨ। ਇਹਨਾ ਦੀ ਮੇਰੇ ਨਾਲ ਗੂੜ੍ਹੀ ਦੋਸਤੀ ਹੈ। [with me] [some friends] [have come]. [They] [my home] [want to see]. <br> Some friends have come with me. They wish to see my home</li>
<li>ਦੁਕਾਨ ਤੇ ਗ੍ਰਾਹਕਾਂ ਦੀ ਭੀੜ ਲੱਗੀ ਸੀ। ਉਹ ਸੇਲ ਦਾ ਫਾਇਦਾ ਲੈਣਾ ਚਾਹੁੰਦੇ ਸਨ। ਉਹਨਾਂ ਨੇ ਬਹੁਤ ਸਾਮਾਨ ਖਰੀਦਿਆ। <br> [On/at shop] [customers's crowd] [was there]. [They] [benefit of a discount-sale] [wanted to take].[They][lot of things][bought].<br> There was a crowd of customers at the shop. They wanted to benefit from the sale. They bought a lot of things</li>
</ul>
</td>
</tr><tr>
 <th>Kurum <br> (Objective) </th>
 <td>
<u>ਇਹਨੂੰ, ਉਹਨੂੰ, ਇਸ ਨੂੰ, ਉਸ ਨੂੰ </u><br>
<ul>
<li>ਮੈਂ ਆਪਣੀ ਭੈਣ ਨੂੰ ਲੈਕੇ ਆਇਆ ਹਾਂ । ਇਹਨੂੰ ਵੀ ਸੰਗੀਤ ਦੀ ਸਿੱਖਿਆ ਦਿਓ। <br> [I] [with my sister] [have come]. [her too] [training of music] [give] <br> I have come with my sister. Give music training to her too.</li>
<li>ਰਵੀ ਤੁਹਾਡੇ ਕੋਲ ਆਏਗਾ, ਉਹਨੂੰ ਪੈਸੇ ਦੇ ਦਿਓ। [Ravi] [to you] [shall come], [to him] [ money] [give] <br> Ravi shall come to you. Give him the money.</li>
</ul>
</td>
 <td>
<u>ਇਹਨਾਂ ਨੂੰ, ਉਹਨਾਂ ਨੂੰ </u><br>
<ul>
<li>ਸਾਹਮਣੇ ਦੇਖੋ! ਬੱਚੇ ਬਾਰਿਸ਼ ਵਿਚ ਨ੍ਹਾ ਰਹੇ ਹਨ। ਇਹਨਾਂ ਨੂੰ ਠੰਡ ਲਗਣ ਦਾ ਡਰ ਨਹੀਂ ਹੈ। [Look ahead] [children] [in rain] [are bathing]. [To them] [fear of catching cold] [is not] <br> Look over there! children are bathing in rain. They have no fear of catching cold.</li>
<li>ਦਰਵਾਜੇ ਤੇ ਕੁਝ ਬੰਦੇ ਆਏ ਹਨ। ਉਹਨਾਂ ਨੂੰ ਕੀ ਚਾਹੀਦਾ ਹੈ? <br> [On/at door] [some people] [have come]. [They][what][need is] <br> There are some people at the door. What do they need?</li>
</td>
</tr><tr>
 <th>Kurun <br>(Instrumental)</th>
 <td>
<u> ਇਸ ਨਾਲ, ਉਸ ਨਾਲ, ਇਹਦੇ ਰਾਹੀਂ, ਉਹਦੇ ਰਾਹੀਂ </u>
<ul>
<li>ਸੁਖਪ੍ਰੀਤ ਮੇਰੇ ਕੋਲ ਹੀ ਹੈ। ਮੈਂ ਇਸ ਨਾਲ ਬਾਜ਼ਾਰ ਚਲੀ ਜਾਵਾਂਗੀ। <br>[Sukhpreet][with me] [is only].[I] [with her][market] [shall go].<br>Sukhpreet is with me only. I shall go to the market with her. </li>
<li>ਰਵੀ ਦਾ ਸੁਭਾਅ ਚੰਗਾ ਨਹੀਂ ਹੈ। ਉਸ ਨਾਲ ਕੰਮ ਕਰਨਾ ਬਹੁਤ ਔਖਾ ਹੈ। <br>[Nature of Ravi] [good] [is not].[with him] [to work] [is very difficult]<br> Ravi's nature is not good. Its difficult to work with him.</li>

</ul>
</td>
 <td> 
<u>ਇਹਨਾਂ ਨਾਲ, ਉਹਨਾਂ ਨਾਲ, ਇਹਨਾਂ ਰਾਹੀਂ, ਉਹਨਾਂ ਰਾਹੀਂ  </u><br>
<ul>
<li>ਇਹ ਮੇਰੀਆਂ ਬਣਾਈਆਂ ਤਸਵੀਰਾਂ ਹਨ। ਇਹਨਾਂ ਨਾਲ ਮੈਂ ਕਈ ਘੰਟੇ ਗੁਜ਼ਾਰ ਸਕਦਾਂ ਹਾਂ । <br>[These][my made paintings][are].[with these][I][many hours][can spend/pass]. <br>These paintings are made by me. I can spend many hours with them. </li>
<li>ਸਾਨੂੰ ਰਸੋਈ ਵਿਚੋਂ ਕੁਝ ਰੋਟੀਆਂ ਮਿਲ ਗਈਆਂ । ਉਹਨਾਂ ਨਾਲ ਸਾਡੀ ਭੁੱਖ ਮਿਟ ਗਈ। <br>[we][from kitchen][some rotis][found].[with those][our hunger][was satiated]<br> We found some rotis from the kitchen. Our hunger was satiated with them. </li>

</ul>
</td>
</tr><tr>
<th>Sumpurdaan <br> (Dative)</th>
 <td>
<u>ਇਹਨੂੰ, ਉਹਨੂੰ, ਇਹਦੇ ਲਈ, ਉਹਦੇ ਲਈ, ਇਹਦੇ ਵਾਸਤੇ, ਉਹਦੇ ਵਾਸਤੇ </u><br>
<ul>
<li>ਇਹ ਮੇਰਾ ਕੁੱਤਾ ਡਿਊਕ ਹੈ। ਮੈਂ ਇਹਨੂੰ ਖੇਡਣ ਲਈ ਗੇਂਦ ਦਿੱਤੀ ਹੈ। ਇਹਦੇ ਲਈ ਕਈ ਹੋਰ ਚੀਜ਼ਾਂ ਵੀ ਹਨ। <br>[This][my dog Duke][is].[I][to him][for playing][ball][have given]. This is my dog Duke. I have given him a ball to play.</li>
<li>ਪਹਿਲਾ ਮੇਰੇ ਕੋਲ ਇਕ ਘੋੜਾ ਹੁੰਦਾ ਸੀ। ਉਹਨੁੰ ਕਈ ਇਨਾਮ ਮਿਲੇ ਸਨ। ਉਹਦੇ ਲਈ ਇਕ ਟ੍ਰੇਨਰ ਆਉਂਦਾ ਹੁੰਦਾ ਸੀ।<br>[Earlier][with me][a horse][had].[To him][many prizes][had got].<br> Earlier I had a horse. He had received many prizes.</li>
</ul>
</td>
 <td> 
<u> ਇਹਨਾਂ ਨੂੰ, ਉਹਨਾਂ ਨੂੰ, ਇਹਨਾਂ ਲਈ, ਉਹਨਾਂ ਲਈ, ਇਹਨਾਂ ਵਾਸਤੇ, ਉਹਨਾਂ ਵਾਸਤੇ  </u><br>
<ul>
<li>ਮੇਰੇ ਬੂਟ ਗੰਦੇ ਹੋ ਗਏ ਹਨ। ਇਹਨਾਂ ਨੂੰ ਧੋਣਾ ਪਵੇਗਾ।<br>[Mine boots][dirty][have become].[to these][wash][will have to].<br>My boots have become dirty. These will have to be washed.</li>
<li>ਗਰਮੀ ਵਿੱਚ ਬੂਟੇ ਸੁੱਕ ਕੇ ਮਰ ਗਏ। ਉਹਨਾਂ ਨੂੰ ਕਿਸੇ ਨੇ ਪਾਣੀ ਨਹੀਂ ਦਿੱਤਾ। <br>[In heat][plants][on drying up][died].[To them][nobody][water][did not give].<br> Plants dried up and died in the heat. Nobody watered them.</li>
</ul>
</td>
</tr><tr>
 <th>Upaadaan <br> (Ablative)</th>
 <td>
<u> ਇਸ ਤੋਂ, ਉਸ ਤੋਂ, ਇਹਦੇ ਕੋਲ਼ੋ, ਉਹਦੇ ਕੋਲ਼ੋ </u><br>
<ul>
<li> ਕ੍ਰਿਕਿਟ ਦਾ ਕ੍ਰੇਜ਼ ਸਭ ਪਾਸੇ ਫੈਲਿਆ ਹੋਇਆ ਹੈ। ਇਸ ਤੋਂ ਬਚਣਾ ਮੁਸ਼ਕਿਲ ਹੈ। <br>[craze of Cricket][all over][has spread].[from this][escape][is difficult].<br>Craze of Cricket is spread all around. Its difficult to escape from it. </li>
<li> ਮੇਰੇ ਨਾਲ ਮੇਰਾ ਦੋਸਤ ਆਇਆ ਹੈ। ਇਸ ਤੋਂ ਸਾਮਾਨ ਫੜ ਲੈ। <br>[with me][my friend][has come],[from him][luggage/bags][take].<br> My friend has come with me. Take his bags from him.</li>
</ul>
</td>
 <td>
<u> ਇਹਨਾਂ ਤੋਂ, ਉਹਨਾਂ ਤੋਂ, ਇਹਨਾਂ ਕੋਲੋਂ, ਉਹਨਾਂ ਕੋਲੋਂ, ਇਹਨਾਂ ਲਾਗਿਓਂ, ਉਹਨਾਂ ਲਾਗਿਓਂ  </u><br>
<ul>
<li> ਬਾਲਟੀ ਦੇ ਥੱਲੇ'ਚ ਗਲੀਆਂ ਹੋ ਗਈਆਂ ਹਨ। ਇਹਨਾਂ' ਚੋਂ ਪਾਣੀ ਚੋ ਰਿਹਾ ਹੈ। <br>[On bottom of bucket][holes][have appeared].[from these][water][is leaking]<br>Holes have appeared on the bottom of the bucket. Water is leaking from these.</li>
<li> ਇੰਟਰਵਿਯੂ ਲਈ ਬਹੁਤ ਕੁੜੀਆਂ ਆਈਆਂ। ਉਹਨਾਂ 'ਚੋਂ ਦੋ ਨੂੰ ਚੁਣ ਲਿਆ ਗਿਆ। <br>[for interview][many girls][came].[Out of those][two][were selected]. <br> Many girls came for the interview. Two were selected out of them.</li>
</ul>
</td>
</tr><tr>
 <th>Sumbundh <br> (Relational)</th>
 <td>
<u>ਇਹਦਾ, ਉਹਦਾ, ਇਹਦੀ, ਉਹਦੀ, ਇਹਦੇ, ਉਹਦੇ, ਇਹਦੀਆਂ, ਉਹਦੀਆਂ </u><br>
<ul>
<li>ਇਹਦਾ ਸਾਈਕਲ(masc. sing.) <br>His bicycle</li>
<li>ਇਹਦੇ ਸਾਈਕਲ(masc. plu.) <br>His bicycles</li>
<li>ਇਹਦੀ ਜੈਕੇਟ (fem. sing.) <br>His jacket</li>
<li>ਇਹਦੀਆਂ ਜੈਕੇਟਾਂ(fem. plu.)His jackets</li>
<hr>
<li>ਮੇਰਿਆਂ ਭਰਾਵਾਂ --??ਦਾ ਪਿਆਰ</li>
</ul>

</td>
 <td> <u> ਇਹਨਾਂ ਦਾ, ਉਹਨਾਂ ਦਾ, ਇਹਨਾਂ ਦੀ, ਉਹਨਾਂ ਦੀ, ਇਹਨਾਂ ਦੇ, ਉਹਨਾਂ ਦੇ, ਇਹਨਾਂ ਦੀਆਂ, ਉਹਨਾਂ ਦੀਆਂ </u>
<ul>
<li> ਸਭ ਖਿਡਾਰੀ ਆਰਾਮ ਕਰ ਰਹੇ ਹਨ। ਇਹਨਾਂ ਦਾ ਮੈਚ ਕੱਲ ਨੂੰ ਹੈ। <br>[All player][are resting].[match of these][is tomorrow]<br>All the players are resting. There match is tomorrow</li>
<li> ਸਭ ਮਜ਼ਦੂਰ ਹੜਤਾਲ ਤੇ ਹਨ। ਉਹਨਾਂ ਦੀਆਂ ਕਈ ਮੰਗਾਂ ਹਨ। <br>[All labourers][are on strike].[of there][many demands are]<br> All labourers are on strike. They have many demands.</li>
</ul>
</td>
</tr><tr>
 <th>Udhikurun <br> (Locative)</th>
 <td><u> ਇਹਦੇ ਕੋਲ, ਉਹਦੇ ਕੋਲ, ਇਹਦੇ ਲਾਗੇ, ਉਹਦੇ ਲਾਗੇ </u>
<ul>
<li>ਮੋਹਨ ਅਕਸਰ ਲਿਖਦਾ ਰਹਿੰਦਾ ਹੈ, ਇਹਦੇ ਕੋਲ ਪੈੱਨ ਜ਼ਰੂਰ ਹੋਇਗਾ <br>[Mohun][often][is writing].[with him][pen][must have].<br>Mohun writes often. He must have a pen with him.</li>
<li>ਜਸਬੀਰ ਮੇਰੀ ਕਾਰ ਲੈਕੇ ਗਿਆ ਹੈ ਕਿਉਂਕਿ ਉਹਦੇ ਕੋਲ ਕਾਰ ਨਹੀਂ ਹੈ <br>[Jasbir][my car][has taken][because][with him][car][is not].<br>Jasbir has taken my car as he does not have a car.</li>
</ul>
</td>
 <td><u> ਇਹਨਾਂ ਕੋਲ, ਉਹਨਾਂ ਕੋਲ, ਇਹਨਾਂ ਲਾਗੇ, ਉਹਨਾਂ ਲਾਗੇ   </u>
<ul>
<li>ਇਥੇ ਰਹਿਣ ਵਾਲੇ ਲੋਕ ਗਰੀਬ ਹਨ। ਇਹਨਾਂ ਕੋਲ ਪੈਸੇ ਨਹੀਂ ਹਨ। <br>[people living here][are poor].[with them][money][are not].<br> People living here are poor. They do not have money </li>
<li> ਸ਼ਹਿਰ ਦੇ ਲੋਕ ਪੜ੍ਹੇ ਲਿਖੇ ਹੁੰਦੇ ਹਨ, ਉਹਨਾਂ ਕੋਲ ਗਿਆਨ ਦੀ ਤਾਕਤ ਹੁੰਦੀ ਹੈ <br>[People of city][educated][are].[with them][power of knowledge][is there].<br> People of cities are educated. They have the power of knowledge.</li>
</ul>
</td>
</tr><tr>
<th>Sumbodhan</th>
 <td> </td>
 <td> </td>
</tr>
</table>


</html>
!ਪਾਠ ਯੋਜਨਾ
|ਜਮਾਤ: ਸੱਤਵੀਂ |ਵਿ.ਅਧਿ. ਦਾ ਰੋਲ ਨੰ:......... |
|ਸਮਾਂ: ੪੦ ਮਿੰਟ |ਵਿਸ਼ਾ: ਪੰਜਾਬੀ |
|ਮਿਤੀ: .......|ਉਪਵਿਸ਼ਾ: ਇੱਛਾਬਲ ਤੇ ਡੂੰਘੀਆਂ ਸ਼ਾਮਾ(ਕਵਿਤਾ) |
!ਵਿਸ਼ੇਸ਼ ਉਦੇਸ਼
1. ਕਵਿਤਾ ਉਪਰੰਤ ਵਿਦਿਆਰਥੀ ਹੇਠ ਲਿਖੇ ਵਿਚਾਰਾਂ ਅਤੇ ਭਾਵਾਂ ਨਾਲ ਜਾਣੂ ਹੋਣਗੇ:
    -ਚਸ਼ਮੇ ਦੀ ਸਮੁੰਦਰ ਨੂੰ ਮਿਲਣ ਦੀ ਵੇਦਨਾ
    -ਚਸ਼ਮੇ ਅਤੇ ਸਮੁੰਦਰ ਦੇ ਪ੍ਰਤੀਕ ਰਾਹੀਂ ਕਵਿਤਾ ਵਿਚ ਦਰਸਾਇਆ ਇਕ ਜਿਗਿਆਸੂ ਆਤਮਾ ਦਾ ਪਰਮਾਤਮਾ ਪ੍ਰਤੀ ਪਿਆਰ 
2. ਕਵਿਤਾ ਵਿਚ ਚਿਤ੍ਰਿਤ ਭਾਵ ਅਤੇ ਦ੍ਰਿਸ਼ ਦੀ ਸੁੰਦਰਤਾ ਦਾ ਬੋਧ ਕਰ ਸਕਣਗੇ।
2. ਵਿਦਿਆਰਥੀ ਇਹਨਾ ਭਾਵਾਂ ਨੂੰ ਆਪਣੇ ਸ਼ਬਦਾਂ ਵਿਚ ਵਿਅਕਤ ਕਰ ਸਕਣਗੇ।
3. ਕਵਿਤਾ ਵਿਚਲੀ ਨਵੀਂ ਸ਼ਬਦਾਵਲੀ ਨੂੰ ਸਿਖ ਕੇ ਪ੍ਰਯੋਗ ਕਰ ਸਕਣਗੇ। 
4. ਕਵਿਤਾ ਦਾ ਲੈਆਤਮਕ ਤੇ ਭਾਵ-ਪੂਰਤ ਵਾਚਨ ਕਰਨਾ ਸਿੱਖ ਸਕਣਗੇ।
!ਸਹਾਇਕ ਸਮੱਗਰੀ
* ਕਵੀ ਭਾਈ ਵੀਰ ਸਿੰਘ ਦੀ ਤਸਵੀਰ
* ਪਹਾੜੀ ਚਸ਼ਮੇ ਦੀ ਤਸਵੀਰ
!ਪ੍ਰਸਤਾਵਨਾ ਤੇ ਪਾਠ-ਐਲਾਨ
ਵਿਦਿਆਰਥੀਆਂ ਤੋ ਹੇਠਲੇ ਪ੍ਰਸ਼ਨ ਪੁੱਛੇ ਜਾਣਗੇ:
੧. ਗਰਮੀ ਦਿਆਂ ਛੁਟੀਆਂ ਵਿਚ ਗਰਮੀ ਤੋਂ ਰਾਹਤ ਪਾਉਣ ਲਈ ਲੋਕ ਕਿੱਥੇ ਜਾਣਾ ਪਸੰਦ ਕਰਦੇ ਹਨ? (ਸ਼ਿਮਲਾ....ਠੰਢੀਆਂ ਥਾਵਾਂ ਤੇ...ਪਹਾੜਾਂ ਤੇ ਆਦਿ)
੨. ਅਜਿਹੀਆਂ ਥਾਵਾਂ ਤੇ ਕਿਹੋ ਜਿਹੇ ਕੁਦਰਤੀ ਨਜ਼ਾਰੇ ਦੇਖਣ ਨੂੰ ਮਿਲਦੇ ਹਨ? (ਉਚੇ ਪਹਾੜ, ਢੂੰਗੀਆਂ ਖੱਡਾਂ, ਬੱਦਲ਼, ਨਦੀਆਂ ਆਦਿ)
ਅਜ ਅਸੀਂ ਇਹੋ ਜਿਹੇ ਹੀ ਇਕ ਪਹਾੜੀ ਝਰਨੇ ਬਾਰੇ ਲਿਖੀ ਇਕ ਕਵਿਤਾ ਪੜ੍ਹਣ ਲਗੇ ਹਾਂ। 
!ਭੂਮਿਕਾ
ਇਹ ਕਵਿਤਾ ਭਾਈ ਵੀਰ ਸਿੰਘ ਜੀ ਦੀ ਲਿਖੀ ਹੋਈ ਹੈ। ਭਾਈ ਵੀਰ ਸਿੰਘ ਇਕ ਅਧਿਆਤਮਵਾਦੀ ਕਵੀ ਸਨ ਜਿਨ੍ਹਾਂ ਨੇ ਕੁਦਰਤ ਬਾਰੇ ਬਹੁਤ ਸਾਰੀਆਂ ਕਵਿਤਾਵਾਂ ਲਿਖੀਆਂ ਹਨ। ਇਸ ਕਵਿਤਾ ਵਿਚ ਵੀ ਉਹਨਾ ਨੇ ਚਸ਼ਮੇ ਅਤੇ ਸਮੁੰਦਰ ਦੇ ਪ੍ਰਤੀਕ ਰਾਹੀਂ ਆਪਣੀ ਪਰਮਾਤਮਾ ਨੂੰ ਮਿਲਣ ਦੀ ਚਾਹਤ ਨੂੰ ਵਿਅਕਤ ਕੀਤਾ ਹੈ।
!ਆਦਰਸ਼ ਵਾਚਨ
ਪੂਰੀ ਕਵਿਤਾ ਦਾ ਦੋ ਵਾਰੀ ਆਦਰਸ਼ ਵਾਚਨ ਕੀਤਾ ਜਾਵੇਗਾ। ਪਹਿਲੇ ਵਾਚਨ ਵੇਲੇ ਵਿਦਿਆਰਥੀਆਂ ਦੀਆਂ ਕਿਤਾਬਾਂ ਬੰਦ ਰਹਿਣਗੀਆਂ, ਉਹ ਕੇਵਲ ਇਕਾਗਰਤਾ ਨਾਲ ਵਾਚਨ ਸੁਣਨਗੇ। ਦੂਜੇ ਵਾਚਨ ਵੇਲੇ ਉਹ ਨਾਲੋ-ਨਾਲ ਆਪਣੀਆਂ ਕਿਤਾਬਾਂ'ਚੋਂ ਕਾਵਿ-ਪਾਠ ਪੜ੍ਹਣਗੇ।
>ਸੰਝ ਹੋਈ ਪਰਛਾਵੇਂ ਢਲ ਗਏ, ਕਿਉਂ ਇੱਛਾਬਲ ਤੂੰ ਜਾਰੀ
>ਨੈਂਂ-ਸਰੋਦ ਕਰ ਰਹੀ ਉਵੇਂ ਹੀ, ਤੇ ਤੁਰਨੋ ਵੀ ਨਹੀ ਹਾਰੀ
>ਪੰਛੀ ਤੇ ਸੈਲਾਨੀ ਮਾਲੀ ਹਨ ਸਭ ਆਰਾਮ ਵਿਚ ਆਏ
>ਸਹਿਮ-ਸੁਆਦਲਾ ਛਾ ਰਿਹਾ ਸਾਰੇ ਤੇ ਕੁਦਰਤ ਟਿਕ ਗਈ ਸਾਰੀ।

>ਸੀਨੇ ਖਿੱਚ ਜਿਨ੍ਹਾਂ ਨੇ ਖਾਧੀ ਉਹ ਕਰ ਆਰਾਮ ਨਹੀਂ ਬਹਿੰਦੇ,
>ਨਿਹੁੰ ਵਾਲੇ ਨੈਣਾ ਕੀ ਨੀਂਦਰ, ਉਹ ਦਿਨੇ ਰਾਤ ਪਏ ਵਹਿੰਦੇ,
>ਇਕੋ ਲਗਨ ਲਗੀ ਲਈ ਜਾਂਦੀ ਹੈ ਟੋਰ ਅਨੰਤ ਉਨ੍ਹਾਂ ਦੀ,
>ਵਸਲੋਂ ਉਰੇ ਮੁਕਾਮ ਨਾ ਕੋਈ, ਸੋ ਚਾਲ ਪਏ ਨਿਤ ਰਹਿੰਦੇ।
!ਅਨੁਕਰਣ ਵਾਚਨ
>ਸੰਝ ਹੋਈ ਪਰਛਾਵੇਂ ਢਲ ਗਏ, ਕਿਉਂ ਇੱਛਾਬਲ ਤੂੰ ਜਾਰੀ
>..........................................................
>.............................................................
>ਸਹਿਮ-ਸੁਆਦਲਾ ਛਾ ਰਿਹਾ ਸਾਰੇ ਤੇ ਕੁਦਰਤ ਟਿਕ ਗਈ ਸਾਰੀ।
!ਭਾਵ-ਵਿਆਖਿਆ:- 
ਚਸ਼ਮਾ ਇਛਾਬਲ ਕਸ਼ਮੀਰ ਦੀ ਵਾਦੀ ਦਾ ਇਕ ਬਹੁਤ ਖੂਬਸੂਰਤ ਝਰਨਾ ਹੈ। ਇਥੇ ਬਹੁਤ ਸਾਰੇ ਸੈਲਾਨੀ ਆਉਂਦੇ ਹਨ। ਕਵੀ ਨੇ ਇਕ ਡੂੰਘੀ ਸ਼ਾਮ ਵੇਲੇ ਦਾ ਵਰਣਨ ਕੀਤਾ ਹੈ ਜਿਸ ਵੇਲੇ ਹਰ ਪਾਸੇ ਹਨੇਰਾ ਹੋ ਗਿਆ ਹੈ ਤੇ ਸਭ ਪਾਸੇ ਚੁੱਪ ਛਾ ਗਈ ਹੈ। ਸਾਰੇ ਸੈਲਾਨੀ, ਪੰਛੀ ਤੇ ਮਾਲੀ(ਚਸ਼ਮੇ ਦੇ ਬਾਗ ਦੀ ਦੇਖਰੇਖ ਕਰਣ ਵਾਲੇ) ਆਪਣੇ ਘਰਾਂ ਨੂੰ ਮੁੜ ਗਏ ਹਨ। ਸਾਰੀ ਕੁਦਰਤ ਟਿਕਾਓ ਵਿਚ ਆ ਗਈ ਹੈ ਪਰ ਇਛਾਬਲ ਟਿਕਾਓ ਵਿਚ ਨਹੀਂ ਆਇਆ। ਓਹ ਉਸੇ ਤਰ੍ਹਾਂ ਨਿਰੰਤਰ ਵੈਹ ਰਿਹਾ ਹੈ। ਉਸਦਾ ਪਾਣੀ ਉਸੇ ਤਰ੍ਹਾਂ ਸੰਗੀਤ ਪੈਦਾ ਕਰ ਰਿਹਾ ਹੈ। ਕਵੀ ਚਸ਼ਮੇ ਨੂੰ ਇਸਦਾ ਕਾਰਣ ਪੁੱਛਦਾ ਹੈ।
!ਸ਼ਬਦਾਰਥ
ਸੰਝ- ਸ਼ਾਮ
ਨੈਂ-ਸਰੋਦ- ਪਾਣੀ ਦੇ ਵਹਿਣ ਦਾ ਸੰਗੀਤ
ਸੈਲਾਨੀ- ਸੈਰ ਕਰਣ ਵਾਲੇ
ਸਹਿਮ-ਸੁਆਦਲਾ- ਰਸ ਭਰਿਆ ਡਰ
!ਅਨੁਕਰਣ ਵਾਚਨ
>ਸੀਨੇ ਖਿੱਚ ਜਿਨ੍ਹਾਂ ਨੇ ਖਾਧੀ ਉਹ ਕਰ ਆਰਾਮ ਨਹੀਂ ਬਹਿੰਦੇ,
>.........................................................
>.........................................................
>ਵਸਲੋਂ ਉਰੇ ਮੁਕਾਮ ਨਾ ਕੋਈ, ਸੋ ਚਾਲ ਪਏ ਨਿਤ ਰਹਿੰਦੇ।
!ਭਾਵ-ਵਿਆਖਿਆ
ਚਸ਼ਮਾ ਉੱਤਰ ਵਿਚ ਕਹਿੰਦਾ ਹੈ ਕਿ ਜਿਨ੍ਹਾਂ ਦੇ ਦਿਲਾਂ ਅੰਦਰ ਆਪਣੇ ਪ੍ਰੀਤਮ ਨੂੰ ਮਿਲਣ ਦੀ ਤੀਬਰ ਇੱਛਾ ਪੈਦਾ ਹੁੰਦੀ ਹੈ ਉਹ ਕਿਸੇ ਵੇਲੇ ਆਰਾਮ ਨਹੀਂ ਕਰਦੇ। ਆਪਣੇ ਪ੍ਰੀਤਮ ਨੂੰ ਮਿਲਣ ਦੀ ਬੇਚੈਨੀ ਉਹਨਾ ਨੂੰ ਸਦਾ ਲਗੀ ਰਹਿੰਦੀ ਹੈ। ਪ੍ਰੀਤਮ ਦੇ ਵਿਛੋੜੇ ਕਾਰਣ ਉਹਨਾਂ ਦੇ ਨੈਣਾ ਵਿਚ ਹੰਝੂ ਵਦੇ ਰਹਿੰਦੇ ਹਨ। ਪ੍ਰੀਤਮ ਨਾਲ ਮਿਲਾਪ ਵਾਸਤੇ ਉਹ ਸਦਾ ਚਲਦੇ ਹੀ ਰਹਿੰਦੇ ਹਨ। ਕੋਈ ਵੀ ਜਗ੍ਹਾ ਉਹਨਾਂ ਦਾ ਮੁਕਾਮ ਜਾਂ ਪੱਕਾ ਟਿਕਾਣਾ ਨਹੀਂ ਬਣਦੀ ਜਦ ਤਕ ਉਹ ਆਪਣੇ ਪ੍ਰੀਤਮ ਨੂੰ ਮਿਲ ਨਾ ਲੈਣ।
ਚਸ਼ਮੇ ਨੂੰ ਆਪਣੇ ਪ੍ਰੀਤਮ ਸਮੁੰਦਰ ਨੂੰ ਮਿਲਣ ਦੀ ਤੀਬਰ ਇੱਛਾ ਹੈ। ਉਸ ਦੀ ਮੰਜ਼ਿਲ ਸਮੁੰਦਰ ਹੈ ਤੇ ਉਹ ਉਦੋਂ ਤਕ ਵਹਿੰਦਾ ਰਹਿੰਦਾ ਹੈ ਜਦ ਤਕ ਕਿ ਉਹ ਸਮੁੰਦਰ ਵਿਚ ਸਮਾ ਨਾ ਜਾਵੇ। ਇਹੀ ਲਗਨ ਉਸਨੂੰ ਦਿਨ ਅਤੇ ਰਾਤ ਤੋਰੀ ਰਖਦੀ ਹੈ। ਰਸਤੇ ਵਿਚ ਉਹ ਕਿਸੇ ਜਗ੍ਹਾ ਆਰਾਮ ਨਹੀਂ ਕਰਦਾ।
!ਸ਼ਬਦਾਰਥ
ਨਿਹੁੰ- ਪ੍ਰੇਮ
ਅਨੰਤ- ਜਿਸਦਾ ਅੰਤ ਨਾ ਹੋਵੇ
ਵਸਲ- ਮਿਲਾਪ
!ਕੇਂਦਰੀ ਭਾਵ
ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਕਵਿਤਾ ਦਾ ਕੇਂਦਰੀ ਭਾਵ ਸਰਲ ਸ਼ਬਦਾਂ ਵਿਚ ਦੱਸਿਆ ਜਾਵੇਗਾ:

ਜਿਨ੍ਹਾਂ ਵਿਅਕਤੀਆਂ ਦੇ ਦਿਲਾਂ ਵਿਚ ਪਰਮਾਤਮਾ ਨੂੰ ਮਿਲਣ ਦੀ ਤਾਂਘ ਪੈਦਾ ਹੋ ਜਾਂਦੀ ਹੈ ਉਹਨਾਂ ਨੂੰ ਹਰ-ਪਲ ਪਰਮਾਤਮਾ ਦੀ ਦੂਰੀ ਬੇਚੈਨ ਕਰਦੀ ਹੈ। ਪਰਮਾਤਮਾ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨਾ ਹੀ ਉਹਨਾ ਦੇ ਜੀਵਨ ਦਾ ਲਕਸ਼ ਹੁੰਦਾ ਹੈ। ਜਦ ਤਕ ਉਹ ਐਸਾ ਨਹੀਂ ਕਰ ਲੈਂਦੇ ਉਹ ਇਸ ਦਿਸ਼ਾ ਵਲ ਵਧਦੇ ਰਹਿੰਦੇ ਹਨ। ਆਪਣਾ ਵਜੂਦ ਪਰਮਾਤਮਾ ਵਿਚ ਮਿਲਾਉਣਾ ਹੀ ਉਹਨਾਂ ਦੀ ਮੰਜ਼ਿਲ ਹੁੰਦੀ ਹੈ।
!ਮੌਨ ਪਾਠ
ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਕਵਿਤਾ ਦਾ ਮੌਨ-ਪਾਠ ਕਰਣ ਦਾ ਮੌਕਾ ਦਿੱਤਾ ਜਾਵੇਗਾ। ਪਾਠ ਵਿਚਲੀ ਕੋਈ ਕਠਿਨਾਈ ਅਧਿਆਪਕ ਤੋਂ ਪੁੱਛ ਲੈਣ ਲਈ ਕਿਹਾ ਜਾਵੇਗਾ।
!ਮੁਲਾਂਕਣ
੧. ਇਹ ਕਵਿਤਾ ਕਿਸ ਦੁਆਰਾ ਲਿਖੀ ਗਈ ਹੈ?
੨. ਡੂੰਘੀ ਸ਼ਾਮ ਵੇਲੇ ਚਸ਼ਮੇ ਉਤੇ ਕਿਹੋ ਜਿਹਾ ਨਜ਼ਾਰਾ ਦੇਖਣ ਨੂੰ ਮਿਲਿਆ?
੩. ਕਵੀ ਨੇ ਚਸ਼ਮੇ ਨੂੰ ਕੀ ਪ੍ਰਸ਼ਨ ਕੀਤਾ?
੪. ਚਸ਼ਮੇ ਦੇ ਮਨ ਵਿਚ ਕਿਸ ਨੂੰ ਮਿਲਣ ਦੀ ਇੱਛਾ ਹੈ?
੫. 'ਨਿਹੁੰ ਵਾਲੇ ਨੈਣ' ਹਰ ਪਲ ਕਿਉਂ ਵਹਿੰਦੇ ਰਹਿੰਦੇ ਹਨ?
੬. ਇਸ ਕਵਿਤਾ ਵਿਚ ਚਸ਼ਮੇ ਤੇ ਸਮੁੰਦਰ ਦਾ ਪ੍ਰਤੀਕ ਲੈਕੇ ਕਿਸ ਬਾਰੇ ਗੱਲ ਕੀਤੀ ਗਈ ਹੈ?
੭. ਇਹਨਾਂ ਸ਼ਬਦਾਂ ਦੇ ਵਿਰੋਧਾਰਥਕ ਸ਼ਬਦ ਲਿਖੋ:
ਸੰਝ- ...........
ਆਰਾਮ-........
ਪ੍ਰੇਮ-............
ਅਨੰਤ-..........
ਵਸਲ-...........
!ਘਰ ਦਾ ਕੰਮ
੧. ਕਵੀ ਚਸ਼ਮੇ ਨੂੰ ਕੀ ਪ੍ਰਸ਼ਨ ਕਰਦਾ ਹੈ?
੨. ਚਸ਼ਮਾ ਕਵੀ ਨੂੰ ਕੀ ਉੱਤਰ ਦਿੰਦਾ ਹੈ?


<html><nowiki>
<h1>Adjectives | ਵਿਸ਼ੇਸ਼ਣ</h1>
<h2>Contents</h2>
<ul>
 <li><a href="#adjective-define">What are adjectives|ਵਿਸ਼ੇਸ਼ਣ ਕੀ ਹੁੰਦੇ ਹਨ?</a></li>
 <li><a href="#adjective-place">Place in the Sentence|ਵਾਕ ਵਿੱਚ ਥਾਂ</a></li>
 <li><a href="#adjective-twoBroadCategories">Two Broad categories|ਦੋ ਮੁੱਖ ਵਰਗ</a></li>
 <li><a href="#adjective-avikaari">Uninflected Adjectives|ਅਵਿਕਾਰੀ ਵਿਸ਼ੇਸਣ</a></li>
 <li><a href="#adjective-vikaari">Inflected Adjectives|ਵਿਕਾਰੀ ਵਿਸ਼ੇਸ਼ਣ</a></li>
 <li><a href="#adjective-vocabulary">Build Vocabulary|ਆਪਣਾ ਸ਼ਬਦ-ਭੰਡਾਰ ਵਧਾਓ</a></li>
 <li><a href="#adjective-practice">Practice|ਅਭਿਆਸ</a></li>
</ul>
<hr>
<h2><a name="adjective-define">What are adjectives|ਵਿਸ਼ੇਸ਼ਣ ਕੀ ਹੁੰਦੇ ਹਨ?</a></h2>
<p>Those words which describe a noun are known as adjectives or ਵਿਸ਼ੇਸ਼ਣ. An adjective can describe a noun by its quality, quantity, measure etc. In this aspect Punjabi adjectives are similar to English ones.</p>
<h2><a name="adjective-place">Place in the Sentence|ਵਾਕ ਵਿੱਚ ਥਾਂ</a></h2>
<p>An adjective is usually placed <b>before</b> the noun it describes. But in certain sentences they can come later too, before the verb/verb phrase. For example look at the adjective ਚਲਾਕ (clever):</p>
<blockquote><u>ਚਲਾਕ</u> ਵਪਾਰੀ - Clever businessman. </blockquote>
<p>In a sentence this can be written like this too:</p>
<blockquote>ਵਪਾਰੀ <u>ਚਲਾਕ</u> ਹੈ। - The businessman is clever.</blockquote>
<h2><a name="adjective-twoBroadCategories">Two Broad categories|ਦੋ ਮੁੱਖ ਵਰਗ</a></h2>
<p>In Punjabi adjectives may be divided into two categories:</p>
<ol>
  <li><u>Uninflected adjectives | ਅਵਿਕਾਰੀ ਵਿਸ਼ੇਸ਼ਣ</u>- Those that do not change their form according to gender, number and case. These are the wods which do not end with a kunna (ਾ).</li>
  <li><u>Inflected Adjectives | ਵਿਕਾਰੀ ਵਿਸ਼ੇਸ਼ਣ</u>- Those that change their form according to gender, number and case. These are the words which end with a kunna (ਾ).</li>
</ol>
<h2><a name="adjective-avikaari">Inflexive Adjectives|ਅਵਿਕਾਰੀ ਵਿਸ਼ੇਸਣ</a></h2>
These are the adjectives which do not change form according to the gender, number, and case of the noun they describe. Here are some examples of verbs in this category.
<blockquote>ਲਾਲ(red), ਬੁਧੂ (stupid), ਸੁੰਦਰ (beautiful), ਸਾਊ (guileless), ਸਫੈਦ (white), ਸਾਫ (clean, clear), ਗਰਮ (hot), ਨਰਮ (soft)</blockquote>
<p>Note that <b>none</b> of these words end with a kunna (ਾ).</p>
<p>Below the adjective ਲਾਲ (red) is used with singular and plural, masculine and feminine form of the noun ਘੋੜਾ (horse). Whereas the noun changes its form according to gender and number, the adjective does not.</p>
<table>
<caption>ਲਾਲ</caption>
<tr>
   <th rowspan="2"></th><th rowspan="2">Subject</th><th colspan="2">Verb</th><th rowspan="2">English</th>
</tr><tr>
   <th>masculine</th><th>feminine</th>
</tr><tr>
   <th>Singular</th><td>ਲਾਲ ਘੋੜਾ</td><td>ਦੌੜਦਾ ਹੈ </td><td></td><td>Red horse runs</td>
</tr><tr >
   <th>Plural</th><td>ਲਾਲ ਘੋੜੇ</td><td>ਦੌੜਦੇ ਹਨ</td><td></td><td>Red horses run</td>
</tr><tr>
   <th>Singular</th><td>ਲਾਲ ਘੋੜੀ</td><td></td><td>ਦੌੜਦੀ ਹੈ</td><td>Red horse(female) runs</td>
</tr><tr>
   <th>Plural</th><td>ਲਾਲ ਘੋੜੀਆਂ</td><td></td><td>ਦੌੜਦੀਆਂ ਹਨ</td><td>Red horses(females) run</td>
</tr>
</table>
Similarly the word ਘੋੜਾ retains its form even when the noun is used in different cases:
<blockquote>
ਲਾਲ ਘੋੜਾ (Simple case)<br>
ਲਾਲ ਘੋੜੇ ਨੇ (Karta kaarak)<br>
ਲਾਲ ਘੋੜੇ ਨੂੰ (Karam kaarak)<br>
ਲਾਲ ਘੋੜੇ ਨਾਲ (Karan Kaarak)<br>
ਲਾਲ ਘੋੜੇ ਵਾਸਤੇ (Sampardaan Kaarak)<br>
ਲਾਲ ਘੋੜੇ ਤੋਂ (Apaadaan kaarak)<br>
ਲਾਲ ਘੋੜੇ ਦਾ (Sambandh kaarak)<br>
ਲਾਲ ਘੋੜੇ ਉੱਤੇ (Adhikaran kaarak)<br>
ਲਾਲ ਘੋੜਿਆ! (Sambodhan kaarak)<br>
</blockquote>
<h2><a name="adjective-vikaari">Reflexive Adjectives|ਵਿਕਾਰੀ ਵਿਸ਼ੇਸ਼ਣ</a></h2>
<p> 
 The adjectives of the second category change their form according to gender, number and case of the noun. Some examples of such adjectives are:
<blockquote>ਛੋਟਾ (small), ਕਾਲਾ (black), ਸੋਹਣਾ (beautiful), ਬੁਰਾ (bad), ਭਾਰਾ (heavy) </blockquote>
All these end with a kunna(ਾ).
</p>
<table>
<caption>ਛੋਟਾ</caption>
<tr>
   <th rowspan="2"></th><th rowspan="2">Subject</th<th colspan="2">Verb</th><th rowspan="2">English</th>
</tr><tr>
   <th>masculine</th><th>feminine</th>
</tr><tr>
   <th>Singular</th><td>ਛੋਟਾ ਮੁੰਡਾ</td><td> ਰੋਣ ਲਗ ਪਿਆ</td><td></td><td>Small boy started crying</td>
</tr><tr>
<th>Plural</th><td>ਛੋਟੇ ਮੁੰਡੇ</td><td>ਰੋਣ ਲਗ ਪਏ</td><td></td><td>Small boys started crying</td>
</tr><tr>
      <th>Singular</th><td>ਛੋਟੀ ਕੁੜੀ</td><td></td><td>ਰੋਣ ਲਗ ਪਈ</td><td>Small girl started crying</td>
</tr><tr>
   <th>Plural</th><td>ਛੋਟੀਆਂ ਕੁੜੀਆਂ</td><td></td><td>ਰੋਣ ਲਗ ਪਈਆਂ</td><td>Small girls started crying</td>
</tr>
</table>
<p> The inflectied adjectives follow these general rules:</p>
<ol>
<li>With a masculine singular noun the adjective ends with a ਾ. For example ਵੱਡਾ ਮੰਜਾ (large bed), ਸੁਹਣਾ ਪੌਦਾ (beautiful plant), ਪਿਆਰਾ ਬੱਚਾ (sweet child(male))
<li>With a masculine plural noun the adjective ends with a ੇ. For example ਵੱਡੇ ਮੰਜੇ(large beds), ਸੁਹਣੇ ਪੌਦੇ (beautiful plants) , ਪਿਆਰੇ ਬੱਚੇ (sweet children)
<li>With a feminine singular noun the adjective ends with a ੀ. For example ਵੱਡੀ ਮੰਜੀ (large bed(feminine)), ਸੁਹਣੀ ਮੁੰਦਰੀ (beautiful ring), ਪਿਆਰੀ ਬੱਚੀ(sweet child(female))
<li>With a feminine plural noun the adjective ends with a ੀਆਂ. For example ਵੱਡੀਆਂ ਮੰਜੀਆਂ(large beds(feminine)), ਸੁਹਣੀਆਂ ਮੁੰਦਰੀਆਂ(beautiful rings(feminine), ਪਿਆਰੀਆਂ ਬੱਚੀਆਂ(sweet children(girls))
</ol>
<p style="font-weight: bold; border: thin solid blue; background-color: #B0C4DE; padding:0.5em;">Note: The nouns, like adjectives are either inflected or uninflected. An adjective which is of the inflected type will change form even if it comes with a noun which remains uninflected</p>
<p>For example: ਗੂੜ੍ਹਾ ਰੰਗ (dark color), ਗੂੜ੍ਹੇ ਰੰਗ (dark colors), 
<p>Here is a "Kaarak Sadhna" (case exercise) for singular masculine noun ਮੁੰਡਾ :</p>
<blockquote>
ਛੋਟਾ ਮੁੰਡਾ (Simple case)<br>
ਛੋਟੇ ਮੁੰਡੇ ਨੇ(Karta kaarak)<br>
ਛੋਟੇ ਮੁੰਡੇ ਨੂੰ (Karam kaarak)<br>
ਛੋਟੇ ਮੁੰਡੇ ਨਾਲ (Karan Kaarak)<br>
ਛੋਟੇ ਮੰਡੇ ਵਾਸਤੇ (Sampardaan Kaarak)<br>
ਛੋਟੇ ਮੁੰਡੇ ਤੋਂ (Apaadaan kaarak)<br>
ਛੋਟੇ ਮੁੰਡੇ ਦਾ (Sambandh kaarak)<br>
ਛੋਟੇ ਮੁੰਡੇ ਉੱਤੇ (Adhikaran kaarak)<br>
ਛੋਟਿਆ ਮੁੰਡਿਆ! (Sambodhan kaarak)<br>
</blockquote>
<h2><a name="adjective-vocabulary">Build Vocabulary|ਆਪਣਾ ਸ਼ਬਦ-ਭੰਡਾਰ ਵਧਾਓ</a></h2>
<table>
<tr>
 <th>ਆਕਾਰ(Shape/Size)</th><th>ਪਰਿਮਾਣ(size)</th><th>ਖੂਬਸੂਰਤੀ(Beauty)</th>
</tr><tr style="vertical-align: top;">
<td>
<ul>
<li>ਗੋਲ਼- Round <li>ਚੌਰਸ- Square <li>ਤਿਕੋਣਾ- triangle, three-sided <li>ਚਕੌਣਾ- four-sided <li>ਸਿੱਧਾ- straight <li>ਢੇਡਾ-crooked <li>ਪੱਧਰਾ- plain <li>ਸਮਤਲ- plain <li>ਵਲ਼ਦਾਰ- wrinkled <li>ਲਹਰਦਾਰ- wavy <li>ਚਪਟਾ- flat <li>ਉਭੜ-ਖਾਬੜ - Bumpy
</ul>
</td><td>
<ul>
<li>ਛੋਟਾ- small <li>ਵੱਡਾ-large, big <li>ਦਰਮਿਆਨਾ-medium <li>ਭਾਰਾ- heavy <li>ਨਿੱਕਾ-little <li>ਮੱਧਰਾ/ ਨਾਟਾ/ ਗਠਾ- small in height <li>ਚੌੜਾ- wide <li>ਸੌੜਾ- narrow <li>ਮੋਟਾ- fat <li>ਪਤਲਾ- thin, slim <li>ਲੰਮਾ- long, tall <li>ਲੰਮ-ਸਲੰਮਾ- tall <li>ਸਰੂ ਵਰਗਾ- tall like mustard plant <li>ਕੱਦਾਵਰ- having towering height <li>ਉੱਚਾ- high, tall <li>ਨੀਵਾਂ- low <li>ਹਲਕਾ-light, lightweight <li>ਛਾਂਟਿਆ- slim and trim <li>ਪੀਚ੍ਹਾ-ਜਿਹਾ- too small 
</ul>
</td><td>
<ul>
<li>ਸੁਹਣਾ- beautiful, handsome <li>ਖੂਬਸੂਰਤ- beautiful <li>ਆਕਰਸ਼ਕ-attractive <li>ਦਿਲਕਸ਼- charming <li>ਕੂੰਜ-ਵਰਗੀ- (fem)like a bird<br>(koonj is a small migratory bird) <li>ਲਗਰ-ਜਿਹੀ- (fem)like a tender branch <li>ਛਮਕ-ਜਿਹੀ- (fem)like a soft branch <li>ਛਮਕ-ਛੱਲੋ- (fem)same as above <li>ਚਿੜੀ-ਜਿਹੀ- (fem)sparrow-like <li>ਗੋਰੀ- (fem)fair skinned <li>ਮ੍ਰਿਗ-ਨੈਣੀ- (fem)doe eyed <li>ਮਾਣ-ਮੱਤੀ- (fem)proud of one's beauty<li>ਸੁਨੱਖੀ- (fem)good featured <li>ਸਿਰੇ ਦੀ ਸੁਹਣੀ- (fem)extremely beautiful <li> ਅੰਤਾ ਦੀ ਸੁਹਣੀ- (fem)extremely beautiful <li>ਮਦਮਸਤ-  <li>ਚਿੱਤਾਕਰਸ਼ਕ- alluring <li>ਸਜੀਲੀ- (fem)good-looking <li>ਮਨਮੋਹਣੀ- (fem) attractive <li>ਮੋਹਣੀ-(fem) attractive <li>ਪਿਆਰੀ-(fem)lovable
</ul>
</td></tr>
</table>
<table>
<tr><th>ਚਰਿੱਤਰ(Character)</th><th>ਸਵਾਦ(Taste)</th></tr>
<tr style='vertical-align:top;'><td>
<ul>
<li>ਚੰਗਾ -good<li>ਮਾੜਾ- Bad, weak<li>ਬੁਰਾ- bad <li>ਭਲਾ- good; simple or saintly of character;  <li>ਸਿੱਧਾ- gullible, straightforward <li>ਢੇਡਾ- crooked;<li>ਇਮਾਨਦਾਰ- honest <li>ਬੇਈਮਾਨ- dishonest <li>ਸਾਫ-ਦਿਲ- clear-hearted <li>ਚੁਸਤ- fast, sharp <li>ਚਲਾਕ-clever <li>ਤਿੱਖਾ-sharp <li>ਸਿਆਣਾ- intelligent, wise <li>ਨਿਆਣਾ- childish, not wise <li>ਸਮਝਦਾਰ- mature, understanding <li>ਸੁਲਜਿਆ ਹੋਇਆ- clear in wisdom and understanding <li>ਬੇਵਕੂਫ- stupid <li>ਮੂਰਖ- unintelligent <li>ਪਾਗਲ- mad, crazy <li>ਠੰਡਾ- cool minded <li>ਗਰਮ- hot-tempered <li>ਗੁੱਸੇ ਵਾਲਾ- hot tempered
</ul>
</td><td>
<ul>
<li>ਸਵਾਦ- Tasty <li>ਬੇਸਵਾਦ- untasty <li>ਮਿੱਠਾ- sweet <li>ਖੱਟਾ- sour <li>ਨਮਕੀਨ- salty <li>ਕਰਾਰਾ- spicy, tangy  <li>ਕੌੜਾ- bitter <li>ਮਸਾਲੇਦਾਰ- having strong spices <li>ਮਿਰਚ ਵਾਲਾ- hot(chilly) <li>ਰਸ-ਭਰਿਆ- juicy  <li>ਤਿੱਖਾ- sharp in taste <li>ਤੁਰਸ਼- sharp in taste <li>ਬਕਬਕਾ- unpleasantly tasteless
</ul>
</td>
</tr>
</table>
<ul>
<li>ਲੰਮਾ- long <li>ਉੱਚਾ- high <li>ਛੋਟਾ-small <li>ਮੋਟਾ-fat, heavy <li>ਪਤਲਾ- thin <li>ਅਰਾਮਦਾਇਕ- comfortable <li>ਚੁਭਵਾਂ- pinching <li>ਮਿੱਠਾ- sweet <li>ਖੱਟਾ- bitter, sour <li>ਕੌੜਾ- bitter <li>ਨਮਕੀਨ- salty <li>ਠੰਡਾ- cold, cool <li>ਗਰਮ- hot <li>ਜਵਾਨ-young <li>ਬੁੱਢਾ- old <li>ਤਕੜਾ- strong <li>ਕਮਜ਼ੋਰ-weak 
</ul>
<h2><a name="adjective-practice">Practice|ਅਭਿਆਸ</a></h2>
<p style=" border: thin solid blue; padding: 1em; color: blue;">The following table has a special functionality. It can help you memorize either of its columns. After you have read it carefully, click on memorize button of a column.</p>
<table class="mem">
<caption>Inflected forms of adjective ਚੰਗਾ (simple case only) </caption>
<tr>
<th> Adjective <a href="#" onclick="return Mem.start( this )">(memorize)</a></th>
<th> Noun <a href="#" onclick="return Mem.start( this )">(memorize)</a></th>
</tr><tr>
<td>ਚੰਗਾ</td><td>ਮੁੰਡਾ (masculine, singular)</td>
</tr><tr>
<td>ਚੰਗੇ</td><td>ਮੁੰਡੇ(masculine, plural)</td>
</tr><tr>
<td>ਚੰਗੀ</td><td>ਕੁੜੀ(feminine, singular)</td>
</tr><tr>
<td>ਚੰਗੀਆਂ</td><td>ਕੁੜੀਆਂ(feminine, plural)</td>
</tr>
</table>

<table class="mem">
<caption>ਬੁਰਾ</caption>
<tr><th> Adjective <a href="#" onclick="return Mem.start( this )">(memorize)</a></th><th>Gender and Number <a href="#" onclick="return Mem.start( this )">(memorize)</a></th></tr>
<tr><td>ਬੁਰਾ</td><td>Masculine Singular</td></tr>
<tr><td>ਬੁਰੇ</td><td>Masculine Plural</td></tr>
<tr><td>ਬੁਰੀ</td><td>Feminine Singular</td></tr>
<tr><td>ਬੁਰੀਆਂ</td><td>Feminine Plural</td></tr>
</table>

</html>
<<search>>&nbsp;<<tiddler ToggleRightSidebar with: "sidebar">>
<html><nowiki>
<style>
.verbConjugation table{
     border: none;
     background-color: none;
     text-align: center;
}
.verbConjugation tr{
     border: none;
     background-color: none;     
}
.verbConjugation tr th{
     background-color: #519600;
     border: 1px solid #00ff00;
}
.verbConjugation tr.singular{
     background-color: #9ff33d;
}
.verbConjugation tr.plural{
     background-color: #B5F36D; 
}

.verbConjugation tr td{
     border: 1px solid #00ff00;
     text-align: center;
}

</style>

<h1>  Past Tense </h1>
<h2> ਜਾ (Go)</h2>
<h3>1. Past Indefinite Tense ਅਨਿਸ਼ਚਿਤ ਭੂਤ ਕਾਲ / ਸਾਧਾਰਣ ਭੂਤ ਕਾਲ</h3>

<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਦਾ ਸੀ </td>
     <td> ਜਾਂਦੀ ਸੀ</td>
     <td>I went to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਦੇ ਸੀ/ਸਾਂ </td>
     <td> ਜਾਂਦੀਆਂ ਸੀ/ਸਾਂ </td>
     <td> We went to the market </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾਂਦਾ ਸੀ/ਸੈਂ </td>
     <td> ਜਾਂਦੀ ਸੀ/ਸੈਂ </td>
     <td> You went to the market </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਸੀ/ਸਉ </td>
     <td> ਜਾਂਦੀਆਂ ਸੀ/ਸਉ</td>
     <td> You (plural) went to the market </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦਾ ਸੀ </td>
     <td> ਜਾਂਦੀ ਸੀ </td>
     <td> He/She went to the market </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਸੀ/ਸਨ </td>
     <td> ਜਾਂਦੀਆਂ ਸੀ/ਸਨ </td>
     <td> They went to the market </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾਂਦਾ ਸੀ</td>
     <td>  </td>
     <td> Ram went to the market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾਂਦੀ ਸੀ </td>
     <td>Sita went to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਸਨ </td>
     <td>  </td>
     <td> Ram and Sita went to the market </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾਂਦੀਆਂ ਸਨ </td>
     <td> Sita and Gita went to the market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>


<h3>2. Past Imperfect Continuous Tense ਅਪੂਰਨ ਚਾਲੂ ਭੂਤ ਕਾਲ</h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾ ਰਿਹਾ ਸੀ/ਸਾਂ  </td>
     <td> ਜਾ ਰਹੀ ਸੀ/ਸਾਂ</td>
     <td>I was going to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td>  ਜਾ ਰਹੇ ਸੀ/ਸਾਂ </td>
     <td> ਜਾ ਰਹੀਆਂ ਸੀ/ਸਾਂ </td>
     <td> We were going to the market </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾ ਰਿਹਾ ਸੀ/ਸੈਂ </td>
     <td> ਜਾ ਰਹੀ ਸੀ/ਸੈਂ </td>
     <td> You were going to the market </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਹੇ ਸੀ/ਸਉ </td>
     <td> ਜਾ ਰਹੀਆਂ ਸੀ/ਸਉ</td>
     <td> You (plural) were going to the market </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਿਹਾ ਸੀ </td>
     <td> ਜਾ ਰਹੀ ਸੀ </td>
     <td> He/She was going to the market </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਹੇ ਸੀ/ਸਨ </td>
     <td> ਜਾ ਰਹੀਆਂ ਸੀ/ਸਨ </td>
     <td> They were going to the market </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾ ਰਿਹਾ ਸੀ </td>
     <td> </td>
     <td> Ram was going to the market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਜਾ ਰਹੀ ਸੀ </td>
     <td> Sita was going to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਹੇ ਸੀ/ਸਨ </td>
     <td>  </td>
     <td> Ram and Sita were going to the market </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾ ਰਹੀਆਂ ਸੀ/ਸਨ </td>
     <td> Sita and Gita were going to the market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>

<h3>3. Past Perfect Continuous Tense ਪੂਰਨ ਚਾਲੂ ਭੂਤ ਕਾਲ</h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਦਾ ਰਿਹਾ ਸੀ/ਸਾਂ  </td>
     <td> ਜਾਂਦੀ ਰਹੀ ਸੀ/ਸਾਂ</td>
     <td>I had been going to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਦੇ ਰਹੇ ਸੀ/ਸਾਂ </td>
     <td> ਜਾਂਦੀਆਂ ਰਹੀਆਂ ਸੀ/ਸਾਂ </td>
     <td> We had been going to the market </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾਂਦਾ ਰਿਹਾ ਸੀ/ਸੈਂ </td>
     <td> ਜਾਂਦੀ ਰਹੀ ਸੀ/ਸੈਂ </td>
     <td> You had been going to the market </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਰਹੇ ਸੀ/ਸਉ </td>
     <td> ਜਾਂਦੀਆਂ ਰਹੀਆਂ ਸੀ/ਸਉ </td>
     <td> You (plural) had been going to the market </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦਾ ਰਿਹਾ ਸੀ </td>
     <td> ਜਾਂਦੀ ਰਹੀ ਸੀ </td>
     <td> He/She had been going to the market </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਰਹੇ ਸੀ/ਸਨ </td>
     <td> ਜਾਂਦੀਆਂ ਰਹੀਆਂ ਸੀ/ਸਨ </td>
     <td> They had been going to the market </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾਂਦਾ ਰਿਹਾ ਸੀ </td>
     <td> </td>
     <td> Ram had been going to market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਜਾਂਦੀ ਰਹੀ ਸੀ </td>
     <td> Sita had been going to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਰਹੇ ਸੀ/ਸਨ </td>
     <td>  </td>
     <td> Ram and Sita had been going to the market </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾਂਦੀਆਂ ਰਹੀਆਂ ਸੀ/ਸਨ </td>
     <td> Sita and Gita had been going to the market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>

<h3>4. Past Perfect indefinite ਅਨਿਸ਼ਚਿਤ ਪੂਰਨ ਭੂਤ ਕਾਲ</h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਗਿਆ ਸੀ/ਸਾਂ  </td>
     <td> ਗਈ ਸੀ/ਸਾਂ</td>
     <td> I had gone to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਸੀ/ਸਾਂ </td>
     <td> ਗਈਆਂ ਸੀ/ਸਾਂ </td>
     <td> We had gone to the market  </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਗਿਆ ਸੀ/ਸੈਂ </td>
     <td> ਗਈ ਸੀ/ਸੈਂ </td>
     <td> You had gone to the market  </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਸੀ/ਸਉ </td>
     <td> ਗਈਆਂ ਸੀ/ਸਉ</td>
     <td> You(plural) had gone to the market  </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਿਆ ਸੀ </td>
     <td> ਗਈ ਸੀ </td>
     <td> He/She had gone to the market  </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਸੀ/ਸਨ </td>
     <td> ਗਈਆਂ ਸੀ/ਸਨ </td>
     <td> They had gone to the market  </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਗਿਆ ਸੀ </td>
     <td> </td>
     <td> Ram had gone to the market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਗਈ ਸੀ </td>
     <td>Sita had gone to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਸੀ/ਸਨ </td>
     <td>  </td>
     <td> Ram and Sita had gone to the market</td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਗਈਆਂ ਸੀ/ਸਨ </td>
     <td> Sita and Gita had gone to the market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>

<h3>5. Past Perfect Definite  ਨਿਸ਼ਚਿਤ ਪੂਰਨ ਭੂਤ ਕਾਲ</h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾ ਚੁੱਕਾ ਸੀ/ਸਾਂ  </td>
     <td> ਜਾ ਚੁੱਕੀ ਸੀ/ਸਾਂ </td>
     <td> </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਸੀ/ਸਾਂ </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਸੀ/ਸਾਂ </td>
     <td>  </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾ ਚੁੱਕਾਂ ਸੀ/ਸੈਂ </td>
     <td> ਜਾ ਚੁੱਕੀ ਸੀ/ਸੈਂ </td>
     <td>  </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਸੀ/ਸਉ </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਸੀ/ਸਉ</td>
     <td>  </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕਾ ਸੀ </td>
     <td> ਜਾ ਚੁੱਕੀ ਸੀ </td>
     <td>  </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਸੀ/ਸਨ </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਸੀ/ਸਨ </td>
     <td>  </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾ ਚੁੱਕਾ ਸੀ </td>
     <td> </td>
     <td>  </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਜਾ ਚੁੱਕੀ ਸੀ </td>
     <td> </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਸੀ/ਸਨ </td>
     <td>  </td>
     <td> </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਸੀ/ਸਨ </td>
     <td> Sita and Gita  </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>
<h3>6. Conditional Past Tense ਸ਼ਰਤੀ ਭੂਤ ਕਾਲ </h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2> Conjugate </th>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਜੇ </td>
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2>  ਜਾਂਦਾ   </td>

     <td> If I went to the market </td>
</tr> <tr class="plural">
     <td> ਜੇ </td>
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਂਦੇ </td>
     <td> If we went to the market </td>
</tr><tr class="singular">
     <td> ਜੇ </td>
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td colspan=2> ਜਾਦਾਂ </td>
     <td> If you went to the market  </td>
</tr><tr class="plural">
     <td> ਜੇ </td>
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਦੇਂ </td>
     <td> If you(plural) went to the market  </td>
</tr><tr class="singular">
     <td> ਜੇ </td>
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਂਦਾ </td>
     <td> If he went to the market  </td>
</tr><tr class="plural">
     <td> ਜੇ </td>
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਂਦੇ </td>
     <td> If they went to the market  </td>
</tr>
<tr class="singular">
     <td> ਜੇ </td>
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td colspan=2>ਜਾਂਦਾ </td>
     <td> If Ram went to the market  </td>
</tr>
<tr class="singular">
     <td> ਜੇ </td>
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td colspan=2>ਜਾਂਦੀ </td>
     <td>If Sita went to the market </td>
</tr>
<tr class="plural">
     <td> ਜੇ </td>
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਂਦੇ </td>
     <td>If Ram and Sita went to the market </td>
</tr>
<tr class="plural">
     <td> ਜੇ </td>
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਂਦੀਆਂ </td>
     <td> If Sita and Gita went to the market  </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>
</html>
Type the text for 'New Tiddler'
<html><nowiki>
<style>
.verbConjugation table{
     border: none;
     background-color: none;
     text-align: center;
}
.verbConjugation tr{
     border: none;
     background-color: none;     
}
.verbConjugation tr th{
     background-color: #519600;
     border: 1px solid #00ff00;
}
.verbConjugation tr.singular{
     background-color: #9ff33d;
}
.verbConjugation tr.plural{
     background-color: #B5F36D; 
}

.verbConjugation tr td{
     border: 1px solid #00ff00;
     text-align: center;
}

</style>
<p> We now start with making simple sentences in Punjabi. As you know verb or verb phrase is an important and indispensable element of a sentence. In punjabi a verb or a verb phrase may change its form under effect of gender, number, person, tense, aspect, etc.

<h1>  Present Tense </h1>
<h2> ਜਾ (Go)</h2>
<h3>1. Present Imperative Tense </h3>

<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2>  ਜਾਵਾਂ </td>
     <td>(Let) me go to market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td colspan=2>  ਜਾਈਏ </td>
     <td> (Let) us go to market </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td colspan=2> ਜਾ </td>
     <td> You go to market </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਓ </td>
     <td> You (plural) go to market </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਵੇ </td>
     <td> Let him/her go to market </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਣ </td>
     <td> Let them go to market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>



<h3>2. Present Indefinite Tense </h3>

<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਦਾ ਹਾਂ </td>
     <td> ਜਾਂਦੀ ਹਾਂ</td>
     <td>I go to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਦੇ ਹਾਂ </td>
     <td> ਜਾਂਦੀਆਂ ਹਾਂ </td>
     <td> We go to the market </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾਂਦਾ ਹੈਂ </td>
     <td> ਜਾਂਦੀ ਹੈਂ </td>
     <td> You go to the market </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਹੋ </td>
     <td> ਜਾਂਦੀਆਂ ਹੋ</td>
     <td> You (plural) go to the market </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦਾ ਹੈ </td>
     <td> ਜਾਂਦੀ ਹੈ </td>
     <td> He/She goes to the market </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਹਨ </td>
     <td> ਜਾਂਦੀਆਂ ਹਨ </td>
     <td> They go to the market </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾਂਦਾ ਹੈ</td>
     <td>  </td>
     <td> Ram goes to the market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾਂਦੀ ਹੈ </td>
     <td>Sita goes to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਹਨ </td>
     <td>  </td>
     <td> Ram and Sita go to the market </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾਂਦੀਆਂ ਹਨ </td>
     <td> Sita and Gita go to the market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>


<h3>3. Present Imperfect Continuous Tense </h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾ ਰਿਹਾ ਹਾਂ  </td>
     <td> ਜਾ ਰਹੀ ਹਾਂ</td>
     <td>I am going to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td>  ਜਾ ਰਹੇ ਹਾਂ </td>
     <td> ਜਾ ਰਹੀਆਂ ਹਾਂ </td>
     <td> We are going to the market </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾ ਰਿਹਾ ਹੈਂ </td>
     <td> ਜਾ ਰਹੀ ਹੈਂ </td>
     <td> You are going to the market </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਹੇ ਹੋ </td>
     <td> ਜਾ ਰਹੀਆਂ ਹੋ</td>
     <td> You (plural) are going to the market </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਿਹਾ ਹੈ </td>
     <td> ਜਾ ਰਹੀ ਹੈ </td>
     <td> He/She is going to the market </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਹੇ ਹਨ </td>
     <td> ਜਾ ਰਹੀਆਂ ਹਨ </td>
     <td> They are going to the market </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾ ਰਿਹਾ ਹੈ </td>
     <td> </td>
     <td> Ram is going to the market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਜਾ ਰਹੀ ਹੈ </td>
     <td> Sita is going to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਹੇ ਹਨ </td>
     <td>  </td>
     <td> Ram and Sita are going to the market </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾ ਰਹੀਆਂ ਹਨ </td>
     <td> Sita and Gita are going to the market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>

<h3>4. Present Perfect Continuous Tense </h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਦਾ ਰਿਹਾ ਹਾਂ  </td>
     <td> ਜਾਂਦੀ ਰਹੀ ਹਾਂ</td>
     <td>I have been going to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਦੇ ਰਹੇ ਹਾਂ </td>
     <td> ਜਾਂਦੀਆਂ ਰਹੀਆਂ ਹਾਂ </td>
     <td> We have been going to the market </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾਂਦਾ ਰਿਹਾ ਹੈਂ </td>
     <td> ਜਾਂਦੀ ਰਹੀ ਹੈਂ </td>
     <td> You have been going to the market </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਰਹੇ ਹੋ </td>
     <td> ਜਾਂਦੀਆਂ ਰਹੀਆਂ ਹੋ</td>
     <td> You (plural) have been going to the market </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦਾ ਰਿਹਾ ਹੈ </td>
     <td> ਜਾਂਦੀ ਰਹੀ ਹੈ </td>
     <td> He/She has been going to the market </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਰਹੇ ਹਨ </td>
     <td> ਜਾਂਦੀਆਂ ਰਹੀਆਂ ਹਨ </td>
     <td> They have been going to the market </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾਂਦਾ ਰਿਹਾ ਹੈ </td>
     <td> </td>
     <td> Ram has been going to market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਜਾਂਦੀ ਰਹੀ ਹੈ </td>
     <td> Sita has been going to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਰਹੇ ਹਨ </td>
     <td>  </td>
     <td> Ram and Sita have been going to the market </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾਂਦੀਆਂ ਰਹੀਆਂ ਹਨ </td>
     <td> Sita and Gita have been going to the market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>

<h3>5. Present Perfect indefinite</h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਗਿਆ ਹਾਂ  </td>
     <td> ਗਈ ਹਾਂ</td>
     <td> I have gone to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਹਾਂ </td>
     <td> ਗਈਆਂ ਹਾਂ </td>
     <td> We have gone to the market  </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਗਿਆ ਹੈਂ </td>
     <td> ਗਈ ਹੈਂ </td>
     <td> You have gone to the market  </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਹੋ </td>
     <td> ਗਈਆਂ ਹੋ</td>
     <td> You(plural) have gone to the market  </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਿਆ ਹੈ </td>
     <td> ਗਈ ਹੈ </td>
     <td> He/She has gone to the market  </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਹਨ </td>
     <td> ਗਈਆਂ ਹਨ </td>
     <td> They have gone to the market  </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਗਿਆ ਹੈ </td>
     <td> </td>
     <td> Ram has gone to the market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਗਈ ਹੈ </td>
     <td>Sita has gone to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਹਨ </td>
     <td>  </td>
     <td> Ram and Sita have gone to the market</td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਗਈਆਂ ਹਨ </td>
     <td> Sita and Gita have gone to the market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>

<h3>6. Present Perfect Definite </h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾ ਚੁੱਕਾ ਹਾਂ  </td>
     <td> ਜਾ ਚੁੱਕੀ ਹਾਂ</td>
     <td> </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਹਾਂ </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਹਾਂ </td>
     <td>  </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾ ਚੁੱਕਾਂ ਹੈਂ </td>
     <td> ਜਾ ਚੁੱਕੀ ਹੈਂ </td>
     <td>  </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਹੋ </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਹੋ</td>
     <td>  </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕਾ ਹੈ </td>
     <td> ਜਾ ਚੁੱਕੀ ਹੈ </td>
     <td>  </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਹਨ </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਹਨ </td>
     <td>  </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾ ਚੁੱਕਾ ਹੈ </td>
     <td> </td>
     <td>  </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਜਾ ਚੁੱਕੀ ਹੈ </td>
     <td> </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਹਨ </td>
     <td>  </td>
     <td> </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਹਨ </td>
     <td> Sita and Gita  </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>
<h3>7. Conditional Present Tense </h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2> Conjugate </th>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਜੇ </td>
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2>  ਜਾਵਾਂ   </td>

     <td> If I go to the market </td>
</tr> <tr class="plural">
     <td> ਜੇ </td>
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਈਏ </td>
     <td> If we go to the market </td>
</tr><tr class="singular">
     <td> ਜੇ </td>
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td colspan=2> ਜਾਵੇਂ </td>
     <td> If you go to the market  </td>
</tr><tr class="plural">
     <td> ਜੇ </td>
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਵੋਂ </td>
     <td> If you(plural) go to the market  </td>
</tr><tr class="singular">
     <td> ਜੇ </td>
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਵੇ </td>
     <td> If he goes to the market  </td>
</tr><tr class="plural">
     <td> ਜੇ </td>
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਣ </td>
     <td> If they go to the market  </td>
</tr>
<tr class="singular">
     <td> ਜੇ </td>
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td colspan=2>ਜਾਵੇ </td>
     <td> If Ram goes to the market  </td>
</tr>
<tr class="singular">
     <td> ਜੇ </td>
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td colspan=2>ਜਾਵੇ </td>
     <td>If Sita goes to the market </td>
</tr>
<tr class="plural">
     <td> ਜੇ </td>
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਣ </td>
     <td>If Ram and Sita go to the market </td>
</tr>
<tr class="plural">
     <td> ਜੇ </td>
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਣ </td>
     <td> If Sita and Gita go to the market  </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>
</html>
<html><nowiki>
<style>
.verbConjugation table{
     border: none;
     background-color: none;
     text-align: center;
}
.verbConjugation tr{
     border: none;
     background-color: none;     
}
.verbConjugation tr th{
     background-color: #519600;
     border: 1px solid #00ff00;
}
.verbConjugation tr.singular{
     background-color: #9ff33d;
}
.verbConjugation tr.plural{
     background-color: #B5F36D; 
}

.verbConjugation tr td{
     border: 1px solid #00ff00;
     text-align: center;
}

</style>

<h1>  Future Tense </h1>
<h2> ਜਾ (Go)</h2>
<h3>1. Future Indefinite Tense ਅਨਿਸ਼ਚਿਤ ਭਵਿੱਖਤ ਕਾਲ / ਸਾਧਾਰਣ ਭਵਿੱਖਤ ਕਾਲ</h3>

<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਵਾਗਾ </td>
     <td> ਜਾਂਵਾਗੀ</td>
     <td>I will go to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਵਾਗੇ </td>
     <td> ਜਾਂਵਾਗੀਆਂ/ਜਾਂਵਾਗੇ </td>
     <td> We will go  to the market </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾਂਵੇਗਾ </td>
     <td> ਜਾਂਵੇਗੀ </td>
     <td> You will go to the market </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਵੋਗੇ/ਜਾਂਓਗੇ </td>
     <td> ਜਾਂਵੋਗੀਓ/ਜਾਂਓਗੇ </td>
     <td> You (plural) will go to the market </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਵੇਗਾ/ਜਾਏਗਾ </td>
     <td> ਜਾਵੇਗੀ/ਜਾਏਗੀ </td>
     <td> He/She will go to the market </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਣਗੇ </td>
     <td> ਜਾਣਗੀਆਂ  </td>
     <td> They will go to the market </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾਵੇਗਾ</td>
     <td>  </td>
     <td> Ram will go to the market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾਵੇਗੀ </td>
     <td>Sita will go to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਣਗੇ </td>
     <td>  </td>
     <td> Ram and Sita will go to the market </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾਣਗੀਆਂ </td>
     <td> Sita and Gita will go to the market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>


<h3>2. Future Imperfect Continuous Tense ਅਪੂਰਨ ਚਾਲੂ ਭਵਿੱਖਤ ਕਾਲ</h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾ ਰਿਹਾ ਹੋਵਾਂਗਾ  </td>
     <td> ਜਾ ਰਹੀ ਹੋਵਾਂਗੀ</td>
     <td>I will be going to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td>  ਜਾ ਰਹੇ ਹੋਵਾਂਗੇ </td>
     <td> ਜਾ ਰਹੀਆਂ ਹੋਵਾਂਗੀਆਂ </td>
     <td> We will be going to the market </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾ ਰਿਹਾ ਹੋਵੇਂਗਾ </td>
     <td> ਜਾ ਰਹੀ ਹੋਵੇਂਗੀ </td>
     <td> You will be going to the market </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਹੇ ਹੋਵੋਂਗੇ </td>
     <td> ਜਾ ਰਹੀਆਂ ਹੋਵੋਂਗੀਆਂ</td>
     <td> You (plural) will be going to the market </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਿਹਾ ਹੋਵੇਗਾ </td>
     <td> ਜਾ ਰਹੀ ਹੋਵੇਗਾ </td>
     <td> He/She will be going to the market </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਹੇ ਹੋਵਣਗੇ/ਹੋਣਗੇ </td>
     <td> ਜਾ ਰਹੀਆਂ ਹੋਵਣਗੀਆਂ/ਹੋਣਗੀਆਂ </td>
     <td> They will be going to the market </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾ ਰਿਹਾ ਹੋਵੇਗਾ </td>
     <td> </td>
     <td> Ram will be going to the market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਜਾ ਹੋਵੇਗੀ </td>
     <td> Sita will be going to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਹੇ ਹੋਵਣਗੇ/ਹੋਣਗੇ </td>
     <td>  </td>
     <td> Ram and Sita will be going to the market </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾ ਰਹੀਆਂ ਹੋਣਗੀਆਂ </td>
     <td> Sita and Gita will be going to the market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>

<h3>3. Future Perfect indefinite ਅਨਿਸ਼ਚਿਤ ਪੂਰਨ ਭਵਿੱਖਤ ਕਾਲ</h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਗਿਆ ਹੋਵਾਂਗਾ  </td>
     <td> ਗਈ ਹੋਵਾਂਗੀ</td>
     <td> I will have gone to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਹੋਵਾਂਗੇ </td>
     <td> ਗਈਆਂ ਹੋਵਾਂਗੀਆਂ </td>
     <td> We will have gone to the market  </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਗਿਆ ਹੋਵੇਂਗਾ </td>
     <td> ਗਈ ਹੋਵੇਂਗੀ </td>
     <td> You will have gone to the market  </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਹੋਵੋਂਗੇ </td>
     <td> ਗਈਆਂ ਹੋਵੋਂਗੀਆਂ</td>
     <td> You(plural) will have gone to the market  </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਿਆ ਹੋਵੇਗੇ </td>
     <td> ਗਈ ਹੋਵੇਗੀ </td>
     <td> He/She will have gone to the market  </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਹੋਣਗੇ </td>
     <td> ਗਈਆਂ ਹੋਣਗੀਆਂ </td>
     <td> They will have gone to the market  </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਗਿਆ ਹੋਵੇਗਾ </td>
     <td> </td>
     <td> Ram will have gone to the market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਗਈ ਹੋਵੇਗੀ </td>
     <td>Sita will have gone to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਹੋਣਗੇ </td>
     <td>  </td>
     <td> Ram and Sita will have gone to the market</td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਗਈਆਂ ਹੋਣਗੀਆਂ </td>
     <td> Sita and Gita will have gone to the market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>

<h3>4. Future Perfect Definite  ਨਿਸ਼ਚਿਤ ਪੂਰਨ ਭੂਤ ਕਾਲ</h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾ ਚੁੱਕਾ ਹੋਵਾਂਗਾ  </td>
     <td> ਜਾ ਚੁੱਕੀ ਹੋਵਾਂਗੀ </td>
     <td> </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਹੋਵਾਂਗੇ </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਹੋਵਾਂਗੀਆਂ </td>
     <td>  </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾ ਚੁੱਕਾਂ ਹੋਵੇਂਗਾ </td>
     <td> ਜਾ ਚੁੱਕੀ ਹੋਵੇਂਗੀ </td>
     <td>  </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਹੋਵੋਂਗੇ </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਹੋਵੋਂਗੀਆਂ</td>
     <td>  </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕਾ ਹੋਵੇਗਾ </td>
     <td> ਜਾ ਚੁੱਕੀ ਹੋਵੇਗੀ </td>
     <td>  </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਹੋਣਗੇ </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਹੋਣਗੀਆਂ </td>
     <td>  </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾ ਚੁੱਕਾ ਹੋਵੇਗਾ </td>
     <td> </td>
     <td>  </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਜਾ ਚੁੱਕੀ ਹੋਵੇਗੀ </td>
     <td> </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਹੋਣਗੇ </td>
     <td>  </td>
     <td> </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਹੋਣਗੀਆਂ </td>
     <td>   </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>
<h3>5. Conditional Future Tense ਸ਼ਰਤੀ ਭੂਤ ਕਾਲ </h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2> Conjugate </th>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਜੇ </td>
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td >  ਜਾਵਾਂਗਾ  </td>
     <td >  ਜਾਵਾਂਗੀ  </td>
     <td> If I go to the market </td>
</tr> <tr class="plural">
     <td> ਜੇ </td>
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਵਾਂਗੇ</td>
     <td> If we go to the market </td>
</tr><tr class="singular">
     <td> ਜੇ </td>
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾਵੇਂਗਾ </td>
     <td> ਜਾਵੇਂਗੀ </td>
     <td> If you go to the market  </td>
</tr><tr class="plural">
     <td> ਜੇ </td>
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਵੋਂਗੇ </td>
     <td> If you(plural) go to the market  </td>
</tr><tr class="singular">
     <td> ਜੇ </td>
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਵੇਗਾ</td>
     <td> ਜਾਵੇਗੀ </td>
     <td> If he goes to the market  </td>
</tr><tr class="plural">
     <td> ਜੇ </td>
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਣਗੇ</td>
     <td> If they go to the market  </td>
</tr>
<tr class="singular">
     <td> ਜੇ </td>
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td colspan=2>ਜਾਵੇਗਾ </td>
     <td> If Ram goes to the market  </td>
</tr>
<tr class="singular">
     <td> ਜੇ </td>
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td colspan=2>ਜਾਵੇਗੀ</td>
     <td>If Sita goes to the market </td>
</tr>
<tr class="plural">
     <td> ਜੇ </td>
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਣਗੇ</td>
     <td>If Ram and Sita go to the market </td>
</tr>
<tr class="plural">
     <td> ਜੇ </td>
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਣਗੀਆਂ</td>
     <td> If Sita and Gita go to the market  </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>
</html>
/***
|Name|InlineJavascriptPlugin|
|Source|http://www.TiddlyTools.com/#InlineJavascriptPlugin|
|Documentation|http://www.TiddlyTools.com/#InlineJavascriptPluginInfo|
|Version|1.9.5|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Description|Insert Javascript executable code directly into your tiddler content.|
''Call directly into TW core utility routines, define new functions, calculate values, add dynamically-generated TiddlyWiki-formatted output'' into tiddler content, or perform any other programmatic actions each time the tiddler is rendered.
!!!!!Documentation
>see [[InlineJavascriptPluginInfo]]
!!!!!Revisions
<<<
2009.04.11 [1.9.5] pass current tiddler object into wrapper code so it can be referenced from within 'onclick' scripts
2009.02.26 [1.9.4] in $(), handle leading '#' on ID for compatibility with JQuery syntax
|please see [[InlineJavascriptPluginInfo]] for additional revision details|
2005.11.08 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.InlineJavascriptPlugin= {major: 1, minor: 9, revision: 5, date: new Date(2009,4,11)};

config.formatters.push( {
	name: "inlineJavascript",
	match: "\\<script",
	lookahead: "\\<script(?: src=\\\"((?:.|\\n)*?)\\\")?(?: label=\\\"((?:.|\\n)*?)\\\")?(?: title=\\\"((?:.|\\n)*?)\\\")?(?: key=\\\"((?:.|\\n)*?)\\\")?( show)?\\>((?:.|\\n)*?)\\</script\\>",

	handler: function(w) {
		var lookaheadRegExp = new RegExp(this.lookahead,"mg");
		lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = lookaheadRegExp.exec(w.source)
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			var src=lookaheadMatch[1];
			var label=lookaheadMatch[2];
			var tip=lookaheadMatch[3];
			var key=lookaheadMatch[4];
			var show=lookaheadMatch[5];
			var code=lookaheadMatch[6];
			if (src) { // external script library
				var script = document.createElement("script"); script.src = src;
				document.body.appendChild(script); document.body.removeChild(script);
			}
			if (code) { // inline code
				if (show) // display source in tiddler
					wikify("{{{\n"+lookaheadMatch[0]+"\n}}}\n",w.output);
				if (label) { // create 'onclick' command link
					var link=createTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",wikifyPlainText(label));
					var fixup=code.replace(/document.write\s*\(/gi,'place.bufferedHTML+=(');
					link.code="function _out(place,tiddler){"+fixup+"\n};_out(this,this.tiddler);"
					link.tiddler=w.tiddler;
					link.onclick=function(){
						this.bufferedHTML="";
						try{ var r=eval(this.code);
							if(this.bufferedHTML.length || (typeof(r)==="string")&&r.length)
								var s=this.parentNode.insertBefore(document.createElement("span"),this.nextSibling);
							if(this.bufferedHTML.length)
								s.innerHTML=this.bufferedHTML;
							if((typeof(r)==="string")&&r.length) {
								wikify(r,s,null,this.tiddler);
								return false;
							} else return r!==undefined?r:false;
						} catch(e){alert(e.description||e.toString());return false;}
					};
					link.setAttribute("title",tip||"");
					var URIcode='javascript:void(eval(decodeURIComponent(%22(function(){try{';
					URIcode+=encodeURIComponent(encodeURIComponent(code.replace(/\n/g,' ')));
					URIcode+='}catch(e){alert(e.description||e.toString())}})()%22)))';
					link.setAttribute("href",URIcode);
					link.style.cursor="pointer";
					if (key) link.accessKey=key.substr(0,1); // single character only
				}
				else { // run script immediately
					var fixup=code.replace(/document.write\s*\(/gi,'place.innerHTML+=(');
					var c="function _out(place,tiddler){"+fixup+"\n};_out(w.output,w.tiddler);";
					try	 { var out=eval(c); }
					catch(e) { out=e.description?e.description:e.toString(); }
					if (out && out.length) wikify(out,w.output,w.highlightRegExp,w.tiddler);
				}
			}
			w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
		}
	}
} )
//}}}

// // Backward-compatibility for TW2.1.x and earlier
//{{{
if (typeof(wikifyPlainText)=="undefined") window.wikifyPlainText=function(text,limit,tiddler) {
	if(limit > 0) text = text.substr(0,limit);
	var wikifier = new Wikifier(text,formatter,null,tiddler);
	return wikifier.wikifyPlain();
}
//}}}

// // GLOBAL FUNCTION: $(...) -- 'shorthand' convenience syntax for document.getElementById()
//{{{
if (typeof($)=='undefined') { function $(id) { return document.getElementById(id.replace(/^#/,'')); } }
//}}}
#[[Past Tense]]
#[[Present Tense]]
#[[Future]]
Type the text for 'New Tiddler'
Type the text for 'New Tiddler'
Type the text for 'New Tiddler'
<html><a href='#' onclick='story.displayTiddler(null, "Welcome");' class='button'>Welcome</a></html>+++(chklrnPbi)*[Learn Punjabi|Punjabi Tutorials]<<tiddler PunjabiCourses>>===
+++(chktchPbi)*[Teach Punjabi|Articles on Teachings]<<tiddler PunjabiTeaching>>===<html><a href='#' onclick='story.displayTiddler(null, "PunjabiTranslationPlugin");' class='button'>TW in Punjabi</a><a href='#' onclick='story.displayTiddler(null, "About");' class='button'>About</a><a href='#' onclick='story.displayTiddler(null, "Shavinder");' class='button'>Contact</a></html>
/***
|Name|MemorizablePlugin|
|Source|URL: http://memorizable.com|
|Version|1.0.0|
|Author|Craig D. Muth Copyright (c) 2007|
|Description|Creats flashcard like tables for memorizing data|
|For use in TiddlyWiki see|http://tinyurl.com/34fjk6|
***/
//{{{
// License
//
// Note: This is a modified version of the X11 (aka MIT) open source
// license.  It lets you use, modify, distribute and sell, etc.,
// requiring only that you leave the "Help" and "About Memorizable
// Tables" links (under "Options") in tact.  If you desire to use the
// software without these links please contact the author.
//
// COPYRIGHT AND PERMISSION NOTICE for Memorizable Tables
//
// Copyright (c) 2007, Craig D. Muth, memorizable.com
// Author's Website URL: http://memorizable.com
//
// All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use, copy,
// modify, merge, publish, distribute, and/or sell copies of the
// Software, and to permit persons to whom the Software is furnished
// to do so, subject to the following conditions:
//
// The above copyright notice, Author's Website URL, and this
// permission notice shall be included in all copies or substantial
// portions of the Software, and any hyperlinks in the user interface
// in the Software which refer to any page on the Author's Website may
// not be removed, disabled, altered, obscured, or repositioned.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE
// COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR
// ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY
// DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
// WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
// ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
// OF THIS SOFTWARE.
//
// Except as contained in this notice, the name of a copyright holder
// shall not be used in advertising or otherwise to promote the sale,
// use or other dealings in this Software without prior written
// authorization of the copyright holder.
//

Mem = new Object();

Mem.blankRowCount = 9;
Mem.mGray = "#d8d4c0";
Mem.mGreen = "#fff";
Mem.mClicked = "#b8b4a0";

Mem.myCellIndex = function(th) {
 var cells = th.parentNode.cells;
 var inn = 0;
 for(var x=0; x<cells.length; x++) {
  if(cells.item(x) == th)
   inn = x;
 }
 return inn;
}
Mem.start = function( item ) {
 var columnClicked;

 item.parentNode.parentNode.parentNode.parentNode.isMem = true;
 var t = this.setT( item );

 columnClicked = Mem.myCellIndex(item.parentNode);

 // If already in progress
 if( t.s && t.s.tbodyBackup ) {
  // Kill blinking processes
  this.tChile('directionsDiv').cycles = 1;
  Mem.restore();
 }

 // Create new if necessary
 if( typeof( t.s ) != 'object')
  t.s = new Array();

 t.s.column = columnClicked;

 // Create backup
 var bak = t.tBodies[0].cloneNode( true );
 t.s.tbodyBackup = bak;

 // Init correct count
 t.s.correctCount = 0;

 t.s.pending = new Array();

 var initialLength = t.tBodies[0].rows.length;
 for(var x=1; x<initialLength; x++) {
  // Build up list of indexes
  t.s.pending[t.s.pending.length] = t.tBodies[0].rows[1];
  // Remove from table
  t.tBodies[0].removeChild( t.tBodies[0].rows[1] );
 }

 t.s.totalQuestions = t.s.pending.length;

 var tds = t.s.pending[0].getElementsByTagName("TD");
 var numberOfColumns=tds.length;

 // Add blank rows to end
 for(var x=1; x<t.s.pending.length; x++) {
  if( x <= this.blankRowCount ) {
   var tr = document.createElement("TR");

   // For each column
   for(var y=0; y<numberOfColumns; y++) {
     var td = document.createElement("TD");  td.innerHTML = "&nbsp;";
     tr.appendChild( td );
   }
   t.tBodies[0].appendChild( tr );
  }
 }

 // If hidden blank rows
 if( t.s.pending.length > this.blankRowCount + 1 ) {

   // Add ... row
   var tr = document.createElement("TR");
   var td = document.createElement("TD");
   //   td.innerHTML = ". &nbsp; . &nbsp; .";
   td.innerHTML = "<div style='text-align: center; font-weight: bold; font-size: 6px; font-family: arial black; margin-top: 2px;'>. &nbsp; &nbsp; . &nbsp; &nbsp; .</div>";
   var colspan = document.createAttribute("COLSPAN");
   colspan.nodeValue=numberOfColumns;
   td.setAttributeNode(colspan);
   tr.appendChild( td );
   //numberOfColumns
   t.tBodies[0].appendChild( tr );

 }

 this.shuffle( t.s.pending ); t.s.pending.reverse(); this.shuffle( t.s.pending );

 // Add buttons, etc. to end of table.
 var tr = document.createElement("TR");
 var statusTd = document.createElement("TD");
 statusTd.id = 'statusTd';
 tr.appendChild( statusTd );
 var colspan = document.createAttribute("COLSPAN");
 colspan.nodeValue=numberOfColumns;
 statusTd.setAttributeNode(colspan);
 t.tBodies[0].appendChild( tr );


 // Create placeholders for buttons, etc.
 statusTd.innerHTML = "\
  <div id=mode style='text-align:right; height:19px; font-size:10px; color:#666;'>" + Mem.getModeDiv(0) + "</div>\
  <div id=directionsDiv style='margin-bottom:4px; text-align: left; font-size:10px; font-family:verdana,arial,sans-serif; color:#666;'></div>\
  <div id=buttons style='float:left; height:21px;'></div>\
  <div id=options style='padding: 5px 0px 0px 8px; width:55px; margin-top:0px; float:right;'><a href='#' onclick='return Mem.showOptions(this);' id=optionsLink>Options</a></div>\
  <div id=progress style='margin-top:6px; float:right; font-size:8px; font-family:impact; color:#aaa; text-align:right; vertical-align:middle; '></div>\
" + this.getOptions();

 // Enable options if enabled before
 if( t.s.optionsOn )
  this.showOptions( statusTd );

 this.presentQuestion();

 this.glow(100);
 t.s.mode = "flashcard";

 return false;
}

Mem.addEvent = function( obj, type, fn ) {
 if ( obj.attachEvent ) {
  obj['e'+type+fn] = fn;
  obj[type+fn] = function() {obj['e'+type+fn]( window.event );}
  obj.attachEvent( 'on'+type, obj[type+fn] );
 } else
  obj.addEventListener( type, fn, false );
}

Mem.getQuestionCell = function() {
 return Mem.t.s.pending[0].cells[ Mem.t.s.column ];
}

Mem.createProgressBar = function() {
 var progress = "";
 var progressDups = "";
 var foundAlready = new Array();
 for(var x=0; x<Mem.t.s.pending.length ;x++) {

  // If found already
  if( foundAlready[ Mem.t.s.pending[x].innerHTML ] )
   progressDups += "|";
  else
   progress += "|";

  // Remember we found this one
  foundAlready[ Mem.t.s.pending[x].innerHTML ] = true;
 }
 return progress + "<span style='color:#f00;'>" + progressDups + "</span>";
}


Mem.presentQuestion = function() {

 this.tChile('directionsDiv').innerHTML = 
  "<div style='text-align:center;'>Guess the answer <b style='color:#4d0'>in your head</b>.<span style='font-size:7px;'></span> Then click <b>show answer</b>, or type <b>1</b>.</div>";
 this.tChile('buttons').innerHTML = "<button id=showAnswer style='margin-right:111px; width:11em; margin-bottom:1px; font-family: verdana,arial,sans-serif; font-size:9px;' onclick='Mem.showAnswer( this )' >show answer &nbsp;<span style='color:#aaa;text-decoration:underline;'>1</span></button>";

 var iveGuessed = this.tChile('showAnswer');
 Mem.addEvent( iveGuessed, 'mouseover', function(){ if(typeof( iveGuessedOnMouseOver ) =='function') iveGuessedOnMouseOver() } );
 Mem.addEvent( iveGuessed, 'mouseout', function(){ if(typeof( iveGuessedOnMouseOver ) =='function') iveGuessedOnMouseOut() } );

 // Add pending row
 Mem.t.tBodies[0].insertBefore( Mem.t.s.pending[0], Mem.t.tBodies[0].rows[ Mem.t.s.correctCount + 1 ] );

 // Insert "guess the answer", remembering old value
 var questionCell = this.getQuestionCell();
 Mem.t.s.questionCellOld = questionCell.innerHTML;
 questionCell.innerHTML = "<span style='text-decoration:none; color:#4d0; font-weight:bold; cursor:pointer;' title=\"Guess the answer in your head.  Then, click the 'show answer' button.\">what&nbsp;goes&nbsp;here?</span>";

 // Help alert
 Mem.addEvent( questionCell.getElementsByTagName("SPAN")[0], 'mousedown', function(){ alert('Guess the answer in your head.  Then, click the \'show answer\' button at the bottom of the table.') } );

 this.tChile('progress').innerHTML = this.createProgressBar();
}

Mem.showAnswer = function( button, noScroll ) {
 var t = this.setT( button );

 // Exit if other mode
 if( t.s.mode != "flashcard" )
  return;

 // Exit if no answer to show
 if( t.s.questionCellOld == null )
  return;

 var questionCell = this.getQuestionCell();
 questionCell.innerHTML = t.s.questionCellOld;
 t.s.questionCellOld = null;

 // Default
 var iWasRightText = "I was right";

 // Count how many of this remaining
 var timesFound = 0;
 for(var x=0; x<t.s.pending.length ;x++)
  if( t.s.pending[x].innerHTML == t.s.pending[0].innerHTML )
   timesFound++;

 // If not the last time
 if( timesFound > 1 )
  iWasRightText = "show later";

 this.tChile('directionsDiv').innerHTML = 
  "<div style='text-align:center;'>Press the appropriate button based on your guess, or type <b>1</b> or <b>2</b>.</div>";
 this.tChile('buttons').innerHTML = "\
<button id=iWasWrong style='width:11em; padding:0px; margin: 0px 12px 1px 0px; font-family: verdana,arial,sans-serif; font-size:9px;' onclick='Mem.answer( false, this )'>I was wrong &nbsp;<span style='color:#aaa;text-decoration:underline;'>1</span></button>\
<button id=iWasRight class='iWasRightButton' style='width:10em; margin-bottom:1px; font-family: verdana,arial,sans-serif; font-size:9px;' onclick='Mem.answer( true, this )' >" + iWasRightText + " &nbsp;<span style='color:#aaa;text-decoration:underline;'>2</span></button>\
";
 this.tChile('progress').innerHTML = this.createProgressBar();

 var iWasRight = this.tChile('iWasRight');
 var iWasWrong = this.tChile('iWasWrong');
 Mem.addEvent( iWasRight, 'mouseover', function(){ if(typeof( iWasRightOnMouseOver ) =='function') iWasRightOnMouseOver() } );
 Mem.addEvent( iWasRight, 'mouseout', function(){ if(typeof( iWasRightOnMouseOut ) =='function') iWasRightOnMouseOut() } );
 Mem.addEvent( iWasWrong, 'mouseover', function(){ if(typeof( iWasWrongOnMouseOver ) =='function') iWasWrongOnMouseOver() } );
 Mem.addEvent( iWasWrong, 'mouseout', function(){ if(typeof( iWasWrongOnMouseOut ) =='function') iWasWrongOnMouseOut() } );

 if(! noScroll)
  this.scrollDownIfNecessary( this.tChile('statusTd') );

}

Mem.answer = function( correct, button, noScroll ) {

 var t = this.setT( button );

 // If answer not shown
 if( t.s.questionCellOld != null )
  return;

 // If other mode
 if( t.s.mode != "flashcard" )
  return;

 var dup = this.currentIsDuplicate();
 var last = t.s.pending[0];

 // Remove from front of pending
 t.s.pending.splice( 0, 1 );

 var allRows = t.tBodies[0].rows;

 if( correct ) {
  // If elsewhere in pending, remove from table
  if( dup )
   t.tBodies[0].removeChild( last );

  // If pending is empty, they're finished
  if( t.s.pending.length == 0 ) {
   this.finished();
   return;
  }

  // If not dup, increase count of correct
  if( ! dup ) {
   t.s.correctCount++;

   // If enough rows in table, remove last one (blank or ...)
   if( t.s.correctCount + this.blankRowCount >= t.s.totalQuestions - 1 )
    t.tBodies[0].removeChild( allRows[allRows.length - 2] );
  }
 }
 // If they missed it
 else {

  // Remove from table
  t.tBodies[0].removeChild( last );
  t.s.pending.push( last );
  t.s.pending.splice( 2, 0, last );
 }

 this.presentQuestion();

 if(this.tChile('directionsDiv').cycles >= 3)
  this.tChile('directionsDiv').cycles = 2;

 if(! noScroll)
  this.scrollDownIfNecessary( this.tChile('statusTd') );
}

Mem.currentIsDuplicate = function() {
 for(var x=1; x<Mem.t.s.pending.length ;x++) {
  if( Mem.t.s.pending[x] == Mem.t.s.pending[0] )
   return true;
 }
 return false;
}

Mem.message = function( s ) {
 var d = document.createElement('div');
 var t = document.createTextNode( s );
 d.appendChild(t);
 document.body.appendChild(d);
}

Mem.shuffle = function( list ) {
  var holder, swaps, i, j;
  for (swaps=0; swaps<(list.length*2); swaps++) {
    i = Math.floor(Math.random()*list.length);
    j = Math.floor(Math.random()*list.length);
    holder = list[i];
    list[i] = list[j];
    list[j]=holder;
  }
  return list;
}

Mem.dump = function( o ) {
 var s = "";
 for(m in o)
  s += m + ", ";
 return s;
}

Mem.keyWasPressed = function( keyp ) {

 var pressed;
 if( navigator.appName == "Netscape" ) pressed = keyp.which;
 if( navigator.appVersion.indexOf("MSIE") != -1 ) pressed = event.keyCode;

 // In case no table in progress
 try {
  // Show answer
  if ( ( pressed == "1".charCodeAt(0) ) || ( pressed == 97 ) ) {
   // If answer not shown yet
   if( Mem.t.s.questionCellOld != null )
    Mem.showAnswer();
   else
    Mem.answer( false );
  }

  // TODO make sure there are no modifiers held down (because of ctrl-r)
  // I was right
  if ( ( pressed == "2".charCodeAt(0) ) || ( pressed == 98 ) )
   Mem.answer( true );

 } catch(e) {}
}

Mem.memorizeAllTables = function( item, onlyDoTheseTables ) {

 // If we are a "hide" link
 if( item.innerHTML == "close" ) {
  item.innerHTML = item.innerHTML_old;

  var removeThis = item.parentNode.getElementsByTagName("DIV")[0];
  // Close and exit
  item.parentNode.removeChild( removeThis );
  return false;
 }

 // Change link to 'close'
 item.innerHTML_old = item.innerHTML;
 item.innerHTML = "close";

 // Create table in new div
 var d = document.createElement("div");
 d.innerHTML = "\
 <table class=\"memorizableAll\"><tr> \
   <th>Left Side <a style=\"font-size: 9px;\" href=\"#\" onclick=\"return Mem.start(this)\">(memorize)</a></th> \
   <th>Right Side <a style=\"font-size: 9px;\" href=\"#\" onclick=\"return Mem.start(this)\">(memorize)</a></th>\
 </tr></table>";

 // Get ref to it
 var tb = d.getElementsByTagName("TBODY")[0];

 var memTableCount = 0;

 // Convert list to map
 var onlyMap = [];
 if( onlyDoTheseTables )
  for(var x=0; x<onlyDoTheseTables.length; x++)
   onlyMap[ onlyDoTheseTables[x].toString() ] = true;

 // For each table
 var ts = document.getElementsByTagName("table");
 for(var x=0; x<ts.length; x++) {

  // In case null pointer when seeking anchor
  try {

   // If mem table
   if( ts[x].id == "memTable" ) {
    memTableCount++;

    if( onlyDoTheseTables && ! onlyMap[memTableCount.toString()] )
     continue;

    var rs = ts[x].rows;

    // If in progress, use backup
    if( ts[x].s && ts[x].s.tbodyBackup )
     rs = ts[x].s.tbodyBackup.rows;

    // Add each row to the table    
    for(var z=1; z<rs.length; z++)
     tb.appendChild( rs[z].cloneNode( true ) );
   }
  } catch(e) {}
 }

 // Append div
 item.parentNode.appendChild( d )

 // Start a session, using the 2nd "(memorize)" link
 Mem.start( d.getElementsByTagName("A")[1] );

 return false;
}

// Returns Y coord of top of element.
Mem.findY = function( o ) {
 var curtop = 0;
 if (o.offsetParent) {
  curtop = o.offsetTop
  while (o = o.offsetParent)
   curtop += o.offsetTop
 }
 return curtop;
}

// Get distance from page top to window bottom
Mem.getWindowBottomY = function() {
 // Get scrollY
 var scrollY = document.body.scrollTop;
 if( window.pageYOffset )
  scrollY = window.pageYOffset

 var winY = document.body.clientHeight;
 if( window.innerHeight )
  winY = window.innerHeight;

 return scrollY + winY;
}

Mem.scrollDownIfNecessary = function( obj ) {
 // If last row close to getting off-screen
 if( this.findY( obj ) + 55 > this.getWindowBottomY() ) {
  // Scroll down smoothly
  var myInterval = window.setInterval(function () { window.scrollBy( 0, 2 ); }, 10);
  window.setTimeout(function () { clearInterval(myInterval); },650);
 }
}

Mem.startFirst = function(level) {
 var as = byid('memTable').getElementsByTagName('a');
 var a = as.length == 1 ? as[0] : as[1];
 Mem.start( a );

 // If 2, start another record
 if(level == 2) {
  Mem.showAnswer(this.tChile('showAnswer'), true);
  Mem.answer(true, this.tChile('iWasRightButton'), true);
  this.tChile('directionsDiv').cycles = 100;
 }
}

Mem.parents = function(node, levels) {
 for(x=1;x<=levels;x++) node = node.parentNode;
 return node; 
}

Mem.showOptions = function(node) {

 this.setT(node);
 this.tChile('optionsLink').style.display="none";
 this.tChile('optionsBox').style.display="block";

 Mem.t.s.optionsOn = true;

 // Don't let clicking on options change default table
 this.restoreTBody();

 return false;
}

Mem.hideOptions = function(node) {

 this.setT(node);
 this.tChile('optionsLink').style.display="block";
 this.tChile('optionsBox').style.display="none";

 Mem.t.s.optionsOn = false;

 // Don't let clicking on options change default table
 this.restoreTBody();

 return false;
}

Mem.close = function( node ) {

 var t = this.setT( node );

 // Don't re-open options
 Mem.t.s.optionsOn = false;

 Mem.restore();

 // Invoke hook if reset
 if(node != null) {
  // In case method not there
  try {
   mem_close( t );
  } catch(e) {}
 }

 return false;
}

Mem.finished = function() {

 var directions = this.tChile('directionsDiv');
 var buttons = this.tChile('buttons');
 // Default values
 directions.innerHTML = "<div style='text-align:center;'>Congratulations, you've finished.</div>";
 buttons.innerHTML = "";

 // Restore rows
 this.addRowsFromBackup();

 // Call hook
 try {
  mem_finished( [directions, buttons] );
 } catch(e) {}

 Mem.glow(2, "finished");
 return false;
}

Mem.startOver = function( node ) {

 var t = this.setT( node );

 if( t.s.mode == "flashcard" )
  Mem.start( t.getElementsByTagName('a')[t.s.column] );

 else if( t.s.mode == "matching" )
  Mem.startMatching( t );

 return false;
}


Mem.startMatching = function( node ) {
 var t = this.setT( node );

 t.s.match0 = t.s.match1 = null;

 // Change help text
 this.tChile('mode').innerHTML = Mem.getModeDiv(1);
 this.tChile('directionsDiv').innerHTML = 
  "<div style='text-align:center;'><b>Note:</b> this table has been <i style='font-weight:bold; color:#f90; cursor: pointer;'><span onclick='Mem.startOver(this);'>shuffled</span></i>. Click items to identify matches.</div>";
 this.tChile('buttons').innerHTML = "";
 this.tChile('progress').innerHTML = "";

 var rows = t.rows;

 // Add rows from backup
 this.addRowsFromBackup();

 // Format them
 rows = t.rows;
 for(var x=1; x<(rows.length-1); x++) {
  var tds = rows[x].cells;
  // Add click events
  Mem.addEvent( tds[0], 'click', function(){ Mem.matchingClicked( this, 0 ) } );
  Mem.addEvent( tds[1], 'click', function(){ Mem.matchingClicked( this, 1 ) } );
  tds[0].style.cursor = tds[1].style.cursor = "pointer";
  tds[0].style.background = tds[1].style.background = tds[0].style.endColor = tds[1].style.endColor = Mem.mGray;
  // Add indexes
  tds[0].mIndex = tds[1].mIndex = x;
 }

 // Shuffle columns
 for (swaps=0; swaps<(rows.length*4); swaps++) {
  Mem.swapOnce(rows,0);
  Mem.swapOnce(rows,1);
 }

 this.glow(100);

 t.s.mode = "matching";

 return false; 
}

Mem.matchingClicked = function(cell, side) {

 // Exit if already correct
 if(cell.mState == "correct")
  return;

 var t = this.setT( cell );

 var rows = t.rows;
 // Update colors of others, and count remaining
 var remaining = 0;
 for(var x=1; x<(rows.length-1); x++) {
  var td = rows[x].cells[side];

  // If gray, clear it
  if((cell != td) && (td.mState == "guess")) {
   td.mState = null;
   td.style.background = td.endColor= Mem.mGray;
  }

  if(td.mState != "correct")  remaining++;
 }

 // Remember this was clicked
 if(side == 0)  t.s.match0 = cell;
 else  t.s.match1 = cell;

 // If already guessed
 if(cell.mState == "guess") {
  cell.mState = null;
  cell.style.background = cell.endColor = Mem.mGray;
  // Clear it
  if(side == 0)  t.s.match0 = null;
  else  t.s.match1 = null;

 } else {
  // Make it selected
  cell.mState = "guess";
  cell.style.background = cell.endColor = Mem.mClicked;
 }

 // Exit if neither are selected
 if(! (t.s.match0 && t.s.match1))
  return;

 // Go through backup table and look for matches
 var found = false;
 var backupRows = t.s.tbodyBackup.getElementsByTagName('tr');

 for(var x=1; x<backupRows.length; x++) {
  var tds = backupRows[x].getElementsByTagName('td');
  if((trim(t.s.match0.innerHTML) == trim(tds[0].innerHTML))
  && (trim(t.s.match1.innerHTML) == trim(tds[1].innerHTML)))
   found = true;
 }

 // If match
 if(found) {
  var directions = this.tChile('directionsDiv');
  if(directions.cycles > 2)
   directions.cycles = 2;

  // Make me dark green
  t.s.match0.mState = t.s.match1.mState = "correct";
  t.s.match0.endColor = t.s.match1.endColor = Mem.mGreen;
  t.s.match0.style.cursor = t.s.match1.style.cursor = "";

  // If finished - congrats message, restore rows
  if(remaining == 1) {
   directions.innerHTML = "<div style='text-align:center;'>Congratulations, you've finished. \
&nbsp; Try <a href='#' onclick='return Mem.flashcardMode(this)'>flashcard mode</a>.</div>";
   Mem.glow(2, "finished");
   this.addRowsFromBackup();
  } else {
   cell.style.background = Mem.mGray;
   Mem.glow(1, "green", t.s.match0, Mem.mGreen);
   Mem.glow(1, "green", t.s.match1, Mem.mGreen);
  }
  t.s.match0 = t.s.match1 = null;

  return;
 }

 // Must not have been found
 cell.style.background = Mem.mGray;
 Mem.glow(1, "red", cell, Mem.mClicked);

}

Mem.swapOnce = function( rows, index ) {
 var r1 = rows[Math.floor(Math.random() * (rows.length-2)) + 1];
 var r2 = rows[Math.floor(Math.random() * (rows.length-2)) + 1];
 var c1 = r1.cells[index];
 r1.replaceChild(r2.cells[index], c1);
 if(index == 0)
  r2.insertBefore(c1, r2.cells[0]);
 else
  r2.appendChild(c1);
}

Mem.getModeDiv = function( index ) {

 var r = "\
<span style='width:260px; text-align:right; padding: 0px 0px 2px 10px; letter-spacing:2px;\
border-left: solid #ccc 1px; \
border-bottom: solid #ccc 1px;'>\
";

 var modes = [["flashcard mode", "return Mem.flashcardMode(this)"], ["matching mode", "return Mem.startMatching(this)"]];
 for(var x=0; x<modes.length; x++) {

  if( x > 0 ) r += " | ";

  if(index == x)
   r += "<b>" + modes[x][0] + "</b>";
  else
   r += "<a style='color:#aaa;' href='#' onclick=\"" + modes[x][1] + "\">" + modes[x][0] + "</a>";

 }   
 r += "</span>";

 return r;
}

Mem.getOptions = function() {
 return "\
 <div style='display:none; line-height:17px; margin:27px 6px 4px 6px; padding: 3px 4px 4px 20px; border:dashed #fc0 2px;' id=optionsBox>\
  <a style='float:right; margin-top:-7px; font-size:9px;' href='#' onClick='return Mem.hideOptions(this)'>Hide Options</a>\
  -&nbsp;<a target='_blank' href='http://memorizable.com/Help'>Help</a>\
  &nbsp; &nbsp; -&nbsp;<a onclick='return Mem.startOver(this)' href='#'>Restart</a>\
  &nbsp; &nbsp; -&nbsp;<a onclick='return Mem.close(this)' href='#'>Cancel</a>\
 <br>\
  -&nbsp;<a target='_blank' href='http://memorizable.com/About_Memorizable_Tables'>About Memorizable Tables</a>\
 </div>\
 ";
}

Mem.setT = function(node) {

 // Return current, if no change
 if(! node)
  return this.t;

 // Remember last, for restoreTBody
 if(( typeof( Mem.t ) == 'object'))
   Mem.lastT = Mem.t;

 // Climb up parent until we find table
 while( ! node.isMem )
  node = node.parentNode;

 this.t = node;

 return node;
}

Mem.lookupT = function(nodex) {

 // Climb up parent until we find table
 while(! nodex.isMem)
  nodex = nodex.parentNode;

 return nodex;
}


Mem.restoreTBody = function() {
 Mem.t = Mem.lastT;
}

Mem.restore = function() {
 var orig = Mem.t.s.tbodyBackup;
 Mem.t.replaceChild( orig, Mem.t.tBodies[0] );
 Mem.t = orig.parentNode;
 // Whipe out ref to backup
 Mem.t.s.tbodyBackup = null;
}

Mem.addRowsFromBackup = function() {
 var t = this.t;
 var rows = t.rows;
 // Delete rows - except top and bottom
 var length = rows.length;
 for(var x=1; x<=length-2; x++)
  t.tBodies[0].removeChild( rows[length - (x+1)] );

 // Make copies from backup, add them to table
 var bak = t.s.tbodyBackup.cloneNode( true );
 var backupRows = bak.getElementsByTagName('tr');
 var length = backupRows.length;
 for(var x=1; x<length; x++)
  t.tBodies[0].insertBefore( backupRows[1], rows[rows.length-1] );
}


Mem.glow = function(cycles, color, glowDiv, endColor) {

 // Remember table
 if(!glowDiv) {
  glowDiv = this.tChile('directionsDiv');
  // Do nothing if already going
  if(glowDiv.cycles >= 1)
    return;
 }

 glowDiv.cycles = cycles;

 if(!endColor)
  endColor = "#fff";
 // Set end color to cell
 glowDiv.endColor = endColor;

 var glowLevel = color == "green" ? 35 : 0;
 var glowIncrement = color == "red" ? 8 : 2;
 if(color == "green") glowIncrement = 1;

 var myInterval = window.setInterval(function () {
  // Stop if cycles over
  if(glowDiv.cycles <= 0) {
   clearInterval(myInterval);
   return;
  }

  // Change level
  glowLevel += glowIncrement;
  // Go darker
  if(glowLevel < 0) {
   glowIncrement = 2;
   glowLevel += glowIncrement;
   // If this is the end, set it to the end color
   if(--glowDiv.cycles == 0) {
    glowDiv.style.background = glowDiv.endColor;
    return;
   }
  }
  // Go lighter
  if(glowLevel > 44) {
   glowIncrement = -2;
   glowLevel += glowIncrement;
   if(glowDiv.cycles == 1) {
    glowIncrement = color == "red" ? -6 : -1;
    if(color == "green") glowIncrement = -6;
   }
  }

  if(color == "red")
    Mem.glowColor(glowDiv, glowLevel, 180, 1, -2, -2);
  else if(color == "green")
    Mem.glowColor(glowDiv, glowLevel, 255, -3, 0, -5);
  else if(color == "finished")
    Mem.glowColor(glowDiv, glowLevel, 255, -2, 0, -4);
  else  // Orange
    Mem.glowColor(glowDiv, glowLevel, 255, 0, -1, -4);

 }, 43);
}

Mem.glowColor = function(glowDiv, glowLevel, start, r, g, b) {
  glowDiv.style.background = "rgb(" + (start+glowLevel*r) + "," + (start+glowLevel*g) + "," + (start+glowLevel*b) + ")";
}

Mem.chile = function(root, idName) {

 var maybe = root.getElementsByTagName( '*' );

 for(var x=0; x<maybe.length; x++)
  if( maybe[x].id == idName )
   return maybe[x];
}

Mem.tChile = function(idName) {

 return this.chile(this.t, idName);
}

Mem.flashcardMode = function(node) {

 Mem.setT(node);
 return Mem.start( Mem.t.getElementsByTagName('a')[Mem.t.s.column] );
}


function trim( s ) {
 return s.replace(/^\s*(\S*(\s+\S+)*)\s*$/, "$1");
}

function byid( key ) {
  return document.getElementById( key );
}

Mem.addEvent( document, "keydown", Mem.keyWasPressed );

//}}}
Type the text for 'New Tiddler'
/***
|Name|NestedSlidersPlugin|
|Source|http://www.TiddlyTools.com/#NestedSlidersPlugin|
|Documentation|http://www.TiddlyTools.com/#NestedSlidersPluginInfo|
|Version|2.4.9|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|show content in nest-able sliding/floating panels, without creating separate tiddlers for each panel's content|
!!!!!Documentation
>see [[NestedSlidersPluginInfo]]
!!!!!Configuration
<<<
<<option chkFloatingSlidersAnimate>> allow floating sliders to animate when opening/closing
>Note: This setting can cause 'clipping' problems in some versions of InternetExplorer.
>In addition, for floating slider animation to occur you must also allow animation in general (see [[AdvancedOptions]]).
<<<
!!!!!Revisions
<<<
2008.11.15 - 2.4.9 in adjustNestedSlider(), don't make adjustments if panel is marked as 'undocked' (CSS class).  In onClickNestedSlider(), SHIFT-CLICK docks panel (see [[MoveablePanelPlugin]])
|please see [[NestedSlidersPluginInfo]] for additional revision details|
2005.11.03 - 1.0.0 initial public release.  Thanks to RodneyGomes, GeoffSlocock, and PaulPetterson for suggestions and experiments.
<<<
!!!!!Code
***/
//{{{
version.extensions.NestedSlidersPlugin= {major: 2, minor: 4, revision: 9, date: new Date(2008,11,15)};

// options for deferred rendering of sliders that are not initially displayed
if (config.options.chkFloatingSlidersAnimate===undefined)
	config.options.chkFloatingSlidersAnimate=false; // avoid clipping problems in IE

// default styles for 'floating' class
setStylesheet(".floatingPanel { position:absolute; z-index:10; padding:0.5em; margin:0em; \
	background-color:#eee; color:#000; border:1px solid #000; text-align:left; }","floatingPanelStylesheet");

// if removeCookie() function is not defined by TW core, define it here.
if (window.removeCookie===undefined) {
	window.removeCookie=function(name) {
		document.cookie = name+'=; expires=Thu, 01-Jan-1970 00:00:01 UTC; path=/;'; 
	}
}

config.formatters.push( {
	name: "nestedSliders",
	match: "\\n?\\+{3}",
	terminator: "\\s*\\={3}\\n?",
	lookahead: "\\n?\\+{3}(\\+)?(\\([^\\)]*\\))?(\\!*)?(\\^(?:[^\\^\\*\\@\\[\\>]*\\^)?)?(\\*)?(\\@)?(?:\\{\\{([\\w]+[\\s\\w]*)\\{)?(\\[[^\\]]*\\])?(\\[[^\\]]*\\])?(?:\\}{3})?(\\#[^:]*\\:)?(\\>)?(\\.\\.\\.)?\\s*",
	handler: function(w)
		{
			lookaheadRegExp = new RegExp(this.lookahead,"mg");
			lookaheadRegExp.lastIndex = w.matchStart;
			var lookaheadMatch = lookaheadRegExp.exec(w.source)
			if(lookaheadMatch && lookaheadMatch.index == w.matchStart)
			{
				var defopen=lookaheadMatch[1];
				var cookiename=lookaheadMatch[2];
				var header=lookaheadMatch[3];
				var panelwidth=lookaheadMatch[4];
				var transient=lookaheadMatch[5];
				var hover=lookaheadMatch[6];
				var buttonClass=lookaheadMatch[7];
				var label=lookaheadMatch[8];
				var openlabel=lookaheadMatch[9];
				var panelID=lookaheadMatch[10];
				var blockquote=lookaheadMatch[11];
				var deferred=lookaheadMatch[12];

				// location for rendering button and panel
				var place=w.output;

				// default to closed, no cookie, no accesskey, no alternate text/tip
				var show="none"; var cookie=""; var key="";
				var closedtext=">"; var closedtip="";
				var openedtext="<"; var openedtip="";

				// extra "+", default to open
				if (defopen) show="block";

				// cookie, use saved open/closed state
				if (cookiename) {
					cookie=cookiename.trim().slice(1,-1);
					cookie="chkSlider"+cookie;
					if (config.options[cookie]==undefined)
						{ config.options[cookie] = (show=="block") }
					show=config.options[cookie]?"block":"none";
				}

				// parse label/tooltip/accesskey: [label=X|tooltip]
				if (label) {
					var parts=label.trim().slice(1,-1).split("|");
					closedtext=parts.shift();
					if (closedtext.substr(closedtext.length-2,1)=="=")	
						{ key=closedtext.substr(closedtext.length-1,1); closedtext=closedtext.slice(0,-2); }
					openedtext=closedtext;
					if (parts.length) closedtip=openedtip=parts.join("|");
					else { closedtip="show "+closedtext; openedtip="hide "+closedtext; }
				}

				// parse alternate label/tooltip: [label|tooltip]
				if (openlabel) {
					var parts=openlabel.trim().slice(1,-1).split("|");
					openedtext=parts.shift();
					if (parts.length) openedtip=parts.join("|");
					else openedtip="hide "+openedtext;
				}

				var title=show=='block'?openedtext:closedtext;
				var tooltip=show=='block'?openedtip:closedtip;

				// create the button
				if (header) { // use "Hn" header format instead of button/link
					var lvl=(header.length>5)?5:header.length;
					var btn = createTiddlyElement(createTiddlyElement(place,"h"+lvl,null,null,null),"a",null,buttonClass,title);
					btn.onclick=onClickNestedSlider;
					btn.setAttribute("href","javascript:;");
					btn.setAttribute("title",tooltip);
				}
				else
					var btn = createTiddlyButton(place,title,tooltip,onClickNestedSlider,buttonClass);
				btn.innerHTML=title; // enables use of HTML entities in label

				// set extra button attributes
				btn.setAttribute("closedtext",closedtext);
				btn.setAttribute("closedtip",closedtip);
				btn.setAttribute("openedtext",openedtext);
				btn.setAttribute("openedtip",openedtip);
				btn.sliderCookie = cookie; // save the cookiename (if any) in the button object
				btn.defOpen=defopen!=null; // save default open/closed state (boolean)
				btn.keyparam=key; // save the access key letter ("" if none)
				if (key.length) {
					btn.setAttribute("accessKey",key); // init access key
					btn.onfocus=function(){this.setAttribute("accessKey",this.keyparam);}; // **reclaim** access key on focus
				}
				btn.setAttribute("hover",hover?"true":"false");
				btn.onmouseover=function(ev) {
					// optional 'open on hover' handling
					if (this.getAttribute("hover")=="true" && this.sliderPanel.style.display=='none') {
						document.onclick.call(document,ev); // close transients
						onClickNestedSlider(ev); // open this slider
					}
					// mouseover on button aligns floater position with button
					if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this,this.sliderPanel);
				}

				// create slider panel
				var panelClass=panelwidth?"floatingPanel":"sliderPanel";
				if (panelID) panelID=panelID.slice(1,-1); // trim off delimiters
				var panel=createTiddlyElement(place,"div",panelID,panelClass,null);
				panel.button = btn; // so the slider panel know which button it belongs to
				btn.sliderPanel=panel; // so the button knows which slider panel it belongs to
				panel.defaultPanelWidth=(panelwidth && panelwidth.length>2)?panelwidth.slice(1,-1):"";
				panel.setAttribute("transient",transient=="*"?"true":"false");
				panel.style.display = show;
				panel.style.width=panel.defaultPanelWidth;
				panel.onmouseover=function(event) // mouseover on panel aligns floater position with button
					{ if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this.button,this); }

				// render slider (or defer until shown) 
				w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
				if ((show=="block")||!deferred) {
					// render now if panel is supposed to be shown or NOT deferred rendering
					w.subWikify(blockquote?createTiddlyElement(panel,"blockquote"):panel,this.terminator);
					// align floater position with button
					if (window.adjustSliderPos) window.adjustSliderPos(place,btn,panel);
				}
				else {
					var src = w.source.substr(w.nextMatch);
					var endpos=findMatchingDelimiter(src,"+++","===");
					panel.setAttribute("raw",src.substr(0,endpos));
					panel.setAttribute("blockquote",blockquote?"true":"false");
					panel.setAttribute("rendered","false");
					w.nextMatch += endpos+3;
					if (w.source.substr(w.nextMatch,1)=="\n") w.nextMatch++;
				}
			}
		}
	}
)

function findMatchingDelimiter(src,starttext,endtext) {
	var startpos = 0;
	var endpos = src.indexOf(endtext);
	// check for nested delimiters
	while (src.substring(startpos,endpos-1).indexOf(starttext)!=-1) {
		// count number of nested 'starts'
		var startcount=0;
		var temp = src.substring(startpos,endpos-1);
		var pos=temp.indexOf(starttext);
		while (pos!=-1)  { startcount++; pos=temp.indexOf(starttext,pos+starttext.length); }
		// set up to check for additional 'starts' after adjusting endpos
		startpos=endpos+endtext.length;
		// find endpos for corresponding number of matching 'ends'
		while (startcount && endpos!=-1) {
			endpos = src.indexOf(endtext,endpos+endtext.length);
			startcount--;
		}
	}
	return (endpos==-1)?src.length:endpos;
}
//}}}
//{{{
window.onClickNestedSlider=function(e)
{
	if (!e) var e = window.event;
	var theTarget = resolveTarget(e);
	while (theTarget && theTarget.sliderPanel==undefined) theTarget=theTarget.parentNode;
	if (!theTarget) return false;
	var theSlider = theTarget.sliderPanel;
	var isOpen = theSlider.style.display!="none";

	// if SHIFT-CLICK, dock panel first (see [[MoveablePanelPlugin]])
	if (e.shiftKey && config.macros.moveablePanel) config.macros.moveablePanel.dock(theSlider,e);

	// toggle label
	theTarget.innerHTML=isOpen?theTarget.getAttribute("closedText"):theTarget.getAttribute("openedText");
	// toggle tooltip
	theTarget.setAttribute("title",isOpen?theTarget.getAttribute("closedTip"):theTarget.getAttribute("openedTip"));

	// deferred rendering (if needed)
	if (theSlider.getAttribute("rendered")=="false") {
		var place=theSlider;
		if (theSlider.getAttribute("blockquote")=="true")
			place=createTiddlyElement(place,"blockquote");
		wikify(theSlider.getAttribute("raw"),place);
		theSlider.setAttribute("rendered","true");
	}

	// show/hide the slider
	if(config.options.chkAnimate && (!hasClass(theSlider,'floatingPanel') || config.options.chkFloatingSlidersAnimate))
		anim.startAnimating(new Slider(theSlider,!isOpen,e.shiftKey || e.altKey,"none"));
	else
		theSlider.style.display = isOpen ? "none" : "block";

	// reset to default width (might have been changed via plugin code)
	theSlider.style.width=theSlider.defaultPanelWidth;

	// align floater panel position with target button
	if (!isOpen && window.adjustSliderPos) window.adjustSliderPos(theSlider.parentNode,theTarget,theSlider);

	// if showing panel, set focus to first 'focus-able' element in panel
	if (theSlider.style.display!="none") {
		var ctrls=theSlider.getElementsByTagName("*");
		for (var c=0; c<ctrls.length; c++) {
			var t=ctrls[c].tagName.toLowerCase();
			if ((t=="input" && ctrls[c].type!="hidden") || t=="textarea" || t=="select")
				{ try{ ctrls[c].focus(); } catch(err){;} break; }
		}
	}
	var cookie=theTarget.sliderCookie;
	if (cookie && cookie.length) {
		config.options[cookie]=!isOpen;
		if (config.options[cookie]!=theTarget.defOpen) window.saveOptionCookie(cookie);
		else window.removeCookie(cookie); // remove cookie if slider is in default display state
	}

	// prevent SHIFT-CLICK from being processed by browser (opens blank window... yuck!)
	// prevent clicks *within* a slider button from being processed by browser
	// but allow plain click to bubble up to page background (to close transients, if any)
	if (e.shiftKey || theTarget!=resolveTarget(e))
		{ e.cancelBubble=true; if (e.stopPropagation) e.stopPropagation(); }
	Popup.remove(); // close open popup (if any)
	return false;
}
//}}}
//{{{
// click in document background closes transient panels 
document.nestedSliders_savedOnClick=document.onclick;
document.onclick=function(ev) { if (!ev) var ev=window.event; var target=resolveTarget(ev);

	if (document.nestedSliders_savedOnClick)
		var retval=document.nestedSliders_savedOnClick.apply(this,arguments);
	// if click was inside a popup... leave transient panels alone
	var p=target; while (p) if (hasClass(p,"popup")) break; else p=p.parentNode;
	if (p) return retval;
	// if click was inside transient panel (or something contained by a transient panel), leave it alone
	var p=target; while (p) {
		if ((hasClass(p,"floatingPanel")||hasClass(p,"sliderPanel"))&&p.getAttribute("transient")=="true") break;
		p=p.parentNode;
	}
	if (p) return retval;
	// otherwise, find and close all transient panels...
	var all=document.all?document.all:document.getElementsByTagName("DIV");
	for (var i=0; i<all.length; i++) {
		 // if it is not a transient panel, or the click was on the button that opened this panel, don't close it.
		if (all[i].getAttribute("transient")!="true" || all[i].button==target) continue;
		// otherwise, if the panel is currently visible, close it by clicking it's button
		if (all[i].style.display!="none") window.onClickNestedSlider({target:all[i].button})
		if (!hasClass(all[i],"floatingPanel")&&!hasClass(all[i],"sliderPanel")) all[i].style.display="none";
	}
	return retval;
};
//}}}
//{{{
// adjust floating panel position based on button position
if (window.adjustSliderPos==undefined) window.adjustSliderPos=function(place,btn,panel) {
	if (hasClass(panel,"floatingPanel") && !hasClass(panel,"undocked")) {
		// see [[MoveablePanelPlugin]] for use of 'undocked'
		var rightEdge=document.body.offsetWidth-1;
		var panelWidth=panel.offsetWidth;
		var left=0;
		var top=btn.offsetHeight; 
		if (place.style.position=="relative" && findPosX(btn)+panelWidth>rightEdge) {
			left-=findPosX(btn)+panelWidth-rightEdge; // shift panel relative to button
			if (findPosX(btn)+left<0) left=-findPosX(btn); // stay within left edge
		}
		if (place.style.position!="relative") {
			var left=findPosX(btn);
			var top=findPosY(btn)+btn.offsetHeight;
			var p=place; while (p && !hasClass(p,'floatingPanel')) p=p.parentNode;
			if (p) { left-=findPosX(p); top-=findPosY(p); }
			if (left+panelWidth>rightEdge) left=rightEdge-panelWidth;
			if (left<0) left=0;
		}
		panel.style.left=left+"px"; panel.style.top=top+"px";
	}
}
//}}}
//{{{
// TW2.1 and earlier:
// hijack Slider stop handler so overflow is visible after animation has completed
Slider.prototype.coreStop = Slider.prototype.stop;
Slider.prototype.stop = function()
	{ this.coreStop.apply(this,arguments); this.element.style.overflow = "visible"; }

// TW2.2+
// hijack Morpher stop handler so sliderPanel/floatingPanel overflow is visible after animation has completed
if (version.major+.1*version.minor+.01*version.revision>=2.2) {
	Morpher.prototype.coreStop = Morpher.prototype.stop;
	Morpher.prototype.stop = function() {
		this.coreStop.apply(this,arguments);
		var e=this.element;
		if (hasClass(e,"sliderPanel")||hasClass(e,"floatingPanel")) {
			// adjust panel overflow and position after animation
			e.style.overflow = "visible";
			if (window.adjustSliderPos) window.adjustSliderPos(e.parentNode,e.button,e);
		}
	};
}
//}}}
/***
|Name|NestedSlidersPluginInfo|
|Source|http://www.TiddlyTools.com/#NestedSlidersPlugin|
|Documentation|http://www.TiddlyTools.com/#NestedSlidersPluginInfo|
|Version|2.4.9|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|documentation|
|Description|documentation for NestedSlidersPlugin|
This plugin adds new wiki syntax for embedding 'slider' panels directly into tiddler content.
!!!!!Usage
<<<
//{{{
++++(cookiename)!!!!!^width^*@{{class{[label=key|tooltip][altlabel|alttooltip]}}}#panelID:>...
content goes here
===
//}}}
* ''"""+++""" (or """++++""") and """==="""''<br>marks the start and end of the slider definition, respectively.  When the extra {{{+}}} is used, the slider will be open when initially displayed.
* ''"""(cookiename)"""''<br>saves the slider opened/closed state, and restores this state whenever the slider is re-rendered.
* ''"""! through !!!!!"""''<br>displays the slider label using a formatted headline (Hn) style instead of a button/link style
* ''"""^width^ (or just ^)"""''<br>makes the slider 'float' on top of other content rather than shifting that content downward.  'width' must be a valid CSS value (e.g., "30em", "180px", "50%", etc.).  If omitted, the default width is "auto" (i.e., fit to content)
* ''"""*"""''<br>denotes "transient display": when a click occurs elsewhere in the document, the slider/floating panel will be automatically closed.  This is useful for creating 'pulldown menus' that automatically go away after they are used.  //Note: using SHIFT-click on a slider label will open/close that slider without triggering the automatic closing of any transient slider panels that are currently displayed, permitting ''temporary'' display of several transient panels at once.//
* ''"""@"""''<br>denotes "open on hover": the slider/floating panel will be automatically opened as soon as the mouse moves over the slider label, without requiring a click.
* ''"""{{class{[label=key|tooltip][altlabel|alttooltip]}}}"""''<br>uses label/tooltip/accesskey.  """{{class{...}}}""", """=key""", """|tooltip""" and """[altlabel|alttooltip]""" are optional.  'class' is any valid CSS class name, used to style the slider label text.  'key' must be a ''single letter only''.  altlabel/alttooltip specify alternative label/tooltip for use when slider/floating panel is displayed.  //Note: you can use HTML syntax within the label text to include HTML entities (e.g., {{{&raquo;}}} (&raquo;) or {{{&#x25ba;}}} (&#x25ba;), or even embedded images (e.g., {{{<img src="images/eric3.gif">}}}).//
* ''"""#panelID:"""''<br>defines a unique DOM element ID that is assigned to the panel element used to display the slider content.  This ID can then be used later to reposition the panel using the {{{<<DOM move id>>}}} macro (see [[DOMTweaksPlugin]]), or to access/modify the panel element through use of {{{document.getElementById(...)}}}) javascript code in a plugin or inline script.
* ''""">"""''<br>automatically adds blockquote formatting to slider content
* ''"""..."""''<br>defers rendering of closed sliders until the first time they are opened.
Notes:
*You can 'nest' sliders as deep as you like (see complex nesting example below), so that expandable 'tree-like' hierarchical displays can be created.
*Deferred rendering (...) can be used to offset processing overhead until actually needed. However, this may produce unexpected results in some cases.  Use with care.
* To make slider definitions easier to read and recognize when editing a tiddler, newlines immediately following the 'start slider' or preceding the 'end slider' sequences are automatically supressed so that excess whitespace is eliminated from the output.
<<<
!!!!!Examples
<<<
simple in-line slider: 
{{{
+++content===
}}}
+++content===
----
use a custom label and tooltip: 
{{{
+++[label|tooltip]content===
}}}
+++[label|tooltip]content===
----
content automatically blockquoted: 
{{{
+++>content===
}}}
+++>content===
----
all options (except cookie) //(default open, heading, sized floater, transient, open on hover, class, label/tooltip/key, blockquoted, deferred)//
{{{
++++!!!^30em^*@{{big{[label=Z|click or press Alt-Z to open]}}}>...
   content
===
}}}
++++!!!^30em^*@{{big{[label=Z|click or press Alt-Z to open]}}}>...
   content
===
----
complex nesting example:
{{{
+++[get info...=I|click for information or press Alt-I]
	put some general information here,
	plus a floating panel with more specific info:
	+++^10em^[view details...|click for details]
		put some detail here, which could in turn contain a transient panel,
		perhaps with a +++^25em^*[glossary definition]explaining technical terms===
	===
===
}}}
+++[get info...=I|click for information or press Alt-I]
	put some general information here,
	plus a floating panel with more specific info:
	+++^10em^[view details...|click for details]
		put some detail here, which could in turn contain a transient panel,
		perhaps with a +++^25em^*[glossary definition]explaining technical terms===
	===
===
----
embedded image as slider button
{{{
+++[<img src=images/eric3.gif>|click me!]>
	{{big{OUCH!}}}
===
}}}
+++[<img src=images/eric3.gif>|click me!]>
	{{big{OUCH!}}}
===
<<<
!!!!!Revisions
<<<
2008.11.15 2.4.9 in adjustNestedSlider(), don't make adjustments if panel is marked as 'undocked' (CSS class).  In onClickNestedSlider(), SHIFT-CLICK docks panel (see [[MoveablePanelPlugin]])
2008.11.13 2.4.8 in document.onclick(), if transient panel is not a sliderPanel or floatingPanel, hide it via CSS
2008.10.05 2.4.7 in onClickNestedSlider(), added try/catch around focus() call to prevent IE error if input field being focused on is currently not visible.
2008.09.07 2.4.6 added removeCookie() function for compatibility with [[CookieManagerPlugin]]
2008.06.07 2.4.5 in 'onmouseover' handler for 'open on hover' slider buttons, use call() method when invoking document.onclick function (avoids error in IE)
2008.06.07 2.4.4 changed default for chkFloatingSlidersAnimate to FALSE to avoid clipping problem on some browsers (IE).  Updated Morpher hijack (again) to adjust regular sliderPanel styles as well as floatingPanel styles.
2008.05.07 2.4.3 updated Morpher hijack to adjust floatingPanel styles after animation without affecting other animated elements (i.e. popups).  Also, updated adjustSliderPos() to account for scrollwidth and use core findWindowWidth().
2008.04.02 2.4.2 in onClickNestedSlider, handle clicks on elements contained //within// slider buttons (e.g., when using HTML to display an image as a slider button).
2008.04.01 2.4.1 open on hover also triggers document.onclick to close other transient sliders
2008.04.01 2.4.0 re-introduced 'open on hover' feature using "@" symbol
2008.03.26 2.3.5 in document.onclick(), if click is in popup, don't dismiss transient panel (if any)
2008.01.08 [*.*.*] plugin size reduction: documentation moved to ...Info tiddler
2007.12.28 2.3.4 added hijack for Animator.prototype.startAnimating().  Previously, the plugin code simply set the overflow to "visible" after animation.  This code tweak corrects handling of elements that were styled with overflow=hidden/auto/scroll before animation by saving the overflow style and then restoring it after animation has completed.
2007.12.17 2.3.3 use hasClass() instead of direct comparison to test for "floatingPanel" class.  Allows floating panels to have additional classes assigned to them (i.e., by AnimationEffectsPlugin).
2007.11.14 2.3.2 in onClickNestedSlider(), prevent SHIFT-click events from opening a new, empty browser window by setting "cancelBubble=true" and calling "stopPropagation()".  Note: SHIFT-click is still processed as a normal click (i.e., it toggles the slider panel display).  Also, using SHIFT-click will prevent 'transient' sliders from being automatically closed when another slider is opened, allowing you to *temporarily* display several transient sliders at once.
2007.07.26 2.3.1 in document.onclick(), propagate return value from hijacked core click handler to consume OR bubble up click as needed.  Fixes "IE click disease", whereby nearly every mouse click causes a page transition.
2007.07.20 2.3.0 added syntax for setting panel ID (#panelID:).  This allows individual slider panels to be repositioned within tiddler content simply by giving them a unique ID and then moving them to the desired location using the {{{<<DOM move id>>}}} macro.
2007.07.19 2.2.0 added syntax for alttext and alttip (button label and tooltip to be displayed when panel is open)
2007.07.14 2.1.2 corrected use of 'transient' attribute in IE to prevent (non-recursive) infinite loop
2007.07.12 2.1.0 replaced use of "*" for 'open/close on rollover' (which didn't work too well).  "*" now indicates 'transient' panels that are automatically closed if a click occurs somewhere else in the document.  This permits use of nested sliders to create nested "pulldown menus" that automatically disappear after interaction with them has been completed.  Also, in onClickNestedSlider(), use "theTarget.sliderCookie", instead of "this.sliderCookie" to correct cookie state tracking when automatically dismissing transient panels.
2007.06.10 2.0.5 add check to ensure that window.adjustSliderPanel() is defined before calling it (prevents error on shutdown when mouse event handlers are still defined)
2007.05.31 2.0.4 add handling to invoke adjustSliderPanel() for onmouseover events on slider button and panel.  This allows the panel position to be re-synced when the button position shifts due to changes in unrelated content above it on the page.  (thanks to Harsha for bug report)
2007.03.30 2.0.3 added chkFloatingSlidersAnimate (default to FALSE), so that slider animation can be disabled independent of the overall document animation setting (avoids strange rendering and focus problems in floating panels)
2007.03.01 2.0.2 for TW2.2+, hijack Morpher.prototype.stop so that "overflow:hidden" can be reset to "overflow:visible" after animation ends
2007.03.01 2.0.1 in hijack for Slider.prototype.stop, use apply() to pass params to core function
2006.07.28 2.0.0 added custom class syntax around label/tip/key syntax: {{{{{classname{[label=key|tip]}}}}}}
2006.07.25 1.9.3 when parsing slider, save default open/closed state in button element, then in onClickNestedSlider(), if slider state matches saved default, instead of saving cookie, delete it.  Significantly reduces the 'cookie overhead' when default slider states are used.
2006.06.29 1.9.2 in onClickNestedSlider(), when setting focus to first control, skip over type="hidden"
2006.06.22 1.9.1 added panel.defaultPanelWidth to save requested panel width, even after resizing has changed the style value
2006.05.11 1.9.0 added optional '^width^' syntax for floating sliders and '=key' syntax for setting an access key on a slider label
2006.05.09 1.8.0 in onClickNestedSlider(), when showing panel, set focus to first child input/textarea/select element
2006.04.24 1.7.8 in adjustSliderPos(), if floating panel is contained inside another floating panel, subtract offset of containing panel to find correct position
2006.02.16 1.7.7 corrected deferred rendering to account for use-case where show/hide state is tracked in a cookie
2006.02.15 1.7.6 in adjustSliderPos(), ensure that floating panel is positioned completely within the browser window (i.e., does not go beyond the right edge of the browser window)
2006.02.04 1.7.5 add 'var' to unintended global variable declarations to avoid FireFox 1.5.0.1 crash bug when assigning to globals
2006.01.18 1.7.4 only define adjustSliderPos() function if it has not already been provided by another plugin.  This lets other plugins 'hijack' the function even when they are loaded first.
2006.01.16 1.7.3 added adjustSliderPos(place,btn,panel,panelClass) function to permit specialized logic for placement of floating panels.  While it provides improved placement for many uses of floating panels, it exhibits a relative offset positioning error when used within *nested* floating panels.  Short-term workaround is to only adjust the position for 'top-level' floaters.
2006.01.16 1.7.2 added button property to slider panel elements so that slider panel can tell which button it belongs to.  Also, re-activated and corrected animation handling so that nested sliders aren't clipped by hijacking Slider.prototype.stop so that "overflow:hidden" can be reset to "overflow:visible" after animation ends
2006.01.14 1.7.1 added optional "^" syntax for floating panels.  Defines new CSS class, ".floatingPanel", as an alternative for standard in-line ".sliderPanel" styles.
2006.01.14 1.7.0 added optional "*" syntax for rollover handling to show/hide slider without requiring a click (Based on a suggestion by tw4efl)
2006.01.03 1.6.2 When using optional "!" heading style, instead of creating a clickable "Hn" element, create an "A" element inside the "Hn" element.  (allows click-through in SlideShowPlugin, which captures nearly all click events, except for hyperlinks)
2005.12.15 1.6.1 added optional "..." syntax to invoke deferred ('lazy') rendering for initially hidden sliders
removed checkbox option for 'global' application of lazy sliders
2005.11.25 1.6.0 added optional handling for 'lazy sliders' (deferred rendering for initially hidden sliders)
2005.11.21 1.5.1 revised regular expressions: if present, a single newline //preceding// and/or //following// a slider definition will be suppressed so start/end syntax can be place on separate lines in the tiddler 'source' for improved readability.  Similarly, any whitespace (newlines, tabs, spaces, etc.) trailing the 'start slider' syntax or preceding the 'end slider' syntax is also suppressed.
2005.11.20 1.5.0 added (cookiename) syntax for optional tracking and restoring of slider open/close state
2005.11.11 1.4.0 added !!!!! syntax to render slider label as a header (Hn) style instead of a button/link style
2005.11.07 1.3.0 removed alternative syntax {{{(((}}} and {{{)))}}} (so they can be used by other formatting extensions) and simplified/improved regular expressions to trim multiple excess newlines
2005.11.05 1.2.1 changed name to NestedSlidersPlugin
2005.11.04 1.2.0 added alternative character-mode syntax {{{(((}}} and {{{)))}}}
tweaked "eat newlines" logic for line-mode {{{+++}}} and {{{===}}} syntax
2005.11.03 1.1.1 fixed toggling of default tooltips ("more..." and "less...") when a non-default button label is used.  code cleanup, added documentation
2005.11.03 1.1.0 changed delimiter syntax from {{{(((}}} and {{{)))}}} to {{{+++}}} and {{{===}}}.  changed name to EasySlidersPlugin
2005.11.03 1.0.0 initial public release
<<<
Type the text for 'New Tiddler'
Type the text for 'New Tiddler'
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div style='position:absolute; bottom:2em; right:2em;' id='headerToolbar' refresh='content' tiddler='HeaderToolbar'></div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
/***
|''Name:''|PasswordOptionPlugin|
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Version:''|1.0.2|
|''Date:''|Apr 19, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#PasswordOptionPlugin|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
***/
//{{{
version.extensions.PasswordOptionPlugin = {
	major: 1, minor: 0, revision: 2, 
	date: new Date("Apr 19, 2007"),
	source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
	coreVersion: '2.2.0 (Beta 5)'
};

config.macros.option.passwordCheckboxLabel = "Save this password on this computer";
config.macros.option.passwordInputType = "password"; // password | text
setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");

merge(config.macros.option.types, {
	'pas': {
		elementType: "input",
		valueField: "value",
		eventName: "onkeyup",
		className: "pasOptionInput",
		typeValue: config.macros.option.passwordInputType,
		create: function(place,type,opt,className,desc) {
			// password field
			config.macros.option.genericCreate(place,'pas',opt,className,desc);
			// checkbox linked with this password "save this password on this computer"
			config.macros.option.genericCreate(place,'chk','chk'+opt,className,desc);			
			// text savePasswordCheckboxLabel
			place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));
		},
		onChange: config.macros.option.genericOnChange
	}
});

merge(config.optionHandlers['chk'], {
	get: function(name) {
		// is there an option linked with this chk ?
		var opt = name.substr(3);
		if (config.options[opt]) 
			saveOptionCookie(opt);
		return config.options[name] ? "true" : "false";
	}
});

merge(config.optionHandlers, {
	'pas': {
 		get: function(name) {
			if (config.options["chk"+name]) {
				return encodeCookie(config.options[name].toString());
			} else {
				return "";
			}
		},
		set: function(name,value) {config.options[name] = decodeCookie(value);}
	}
});

// need to reload options to load passwordOptions
loadOptionsCookie();

/*
if (!config.options['pasPassword'])
	config.options['pasPassword'] = '';

merge(config.optionsDesc,{
		pasPassword: "Test password"
	});
*/
//}}}
<html><nowiki>
<h1>  Past Tense </h1>
<h2> ਜਾ (Go)</h2>
<h3>1. Past Indefinite Tense ਅਨਿਸ਼ਚਿਤ ਭੂਤ ਕਾਲ / ਸਾਧਾਰਣ ਭੂਤ ਕਾਲ</h3>

<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਦਾ ਸੀ </td>
     <td> ਜਾਂਦੀ ਸੀ</td>
     <td>I went to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਦੇ ਸੀ/ਸਾਂ </td>
     <td> ਜਾਂਦੀਆਂ ਸੀ/ਸਾਂ </td>
     <td> We went to the market </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾਂਦਾ ਸੀ/ਸੈਂ </td>
     <td> ਜਾਂਦੀ ਸੀ/ਸੈਂ </td>
     <td> You went to the market </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਸੀ/ਸਉ </td>
     <td> ਜਾਂਦੀਆਂ ਸੀ/ਸਉ</td>
     <td> You (plural) went to the market </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦਾ ਸੀ </td>
     <td> ਜਾਂਦੀ ਸੀ </td>
     <td> He/She went to the market </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਸੀ/ਸਨ </td>
     <td> ਜਾਂਦੀਆਂ ਸੀ/ਸਨ </td>
     <td> They went to the market </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾਂਦਾ ਸੀ</td>
     <td>  </td>
     <td> Ram went to the market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾਂਦੀ ਸੀ </td>
     <td>Sita went to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਸਨ </td>
     <td>  </td>
     <td> Ram and Sita went to the market </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾਂਦੀਆਂ ਸਨ </td>
     <td> Sita and Gita went to the market </td>
</tr>
</table>
<br/>


<h3>2. Past Imperfect Continuous Tense ਅਪੂਰਨ ਚਾਲੂ ਭੂਤ ਕਾਲ</h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾ ਰਿਹਾ ਸੀ/ਸਾਂ  </td>
     <td> ਜਾ ਰਹੀ ਸੀ/ਸਾਂ</td>
     <td>I was going to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td>  ਜਾ ਰਹੇ ਸੀ/ਸਾਂ </td>
     <td> ਜਾ ਰਹੀਆਂ ਸੀ/ਸਾਂ </td>
     <td> We were going to the market </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾ ਰਿਹਾ ਸੀ/ਸੈਂ </td>
     <td> ਜਾ ਰਹੀ ਸੀ/ਸੈਂ </td>
     <td> You were going to the market </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਹੇ ਸੀ/ਸਉ </td>
     <td> ਜਾ ਰਹੀਆਂ ਸੀ/ਸਉ</td>
     <td> You (plural) were going to the market </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਿਹਾ ਸੀ </td>
     <td> ਜਾ ਰਹੀ ਸੀ </td>
     <td> He/She was going to the market </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਹੇ ਸੀ/ਸਨ </td>
     <td> ਜਾ ਰਹੀਆਂ ਸੀ/ਸਨ </td>
     <td> They were going to the market </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾ ਰਿਹਾ ਸੀ </td>
     <td> </td>
     <td> Ram was going to the market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਜਾ ਰਹੀ ਸੀ </td>
     <td> Sita was going to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਹੇ ਸੀ/ਸਨ </td>
     <td>  </td>
     <td> Ram and Sita were going to the market </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾ ਰਹੀਆਂ ਸੀ/ਸਨ </td>
     <td> Sita and Gita were going to the market </td>
</tr>
</table>
<br/>

<h3>3. Past Perfect Continuous Tense ਪੂਰਨ ਚਾਲੂ ਭੂਤ ਕਾਲ</h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਦਾ ਰਿਹਾ ਸੀ/ਸਾਂ  </td>
     <td> ਜਾਂਦੀ ਰਹੀ ਸੀ/ਸਾਂ</td>
     <td>I had been going to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਦੇ ਰਹੇ ਸੀ/ਸਾਂ </td>
     <td> ਜਾਂਦੀਆਂ ਰਹੀਆਂ ਸੀ/ਸਾਂ </td>
     <td> We had been going to the market </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾਂਦਾ ਰਿਹਾ ਸੀ/ਸੈਂ </td>
     <td> ਜਾਂਦੀ ਰਹੀ ਸੀ/ਸੈਂ </td>
     <td> You had been going to the market </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਰਹੇ ਸੀ/ਸਉ </td>
     <td> ਜਾਂਦੀਆਂ ਰਹੀਆਂ ਸੀ/ਸਉ </td>
     <td> You (plural) had been going to the market </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦਾ ਰਿਹਾ ਸੀ </td>
     <td> ਜਾਂਦੀ ਰਹੀ ਸੀ </td>
     <td> He/She had been going to the market </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਰਹੇ ਸੀ/ਸਨ </td>
     <td> ਜਾਂਦੀਆਂ ਰਹੀਆਂ ਸੀ/ਸਨ </td>
     <td> They had been going to the market </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾਂਦਾ ਰਿਹਾ ਸੀ </td>
     <td> </td>
     <td> Ram had been going to market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਜਾਂਦੀ ਰਹੀ ਸੀ </td>
     <td> Sita had been going to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਰਹੇ ਸੀ/ਸਨ </td>
     <td>  </td>
     <td> Ram and Sita had been going to the market </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾਂਦੀਆਂ ਰਹੀਆਂ ਸੀ/ਸਨ </td>
     <td> Sita and Gita had been going to the market </td>
</tr>
</table>
<br/>

<h3>4. Past Perfect indefinite ਅਨਿਸ਼ਚਿਤ ਪੂਰਨ ਭੂਤ ਕਾਲ</h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਗਿਆ ਸੀ/ਸਾਂ  </td>
     <td> ਗਈ ਸੀ/ਸਾਂ</td>
     <td> I had gone to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਸੀ/ਸਾਂ </td>
     <td> ਗਈਆਂ ਸੀ/ਸਾਂ </td>
     <td> We had gone to the market  </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਗਿਆ ਸੀ/ਸੈਂ </td>
     <td> ਗਈ ਸੀ/ਸੈਂ </td>
     <td> You had gone to the market  </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਸੀ/ਸਉ </td>
     <td> ਗਈਆਂ ਸੀ/ਸਉ</td>
     <td> You(plural) had gone to the market  </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਿਆ ਸੀ </td>
     <td> ਗਈ ਸੀ </td>
     <td> He/She had gone to the market  </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਸੀ/ਸਨ </td>
     <td> ਗਈਆਂ ਸੀ/ਸਨ </td>
     <td> They had gone to the market  </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਗਿਆ ਸੀ </td>
     <td> </td>
     <td> Ram had gone to the market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਗਈ ਸੀ </td>
     <td>Sita had gone to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਸੀ/ਸਨ </td>
     <td>  </td>
     <td> Ram and Sita had gone to the market</td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਗਈਆਂ ਸੀ/ਸਨ </td>
     <td> Sita and Gita had gone to the market </td>
</tr>
</table>
<br/>

<h3>5. Past Perfect Definite  ਨਿਸ਼ਚਿਤ ਪੂਰਨ ਭੂਤ ਕਾਲ</h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾ ਚੁੱਕਾ ਸੀ/ਸਾਂ  </td>
     <td> ਜਾ ਚੁੱਕੀ ਸੀ/ਸਾਂ </td>
     <td> </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਸੀ/ਸਾਂ </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਸੀ/ਸਾਂ </td>
     <td>  </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾ ਚੁੱਕਾਂ ਸੀ/ਸੈਂ </td>
     <td> ਜਾ ਚੁੱਕੀ ਸੀ/ਸੈਂ </td>
     <td>  </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਸੀ/ਸਉ </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਸੀ/ਸਉ</td>
     <td>  </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕਾ ਸੀ </td>
     <td> ਜਾ ਚੁੱਕੀ ਸੀ </td>
     <td>  </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਸੀ/ਸਨ </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਸੀ/ਸਨ </td>
     <td>  </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾ ਚੁੱਕਾ ਸੀ </td>
     <td> </td>
     <td>  </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਜਾ ਚੁੱਕੀ ਸੀ </td>
     <td> </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਸੀ/ਸਨ </td>
     <td>  </td>
     <td> </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਸੀ/ਸਨ </td>
     <td> Sita and Gita  </td>
</tr>
</table>
<br/>
<h3>6. Conditional Past Tense ਸ਼ਰਤੀ ਭੂਤ ਕਾਲ </h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2> Conjugate </th>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਜੇ </td>
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2>  ਜਾਂਦਾ   </td>

     <td> If I went to the market </td>
</tr> <tr class="plural">
     <td> ਜੇ </td>
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਂਦੇ </td>
     <td> If we went to the market </td>
</tr><tr class="singular">
     <td> ਜੇ </td>
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td colspan=2> ਜਾਦਾਂ </td>
     <td> If you went to the market  </td>
</tr><tr class="plural">
     <td> ਜੇ </td>
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਦੇਂ </td>
     <td> If you(plural) went to the market  </td>
</tr><tr class="singular">
     <td> ਜੇ </td>
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਂਦਾ </td>
     <td> If he went to the market  </td>
</tr><tr class="plural">
     <td> ਜੇ </td>
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਂਦੇ </td>
     <td> If they went to the market  </td>
</tr>
<tr class="singular">
     <td> ਜੇ </td>
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td colspan=2>ਜਾਂਦਾ </td>
     <td> If Ram went to the market  </td>
</tr>
<tr class="singular">
     <td> ਜੇ </td>
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td colspan=2>ਜਾਂਦੀ </td>
     <td>If Sita went to the market </td>
</tr>
<tr class="plural">
     <td> ਜੇ </td>
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਂਦੇ </td>
     <td>If Ram and Sita went to the market </td>
</tr>
<tr class="plural">
     <td> ਜੇ </td>
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਂਦੀਆਂ </td>
     <td> If Sita and Gita went to the market  </td>
</tr>
</table>
<br/>
</html>
<html><nowiki>
<style>
.verbConjugation table{
     border: none;
     background-color: none;
     text-align: center;
}
.verbConjugation tr{
     border: none;
     background-color: none;     
}
.verbConjugation tr th{
     background-color: #519600;
     border: 1px solid #00ff00;
}
.verbConjugation tr.singular{
     background-color: #9ff33d;
}
.verbConjugation tr.plural{
     background-color: #B5F36D; 
}

.verbConjugation tr td{
     border: 1px solid #00ff00;
     text-align: center;
}

</style>
<p> We now start with making simple sentences in Punjabi. As you know verb or verb phrase is an important and indispensable element of a sentence. In punjabi a verb or a verb phrase may change its form under effect of gender, number, person, tense, aspect, etc.

<h1>  Present Tense </h1>
<h2> ਜਾ (Go)</h2>
<h3>1. Present Imperative Tense </h3>

<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2>  ਜਾਵਾਂ </td>
     <td>(Let) me go to market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td colspan=2>  ਜਾਈਏ </td>
     <td> (Let) us go to market </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td colspan=2> ਜਾ </td>
     <td> You go to market </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਓ </td>
     <td> You (plural) go to market </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਵੇ </td>
     <td> Let him/her go to market </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਣ </td>
     <td> Let them go to market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>



<h3>2. Present Indefinite Tense </h3>

<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਦਾ ਹਾਂ </td>
     <td> ਜਾਂਦੀ ਹਾਂ</td>
     <td>I go to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਦੇ ਹਾਂ </td>
     <td> ਜਾਂਦੀਆਂ ਹਾਂ </td>
     <td> We go to the market </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾਂਦਾ ਹੈਂ </td>
     <td> ਜਾਂਦੀ ਹੈਂ </td>
     <td> You go to the market </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਹੋ </td>
     <td> ਜਾਂਦੀਆਂ ਹੋ</td>
     <td> You (plural) go to the market </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦਾ ਹੈ </td>
     <td> ਜਾਂਦੀ ਹੈ </td>
     <td> He/She goes to the market </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਹਨ </td>
     <td> ਜਾਂਦੀਆਂ ਹਨ </td>
     <td> They go to the market </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾਂਦਾ ਹੈ</td>
     <td>  </td>
     <td> Ram goes to the market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾਂਦੀ ਹੈ </td>
     <td>Sita goes to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਹਨ </td>
     <td>  </td>
     <td> Ram and Sita go to the market </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾਂਦੀਆਂ ਹਨ </td>
     <td> Sita and Gita go to the market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>


<h3>3. Present Imperfect Continuous Tense </h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾ ਰਿਹਾ ਹਾਂ  </td>
     <td> ਜਾ ਰਹੀ ਹਾਂ</td>
     <td>I am going to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td>  ਜਾ ਰਹੇ ਹਾਂ </td>
     <td> ਜਾ ਰਹੀਆਂ ਹਾਂ </td>
     <td> We are going to the market </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾ ਰਿਹਾ ਹੈਂ </td>
     <td> ਜਾ ਰਹੀ ਹੈਂ </td>
     <td> You are going to the market </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਹੇ ਹੋ </td>
     <td> ਜਾ ਰਹੀਆਂ ਹੋ</td>
     <td> You (plural) are going to the market </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਿਹਾ ਹੈ </td>
     <td> ਜਾ ਰਹੀ ਹੈ </td>
     <td> He/She is going to the market </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਹੇ ਹਨ </td>
     <td> ਜਾ ਰਹੀਆਂ ਹਨ </td>
     <td> They are going to the market </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾ ਰਿਹਾ ਹੈ </td>
     <td> </td>
     <td> Ram is going to the market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਜਾ ਰਹੀ ਹੈ </td>
     <td> Sita is going to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਰਹੇ ਹਨ </td>
     <td>  </td>
     <td> Ram and Sita are going to the market </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾ ਰਹੀਆਂ ਹਨ </td>
     <td> Sita and Gita are going to the market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>

<h3>4. Present Perfect Continuous Tense </h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਦਾ ਰਿਹਾ ਹਾਂ  </td>
     <td> ਜਾਂਦੀ ਰਹੀ ਹਾਂ</td>
     <td>I have been going to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td>  ਜਾਂਦੇ ਰਹੇ ਹਾਂ </td>
     <td> ਜਾਂਦੀਆਂ ਰਹੀਆਂ ਹਾਂ </td>
     <td> We have been going to the market </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾਂਦਾ ਰਿਹਾ ਹੈਂ </td>
     <td> ਜਾਂਦੀ ਰਹੀ ਹੈਂ </td>
     <td> You have been going to the market </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਰਹੇ ਹੋ </td>
     <td> ਜਾਂਦੀਆਂ ਰਹੀਆਂ ਹੋ</td>
     <td> You (plural) have been going to the market </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦਾ ਰਿਹਾ ਹੈ </td>
     <td> ਜਾਂਦੀ ਰਹੀ ਹੈ </td>
     <td> He/She has been going to the market </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਰਹੇ ਹਨ </td>
     <td> ਜਾਂਦੀਆਂ ਰਹੀਆਂ ਹਨ </td>
     <td> They have been going to the market </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾਂਦਾ ਰਿਹਾ ਹੈ </td>
     <td> </td>
     <td> Ram has been going to market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਜਾਂਦੀ ਰਹੀ ਹੈ </td>
     <td> Sita has been going to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾਂਦੇ ਰਹੇ ਹਨ </td>
     <td>  </td>
     <td> Ram and Sita have been going to the market </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾਂਦੀਆਂ ਰਹੀਆਂ ਹਨ </td>
     <td> Sita and Gita have been going to the market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>

<h3>5. Present Perfect indefinite</h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਗਿਆ ਹਾਂ  </td>
     <td> ਗਈ ਹਾਂ</td>
     <td> I have gone to the market </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਹਾਂ </td>
     <td> ਗਈਆਂ ਹਾਂ </td>
     <td> We have gone to the market  </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਗਿਆ ਹੈਂ </td>
     <td> ਗਈ ਹੈਂ </td>
     <td> You have gone to the market  </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਹੋ </td>
     <td> ਗਈਆਂ ਹੋ</td>
     <td> You(plural) have gone to the market  </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਿਆ ਹੈ </td>
     <td> ਗਈ ਹੈ </td>
     <td> He/She has gone to the market  </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਹਨ </td>
     <td> ਗਈਆਂ ਹਨ </td>
     <td> They have gone to the market  </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਗਿਆ ਹੈ </td>
     <td> </td>
     <td> Ram has gone to the market </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਗਈ ਹੈ </td>
     <td>Sita has gone to the market </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਗਏ ਹਨ </td>
     <td>  </td>
     <td> Ram and Sita have gone to the market</td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਗਈਆਂ ਹਨ </td>
     <td> Sita and Gita have gone to the market </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>

<h3>6. Present Perfect Definite </h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td>  ਜਾ ਚੁੱਕਾ ਹਾਂ  </td>
     <td> ਜਾ ਚੁੱਕੀ ਹਾਂ</td>
     <td> </td>
</tr> <tr class="plural">
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਹਾਂ </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਹਾਂ </td>
     <td>  </td>
</tr><tr class="singular">
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td> ਜਾ ਚੁੱਕਾਂ ਹੈਂ </td>
     <td> ਜਾ ਚੁੱਕੀ ਹੈਂ </td>
     <td>  </td>
</tr><tr class="plural">
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਹੋ </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਹੋ</td>
     <td>  </td>
</tr><tr class="singular">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕਾ ਹੈ </td>
     <td> ਜਾ ਚੁੱਕੀ ਹੈ </td>
     <td>  </td>
</tr><tr class="plural">
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਹਨ </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਹਨ </td>
     <td>  </td>
</tr>
<tr class="singular">
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td>ਜਾ ਚੁੱਕਾ ਹੈ </td>
     <td> </td>
     <td>  </td>
</tr>
<tr class="singular">
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td> </td>
     <td>ਜਾ ਚੁੱਕੀ ਹੈ </td>
     <td> </td>
</tr>
<tr class="plural">
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td> ਜਾ ਚੁੱਕੇ ਹਨ </td>
     <td>  </td>
     <td> </td>
</tr>
<tr class="plural">
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td> </td>
     <td> ਜਾ ਚੁੱਕੀਆਂ ਹਨ </td>
     <td> Sita and Gita  </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>
<h3>7. Conditional Present Tense </h3>
<table class="verbConjugation">
<tr>
    <th rowspan=2> Conjugate </th>
    <th rowspan=2 >Subject </th>
    <th rowspan=2>Object </th>
    <th colspan=2> Verb (phrase) </th>
    <th rowspan=2> English Translation </th>
</tr>
<tr>

     <th> Masculine </th>
     <th> Feminine </th>
</tr>
<tr class="singular" >
     <td> ਜੇ </td>
     <td> ਮੈਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2>  ਜਾਵਾਂ   </td>

     <td> If I go to the market </td>
</tr> <tr class="plural">
     <td> ਜੇ </td>
     <td> ਅਸੀਂ </td>
     <td>  ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਈਏ </td>
     <td> If we go to the market </td>
</tr><tr class="singular">
     <td> ਜੇ </td>
     <td> ਤੂੰ </td>
     <td> ਬਜ਼ਾਰ </td> 
     <td colspan=2> ਜਾਵੇਂ </td>
     <td> If you go to the market  </td>
</tr><tr class="plural">
     <td> ਜੇ </td>
     <td> ਤੁਸੀਂ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਵੋਂ </td>
     <td> If you(plural) go to the market  </td>
</tr><tr class="singular">
     <td> ਜੇ </td>
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਵੇ </td>
     <td> If he goes to the market  </td>
</tr><tr class="plural">
     <td> ਜੇ </td>
     <td> ਓਹ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਣ </td>
     <td> If they go to the market  </td>
</tr>
<tr class="singular">
     <td> ਜੇ </td>
     <td> ਰਾਮ  </td>
     <td>ਬਜ਼ਾਰ  </td>
     <td colspan=2>ਜਾਵੇ </td>
     <td> If Ram goes to the market  </td>
</tr>
<tr class="singular">
     <td> ਜੇ </td>
     <td>ਸੀਤਾ </td>
     <td>ਬਜ਼ਾਰ </td>
     <td colspan=2>ਜਾਵੇ </td>
     <td>If Sita goes to the market </td>
</tr>
<tr class="plural">
     <td> ਜੇ </td>
     <td> ਰਾਮ ਅਤੇ ਸੀਤਾ</td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਣ </td>
     <td>If Ram and Sita go to the market </td>
</tr>
<tr class="plural">
     <td> ਜੇ </td>
     <td> ਸੀਤਾ ਅਤੇ ਗੀਤਾ </td>
     <td> ਬਜ਼ਾਰ </td>
     <td colspan=2> ਜਾਣ </td>
     <td> If Sita and Gita go to the market  </td>
</tr>
</table>
<br/>
<table>
<tr>
     <td style="background-color: #9FF33d;" >Singular </td> <td style="background-color: #b5f36d;">Plural </td>
</tr>
</table>
</html>
<<list filter "[tag[Punjabi Courses]]">>
<<list filter "[tag[Punjabi Teaching]]">>
/***
|''Name:''|PunjabiTranslationPlugin|
|''Description:''|Translation of TiddlyWiki into Punjabi|
|''Author:''|Shavinder Singh (shavinderpalsingh (at) gmail (dot) com)|
|''CodeRepository:''|http://punjabi.tiddlyspot.com/#PunjabiTranslationPlugin|
|''Version:''|0.0.1|
|''Date:''|Feb 5, 2012|
|''Comments:''|Please make comments at http://groups.google.com/group/tiddlywiki|
|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]] |
|''~CoreVersion:''|2.6.1|
***/

//{{{
//--
//-- Translateable strings
//--

// Strings in "double quotes" should be translated; strings in 'single quotes' should be left alone

config.locale = "pa"; // W3C language tag

if (config.options.txtUserName == 'YourName') // do not translate this line, but do translate the next line
	merge(config.options,{txtUserName: "ਤੁਹਾਡਾਨਾਮ"});

merge(config.tasks,{
	save: {text: "ਸੇਵ", tooltip: "ਇਸ ਟਿਡਲੀਵਿਕੀ ਦੇ ਬਦਲਾਓ ਸੇਵ ਕਰੋ", action: saveChanges},
	sync: {text: "ਸੁਮੇਲੋ", tooltip: "ਬਦਲਾਵਾਂ ਨੂ ਬਾਕੀ ਟਿਡਲੀਵਿਕੀ ਫਾਈਲਾਂ ਤੇ ਸਰਵਰਾਂ ਨਾਲ ਸੁਮੇਲੋ", content: '<<sync>>'},
	importTask: {text: "ਇੰਪੋਰਟ", tooltip: "ਟਿਡਲਰਾਂ ਅਤੇ ਪਲੱਗਿਨਾਂ ਨੂੰ ਦੂਜੀਆਂ ਟਿਡਲੀਵਿਕੀ ਫਾਈਲਾਂ ਅਤੇ ਸਰਵਰਾਂ ਤੋਂ ਇੰਪੋਰਟ ਕਰੋ", content: '<<importTiddlers>>'},
	tweak: {text: "ਟ੍ਵੀਕ", tooltip: "ਟਿਡਲੀਵਿਕੀ ਦੀ ਦਿਖ ਅਤੇ ਵਿਓਹਾਰ ਨੂੰ ਟ੍ਵੀਕੋ", content: '<<options>>'},
	upgrade: {text: "ਅਪਗ੍ਰੇਡ", tooltip: "ਟਿਡਲੀਵਿਕੀ ਦੇ ਕੋਰ-ਕੋਡ ਨੂੰ ਅਪਗ੍ਰੇਡ ਕਰੋ", content: '<<upgrade>>'},
	plugins: {text: "ਪਲੱਗਿਨ", tooltip: "ਇੰਸਟਾਲ ਹੋਏ ਹੋਏ ਪਲੱਗਿਨਾਂ ਨੂੰ ਮੈਨੇਜ ਕਰੋ", content: '<<plugins>>'}
});

// Options that can be set in the options panel and/or cookies
merge(config.optionsDesc,{
	txtUserName: "ਤੁਹਾਡੇ ਸੰਪਾਦਨਾਂ ਲਈ ਯੂਜ਼ਰ-ਨੇਮ",
	chkRegExpSearch: "ਖੋਜਾਂ ਲਈ ਰੈਗੂਲਰ-ਐਕਸਪ੍ਰੈਸ਼ਨ ਚਾਲੂ ਕਰੋ",
	chkCaseSensitiveSearch: "ਕੇਸ-ਸੰਵੇਦਨਸ਼ੀਲ ਖੋਜ",
	chkIncrementalSearch: "ਅੱਖਰ-ਅੱਖਰ ਵ੍ਰਿਦੀਸ਼ੀਲ ਖੋਜ",
	chkAnimate: "ਐਨੀਮੇਸ਼ਨ ਚਾਲੂ ਕਰੋ",
	chkSaveBackups: "ਬਦਲਾਓ ਸੇਵ ਕਰਨ ਵੇਲੇ ਬੈਕਅਪ ਫਾਈਲ ਰੱਖੋ",
	chkAutoSave: "ਆਪਣੇ ਆਪ ਬਦਲਾਓ ਸੇਵ ਕਰੋ",
	chkGenerateAnRssFeed: "ਬਦਲਾਓ ਸੇਵ ਕਰਣ ਵੇਲੇ RSS ਫੀਡ ਪੈਦਾ ਕਰੋ",
	chkSaveEmptyTemplate: "ਬਦਲਾਓ ਸੇਵ ਕਰਣ ਵੇਲੇ ਖਾਲੀ ਟੈਂਪਲੇਟ ਪੈਦਾ ਕਰੋ",
	chkOpenInNewWindow: "ਬਾਹਰਲੇ ਲਿੰਕ ਨਵੀਂ ਖਿੜਕੀ ਵਿਚ ਖੋਲੋ",
	chkToggleLinks: "ਟਿਡਲਰ ਖੋਲਣ ਵਾਲੇ ਲਿੰਕਾਂ ਤੇ ਕਲਿਕ ਕਰਣ ਨਾਲ ਓਹ ਬੰਦ ਹੋ ਜਾਣ",
	chkHttpReadOnly: "HTTP ਰਾਹੀ ਦੇਖੇ ਜਾਣ ਵੇਲੇ ਸੰਪਾਦਨ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਛੁਪਾ ਦੇਓ",
	chkForceMinorUpdate: "ਟਿਡਲਰਾਂ ਦੇ ਸੰਪਾਦਨ ਵੇਲੇ ਸੰਪਾਦਕ ਯੂਜ਼ਰ-ਨੇਮ  ਅਤੇ ਤਰੀਕ ਨੂੰ ਨਵੀਨ ਨਾ ਕਰੋ",
	chkConfirmDelete: "ਟਿਡਲਰਾਂ ਨੂੰ ਮਿਟਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਪੁਸ਼ਟੀ ਦੀ ਲੋੜ ਕਰੋ",
	chkInsertTabs: "ਟੈਬ ਕੀਅ ਦਾ ਪ੍ਰਯੋਗ ਫੀਲਡਾਂ ਵਿਚਾਲੇ ਚਲਣ ਦੀ ਬਜਾਏ ਟੈਬ ਅੱਖਰ ਪਾਉਣ ਲਈ ਕਰੋ",
	txtBackupFolder: "ਬੈਕਅਪਾਂ ਵਾਸਤੇ ਪ੍ਰਯੋਗ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਫੋਲਡਰ ਦਾ ਨਾਮ",
	txtMaxEditRows: "ਸੰਪਾਦਨ ਖਾਨਿਆਂ ਵਿਚ ਵਧ ਤੋਂ ਵਧ ਸਤਰਾਂ",
	txtTheme: "ਪ੍ਰਯੋਗ ਹੋਣ ਵਾਲੇ ਥੀਮ ਦਾ ਨਾਮ",
	txtFileSystemCharSet: "ਬਦਲਾਵ ਸੇਵ ਕਰਣ ਲਈ ਡਿਫਾਲਟ ਕਰੈਕਟਰ-ਸੈੱਟ (ਕੇਵਲ ਫਾਇਰਫਾਕਸ/ਮੌਜੀਲਾ ਲਈ)"});

merge(config.messages,{
	customConfigError: "ਪਲੱਗਿਨ ਲੋਡ ਕਰਦਿਆਂ ਸਮੱਸਿਆਵਾਂ ਦਾ ਸਾਹਮਣਾ ਹੋਇਆ. ਵੇਰਵੇ ਲਈ ਪਲੱਗਿਨ-ਮਨੇਜਰ ਦੇਖੋ",
	pluginError: "ਐਰਰ: %0",
	pluginDisabled: "ਐਗਜ਼ੀਕਿਊਟ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਕਿਉਂਕਿ 'systemConfigDisable' ਟੈਗ ਨਾਲ ਕਿਰਿਆਹੀਣ ਕੀਤਾ ਗਿਆ",
	pluginForced: "'systemConfigForce' ਟੈਗ ਦ੍ਵਾਰਾ ਜ਼ਬਰਨ ਐਗਜ਼ੀਕਿਊਟ ਕੀਤਾ ਗਿਆ",
	pluginVersionError: "ਐਗਜ਼ੀਕਿਊਟ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਕਿਉਂਕਿ ਇਸ ਪਲੱਗਿਨ ਨੂੰ ਟਿਡਲੀਵਿਕੀ ਦੀ ਨਵੀਨ ਵਰਜ਼ਨ ਦੀ ਲੋੜ ਹੈ",
	nothingSelected: "ਕੁਝ ਵੀ ਚੁਣਿਆ ਨਹੀਂ ਹੋਇਆ. ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਇਕ ਜਾਂ ਵਧ ਆਈਟਮਾਂ ਨੂੰ ਚੁਣਨਾ ਹੋਵੇਗਾ.",
	savedSnapshotError: "ਇੰਜ ਲਗਦਾ ਹੈ ਕੀ ਟਿਡਲੀਵਿਕੀ ਸਹੀ ਸੇਵ ਨਹੀਂ ਕੀਤੀ ਗਈ. ਕਿਰਪਾ ਕਰਕੇ ਵੇਰਵੇ ਲਈ http://www.tiddlywiki.com/#Download ਦੇਖੋ.",
	subtitleUnknown: "(ਅਗਿਆਤ)",
	undefinedTiddlerToolTip: "'%0' ਟਿਡਲਰ ਹਾਲੇ ਹੋਂਦ ਵਿਚ ਨਹੀਂ ਹੈ",
	shadowedTiddlerToolTip: "ਟਿਡਲਰ '%0' ਹੋਂਦ ਵਿਚ ਨਹੀਂ ਹੈ, ਪਰ ਉਸਦੀ ਇਕ ਪੂਰਵ-ਨਿਸ਼ਚਿਤ ਕੀਮਤ ਹੈ",
	tiddlerLinkTooltip: "%0 - %1, %2",
	externalLinkTooltip: "%0 ਦਾ ਬਾਹਰਲਾ ਲਿੰਕ",
	noTags: "ਕੋਈ ਵੀ ਟੈਗ ਹੋਏ ਟਿਡਲਰ ਨਹੀਂ ਹਨ",
	notFileUrlError: "ਬਦਲਾਓ ਸੇਵ ਕਰਣ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਇਸ ਟਿਡਲੀਵਿਕੀ ਨੂੰ ਇਕ ਫਾਈਲ ਰੂਪ'ਚ ਸੇਵ ਕਰਨਾ ਪਵੇਗਾ",
	cantSaveError: "ਬਦਲਾਓ ਸੇਵ ਕਰਨਾ ਸੰਭਵ ਨਹੀਂ ਹੈ. ਸੰਭਵ ਕਾਰਣਾਂ 'ਚ ਸ਼ਾਮਿਲ ਹਨ:\n ਤੁਹਾਡਾ ਬ੍ਰਾਉਜ਼ਰ ਸੇਵ ਕਰਣ ਨੂੰ ਸਪੋਰਟ ਨਹੀਂ ਕਰਦਾ (ਫਾਇਰਫੋਕਸ, ਇੰਟ੍ਰਨੈਟ ਐਕਸਪਲੋਰਰ, ਸਫਾਰੀ, ਔਪੇਰਾ ਸਾਰੇ ਸਹੀ ਕਨਫਿਗਰ ਕੀਤੇ ਹੋਣ ਤੇ ਕੰਮ ਕਰਦੇ ਹਨ)\n- ਤੁਹਾਡੀ ਟਿਡਲੀਵਿਕੀ ਦੇ ਪਾਥਨੇਮ ਵਿਚ ਗੈਰ-ਕਾਨੂੰਨੀ ਅੱਖਰ ਸ਼ਾਮਿਲ ਹਨ\n- ਟਿਡਲੀਵਿਕੀ HTML ਫਾਈਲ ਸਥਾਨਾਂਤਰਿਤ ਜਾਂ ਨਾਮਾਂਤ੍ਰਿਤ ਕੀਤੀ ਗਈ ਹੈ",
	invalidFileError: "ਮੂਲ ਫਾਈਲ %0 ਵੈਧ ਟਿਡਲੀਵਿਕੀ ਨਹੀਂ ਜਾਪਦੀ",
	backupSaved: "ਬੈਕੱਪ ਸੇਵ ਕਰ ਲਿਆ ਗਿਆ",
	backupFailed: "ਬੈਕੱਪ ਫਾਈਲ ਸੇਵ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ",
	rssSaved: "RSS ਫੀਡ ਸੇਵ ਕਰ ਲਈ ਗਈ",
	rssFailed: "RSS ਫੀਡ ਫਾਈਲ ਸੇਵ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ",
	emptySaved: "ਖਾਲੀ ਖਾਕਾ ਸੇਵ ਕਰ ਲਿਆ ਗਿਆ",
	emptyFailed: "ਖਾਲੀ ਖਾਕਾ ਸੇਵ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ",
	mainSaved: "ਮੁੱਖ ਟਿਡਲੀਵਿਕੀ ਫਾਈਲ ਸੇਵ ਕਰ ਲਈ ਗਈ",
	mainFailed: "ਮੁੱਖ ਟਿਡਲੀਵਿਕੀ  ਫਾਈਲ ਸੇਵ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ. ਤੁਹਾਡੀਆਂ ਤਬਦੀਲੀਆਂ ਸੇਵ ਨਹੀਂ ਹੋਈਆਂ",
	macroError: "ਮੈਕਰੋ ਵਿਚ ਐਰਰ <<\%0>>",
	macroErrorDetails: "ਮੈਕਰੋ ਐਗਜ਼ੀਕਿਊਟ ਕਰਣ ਦੌਰਾਨ ਐਰਰ <<\%0>>:\n%1",
	missingMacro: "ਅਜਿਹਾ ਕੋਈ ਮੈਕਰੋ ਨਹੀਂ",
	overwriteWarning: "'%0' ਨਾਮੀ ਟਿਡਲਰ ਪਹਿਲਾਂ ਹੀ ਹੋਂਦ ਵਿਚ ਹੈ. ਉਸਨੂੰ ਅਧਿਲੇਖਿਤ ਕਰਣ ਲਈ OK ਕਰੋ",
	unsavedChangesWarning: "ਚੇਤਾਵਨੀ! ਟਿਡਲੀਵਿਕੀ ਵਿਚ ਸੇਵ ਨਾ ਕੀਤੇ ਹੋਏ ਬਦਲਾਓ ਹਨ\n\nਸੇਵ ਕਰਣ ਲਈ OK ਚੁਣੋ\nਰੱਦ ਕਰਣ ਲਈ CANCEL ਚੁਣੋ",
	confirmExit: "--------------------------------\n\nਟਿਡਲੀਵਿਕੀ ਵਿਚ ਸੇਵ ਨਾ ਕੀਤੇ ਹੋਏ ਬਦਲਾਓ ਹਨ. ਜੇ ਤੁਸੀਂ ਜਾਰੀ ਰੱਖਿਆ ਤਾਂ ਓਹ ਬਦਲਾਓ ਗੁਆ ਲਵੋਂਗੇ\n\n--------------------------------",
	saveInstructions: "ਬਦਲਾਓ ਸੇਵ ਕਰੋ",
	unsupportedTWFormat: "ਅਣਸਮਰਥਿਤ ਟਿਡਲੀਵਿਕੀ ਫੌਰਮੈਟ '%0'",
	tiddlerSaveError: "ਟਿਡਲਰ ਸੇਵ ਕਰਦਿਆਂ ਐਰਰ '%0'",
	tiddlerLoadError: "ਟਿਡਲਰ ਲੋਡ ਕਰਦਿਆਂ ਐਰਰ '%0'",
	wrongSaveFormat: "'%0' ਸਟੋਰੇਜ ਫੌਰਮੈਟ ਵਿਚ ਸੇਵ ਨਹੀ ਕੀਤਾ ਜਾ ਸਕਦਾ. ਸੇਵ ਕਰਣ ਲਈ ਸਟੈਂਡਰਡ ਫੋਰਮੈਟ ਨੂੰ ਪ੍ਰਯੋਗ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ.",
	invalidFieldName: "ਅਵੈਧ ਫੀਲਡ ਨਾਮ %0",
	fieldCannotBeChanged: "ਫੀਲਡ '%0' ਨੂੰ ਬਦਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ",
	loadingMissingTiddler: "'%0' ਟਿਡਲਰ ਨੂੰ '%3' ਵਰਕਸਪੇਸ ਵਿਚੋਂ ਅਤੇ '%2' ਤੇ ਸਥਿਤ '%1' ਸਰਵਰ ਤੋਂ ਪੁਨ-ਪ੍ਰਾਪਤ ਕਰਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ",
	upgradeDone: "%0 ਵਰਜ਼ਨ ਤੱਕ ਅਪਗ੍ਰੇਡ ਹੁਣ ਸਮਪੂਰਣ ਹੋ ਗਿਆ\n\nਨਵੀਂ ਅਤੇ ਅਪਗ੍ਰੇਡ ਹੋਈ ਟਿਡਲੀਵਿਕੀ ਨੂੰ ਪੁਨਰ-ਲੋਡ ਕਰਣ ਲਈ 'OK' ਦੱਬੋ",
	invalidCookie: "ਅਵੈਧ ਕੁਕੀ '%0'"});

merge(config.messages.messageClose,{
	text: "ਬੰਦ",
	tooltip: "ਇਸ ਸੁਨੇਹੇ ਸਥਾਨ ਨੂੰ ਬੰਦ ਕਰੋ"});

config.messages.backstage = {
	open: {text: "ਬੈਕ ਸਟੇਜ", tooltip: "ਬੈਕ ਸਟੇਜ ਏਰੀਏ ਨੂੰ ਲੇਖਣ ਅਤੇ ਸੰਪਾਦਨ ਕਾਰਜਾਂ ਵਾਸਤੇ ਖੋਲੋ"},
	close: {text: "ਬੰਦ", tooltip: "ਬੈਕ ਸਟੇਜ ਏਰੀਏ ਨੂੰ ਬੰਦ ਕਰੋ"},
	prompt: "ਬੈਕ ਸਟੇਜ: ",
	decal: {
		edit: {text: "ਸੰਪਾਦਨ", tooltip: "'%0' ਟਿਡਲਰ ਨੂੰ ਸੰਪਾਦਿਤ ਕਰੋ"}
	}
};

config.messages.listView = {
	tiddlerTooltip: "ਇਸ ਟਿਡਲਰ ਦੇ ਪੂਰਨ ਪਾਠ ਲਈ ਕਲਿੱਕ ਕਰੋ",
	previewUnavailable: "(ਪ੍ਰੀਵਿਊ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੈ)"
};

config.messages.dates.months = ["ਜਨਵਰੀ", "ਫਰਵਰੀ", "ਮਾਰਚ", "ਅਪ੍ਰੈਲ", "ਮਈ", "ਜੂਨ", "ਜੁਲਾਈ", "ਅਗਸਤ", "ਸਤੰਬਰ", "ਅਕਤੂਬਰ", "ਨਵੰਬਰ","ਦਿਸੰਬਰ"];
config.messages.dates.days = ["ਐਤਵਾਰ", "ਸੋਮਵਾਰ", "ਮੰਗਲਵਾਰ", "ਬੁਧਵਾਰ", "ਵੀਰਵਾਰ", "ਸ਼ੁਕਰਵਾਰ", "ਸ਼ਨੀਵਾਰ"];
config.messages.dates.shortMonths = ["ਜਨ", "ਫਰ", "ਮਾਰ", "ਅਪ੍ਰੈ", "ਮਈ", "ਜੂਨ", "ਜੁਲਾ", "ਅਗ", "ਸਤੰ", "ਅਕ", "ਨਵੰ", "ਦਿਸੰ"];
config.messages.dates.shortDays = ["ਐਤ", "ਸੋਮ", "ਮੰਗਲ", "ਬੁਧ", "ਵੀਰ", "ਸ਼ੁਕਰ", "ਸ਼ਨੀ"];
// suffixes for dates, eg "1st","2nd","3rd"..."30th","31st"
config.messages.dates.daySuffixes = ["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""];
config.messages.dates.am = "am";
config.messages.dates.pm = "pm";

merge(config.messages.tiddlerPopup,{
	});

merge(config.views.wikified.tag,{
	labelNoTags: "ਕੋਈ ਟੈਗ ਨਹੀਂ",
	labelTags: "ਟੈਗ: ",
	openTag: "'%0' ਟੈਗ ਖੋਲੋ",
	tooltip: "'%0' ਨਾਲ ਟੈਗ ਕੀਤੇ ਟਿਡਲਰ ਦਿਖਾਓ",
	openAllText: "ਸਾਰੇ ਖੋਲੋ",
	openAllTooltip: "ਇਹ ਸਾਰੇ ਟਿਡਲਰ ਖੋਲੋ",
	popupNone: "'%0' ਨਾਲ ਟੈਗ ਕੀਤੇ ਹੋਰ ਕੋਈ ਟਿਡਲਰ ਨਹੀਂ ਹਨ"});

merge(config.views.wikified,{
	defaultText: "'%0'ਟਿਡਲਰ ਹਾਲੇ ਹੋਂਦ ਵਿਚ ਨਹੀਂ ਹੈ. ਸਿਰਜਣ ਵਾਸਤੇ ਡਬਲ-ਕਲਿੱਕ ਕਰੋ.",
	defaultModifier: "(ਲਾਪਤਾ)",
	shadowModifier: "(ਅੰਤਰ-ਨਿਰਮਿਤ ਪਰਛਾਵਾਂ ਟਿਡਲਰ)",
	dateFormat: "DD MMM YYYY", // use this to change the date format for your locale, eg "YYYY MMM DD", do not translate the Y, M or D
	createdPrompt: "ਸਿਰਜਿਆ"});

merge(config.views.editor,{
	tagPrompt: "ਖਾਲੀ ਥਾਂ ਨਾਲ ਵਿਛੋੜ ਕੇ ਟੈਗ ਟਾਈਪ ਕਰੋ, ਲੋੜ ਪਵੇ ਤਾਂ [[ ਡਬਲ ਬਰੈਕਟ ]] ਦੀ ਵਰਤੋਂ ਕਰੋ , ਜਾਂ ਮੌਜੂਦਾ ਟੈਗਸ ਨੂੰ ਸ਼ਾਮਿਲ ਕਰੋ",
	defaultText: "'%0' ਲਈ ਟੈਕਸਟ ਟਾਈਪ ਕਰੋ"});

merge(config.views.editor.tagChooser,{
	text: "ਟੈਗ",
	tooltip: "ਇਸ ਟਿਡਲਰ ਨੂੰ ਲਾਉਣ ਲਈ ਮੌਜੋਦਾ ਟੈਗ ਚੁਣੋ",
	popupNone: "ਕੋਈ ਵੀ ਟੈਗ ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ",
	tagTooltip: "'%0' ਟੈਗ ਲਾਓ"});

merge(config.messages,{
	sizeTemplates:
		[
		{unit: 1024*1024*1024, template: "%0\u00a0GB"},
		{unit: 1024*1024, template: "%0\u00a0MB"},
		{unit: 1024, template: "%0\u00a0KB"},
		{unit: 1, template: "%0\u00a0B"}
		]});

merge(config.macros.search,{
	label: "ਖੋਜ",
	prompt: "ਇਸ ਟਿਡਲੀਵਿਕੀ ਵਿਚ ਖੋਜੋ",
	accessKey: "F",
	successMsg: "%1 ਨਾਲ ਰਲਦੇ %0 ਟਿਡਲਰ ਮਿਲੇ",
	failureMsg: "%0 ਨਾਲ ਰਲਦਾ ਕੋਈ ਟਿਡਲਰ ਨਹੀਂ ਮਿਲਿਆ"});

merge(config.macros.tagging,{
	label: "ਟੈਗ ਕਰਦਾ ਹੈ: ",
	labelNotTag: "ਟੈਗ ਨਹੀ ਕਰਦਾ",
	tooltip: "'%0' ਨਾਲ ਟੈਗ ਕੀਤੇ ਟਿਡਲਰਾਂ ਦੀ ਸੂਚੀ"});

merge(config.macros.timeline,{
	dateFormat: "DD MMM YYYY"});// use this to change the date format for your locale, eg "YYYY MMM DD", do not translate the Y, M or D

merge(config.macros.allTags,{
	tooltip: "'%0' ਨਾਲ ਟੈਗ ਕੀਤੇ ਟਿਡਲਰ ਦਿਖਾਓ",
	noTags: "ਕੋਈ ਵੀ ਟੈਗ ਕੀਤੇ ਟਿਡਲਰ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹਨ"});

config.macros.list.all.prompt = "ਸਾਰੇ ਟਿਡਲਰ ਵਰਣਕਰਮ ਅਨੁਸਾਰ";
config.macros.list.missing.prompt = "ਟਿਡਲਰ ਜਿਹਨਾਂ ਦੇ ਲਿੰਕ ਪ੍ਰਾਪਤ ਹਨ ਪਰ ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਕੀਤੇ ਹੋਏ";
config.macros.list.orphans.prompt = "ਟਿਡਲਰ ਜਿਹੜੇ ਕਿਸੇ ਵੀ ਹੋਰ ਟਿਡਲਰ ਤੋ ਲਿੰਕ ਨਹੀ ਕੀਤੇ ਹੋਏ";
config.macros.list.shadowed.prompt = "ਟਿਡਲਰ ਜਿਹੜੇ ਡਿਫਾਲਟ ਸਮਗਰੀ ਨਾਲ ਪਰਛਾਵਾਂ-ਯੁਕਤ ਕੀਤੇ ਹੋਏ ਹਨ";
config.macros.list.touched.prompt = "ਟਿਡਲਰ ਜਿਹੜੇ ਸਥਾਨਕ ਪਧਰ ਤੇ ਪਰਿਵਰਤਿਤ ਕੀਤੇ ਗਏ ਹਨ";

merge(config.macros.closeAll,{
	label: "ਸਾਰੇ ਬੰਦ ਕਰੋ",
	prompt: "ਸਾਰੇ ਪ੍ਰਦਰਸ਼ਿਤ ਟਿਡਲਰ ਬੰਦ ਕਰੋ (ਸੰਪਾਦਿਤ ਕੀਤੇ ਜਾ ਰਹਿਆਂ ਨੂੰ ਛੱਡ ਕੇ )"});

merge(config.macros.permaview,{
	label: "ਸਥਾਈ-ਦ੍ਰਿਸ਼ ",
	prompt: "ਇਸ ਵਕਤ ਪ੍ਰਦਰਸ਼ਿਤ ਟਿਡਲਰਾਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਣ ਲਈ URL ਲਿੰਕ"});

merge(config.macros.saveChanges,{
	label: "ਬਦਲਾਓ ਸੇਵ ਕਰੋ",
	prompt: "ਸਾਰੇ ਟਿਡਲਰਾਂ ਨੂੰ ਇੱਕ ਨਵੀਂ ਟਿਡਲੀਵਿਕੀ 'ਚ ਸੇਵ ਕਰੋ",
	accessKey: "S"});

merge(config.macros.newTiddler,{
	label: "ਨਵਾਂ ਟਿਡਲਰ",
	prompt: "ਨਵਾਂ ਟਿਡਲਰ ਸਿਰਜੋ",
	title: "ਨਵਾਂ ਟਿਡਲਰ",
	accessKey: "N"});

merge(config.macros.newJournal,{
	label: "ਨਵਾਂ ਰੋਜ਼ਨਾਮਚਾ",
	prompt: "ਇਸ ਵਕਤ ਦੀ ਮਿਤੀ ਤੇ ਸਮੇਂ ਤੋਂ ਨਵਾਂ ਟਿਡਲਰ ਸਿਰਜੋ",
	accessKey: "J"});

merge(config.macros.options,{
	wizardTitle: "ਅਗਲੇਰੇ ਵਿਕਲਪ ਟ੍ਵੀਕੋ",
	step1Title: "ਇਹ ਵਿਕਲਪ ਤੁਹਾਡੇ ਬਰਾਉਸਰ ਵਿਚ ਕੂਕੀਜ਼ ਵਿਚ ਸੇਵ ਕੀਤੇ ਜਾਂਦੇ ਹਨ",
	step1Html: "<input type='hidden' name='markList'></input><br><input type='checkbox' checked='false' name='chkUnknown'>ਅਗਿਆਤ ਵਿਕਲਪ ਦਿਖਾਓ </input>",
	unknownDescription: "//(ਅਗਿਆਤ)//",
	listViewTemplate: {
		columns: [
			{name: 'Option', field: 'option', title: "Option", type: 'String'},
			{name: 'Description', field: 'description', title: "Description", type: 'WikiText'},
			{name: 'Name', field: 'name', title: "Name", type: 'String'}
			],
		rowClasses: [
			{className: 'lowlight', field: 'lowlight'}
			]}
	});

merge(config.macros.plugins,{
	wizardTitle: "ਪਲੱਗਿਨਾਂ ਨੂੰ ਮੈਨੇਜ ਕਰੋ",
	step1Title: "ਇਸ ਵਕਤ ਲੋਡ ਕੀਤੇ ਹੋਏ ਪਲੱਗਿਨ",
	step1Html: "<input type='hidden' name='markList'></input>", // DO NOT TRANSLATE
	skippedText: "(ਇਹ ਪਲੱਗਿੰਨ ਐਗਜ਼ੀਕਿਊਟ ਨਹੀਂ ਹੋਇਆ ਕਿਉਂਕਿ ਇਹ ਸਟਾਰਟ-ਅੱਪ ਪਿੱਛੋ ਸ਼ਾਮਿਲ ਕੀਤਾ ਗਿਆ ਹੈ)",
	noPluginText: "ਕੋਈ ਪਲੱਗਿਨ ਇੰਸਟਾਲ ਨਹੀਂ ਕੀਤਾ ਹੈ",
	confirmDeleteText: "ਕੀ ਤੁਸੀਂ ਨਿਸ਼ਚਿਤ ਹੀ ਇਹਨਾਂ ਪਲੱਗਿਨਾਂ ਨੂੰ ਡਿਲੀਟ ਕਰਨਾਂ ਚਾਹੁੰਦੇ ਹੋਂ ?:\n\n%0",
	removeLabel: "systemConfig ਟੈਗ ਹਟਾਓ",
	removePrompt: "systemConfig ਟੈਗ ਹਟਾਓ",
	deleteLabel: "ਡਿਲੀਟ",
	deletePrompt: "ਇਹਨਾਂ ਟਿਡਲਰਾਂ ਨੂੰ ਸਦਾ ਲਈ ਡਿਲੀਟ ਕਰੋ",
	listViewTemplate: {
		columns: [
			{name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
			{name: 'Tiddler', field: 'tiddler', title: "Tiddler", type: 'Tiddler'},
			{name: 'Description', field: 'Description', title: "Description", type: 'String'},
			{name: 'Version', field: 'Version', title: "Version", type: 'String'},
			{name: 'Size', field: 'size', tiddlerLink: 'size', title: "Size", type: 'Size'},
			{name: 'Forced', field: 'forced', title: "Forced", tag: 'systemConfigForce', type: 'TagCheckbox'},
			{name: 'Disabled', field: 'disabled', title: "Disabled", tag: 'systemConfigDisable', type: 'TagCheckbox'},
			{name: 'Executed', field: 'executed', title: "Loaded", type: 'Boolean', trueText: "Yes", falseText: "No"},
			{name: 'Startup Time', field: 'startupTime', title: "Startup Time", type: 'String'},
			{name: 'Error', field: 'error', title: "Status", type: 'Boolean', trueText: "Error", falseText: "OK"},
			{name: 'Log', field: 'log', title: "Log", type: 'StringList'}
			],
		rowClasses: [
			{className: 'error', field: 'error'},
			{className: 'warning', field: 'warning'}
			]}
	});

merge(config.macros.toolbar,{
	moreLabel: "ਜ਼ਿਆਦਾ",
	morePrompt: "ਵਧੇਰੀਆਂ ਕਮਾਂਡਾਂ ਦਿਖਾਓ",
	lessLabel: "ਥੋੜਾ",
	lessPrompt: "ਵਧੇਰੀਆਂ ਕਮਾਂਡਾਂ ਛੁਪਾਓ",
	separator: "|"
	});

merge(config.macros.refreshDisplay,{
	label: "ਰਿਫਰੈਸ਼",
	prompt: "ਪੂਰੇ ਟਿਡਲੀਵਿਕੀ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਪੁਨਰ-ਚਿਤ੍ਰਿਤ ਕਰੋ"
	});

merge(config.macros.importTiddlers,{
	readOnlyWarning: "ਤੁਸੀਂ ਕੇਵਲ-ਪੜ੍ਹਨ ਵਾਲੀ ਟਿਡਲੀਵਿਕੀ ਵਿਚ ਇਮਪੋਰਟ ਨਹੀਂ ਕਰ ਸਕਦੇ. file:// URL ਤੋਂ ਉਸਨੂੰ ਖੋਲਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਕੇ ਵੇਖ ਲਵੋ",
	wizardTitle: "ਕਿਸੇ ਹੋਰ ਫਾਈਲ ਜਾਂ ਸਰਵਰ ਤੋਂ ਟਿਡਲਰ ਇਮਪੋਰਟ ਕਰੋ",
	step1Title: "ਪਹਿਲਾ ਚਰਣ (੧): ਸਰਵਰ ਜਾਂ ਟਿਡਲੀਵਿਕੀ ਫਾਈਲ ਦਾ ਸਥਾਨ ਨਿਰਧਾਰਨ ਕਰੋ",
	step1Html: "ਸਰਵਰ ਦੀ ਕਿਸਮ ਨਿਦ੍ਰਿਸ਼ਟ ਕਰੋ: <select name='selTypes'><option value=''>Choose...</option></select><br>ਇਥੇ URL ਜਾਂ ਪਾਥ-ਨਾਮ ਦਰਜ ਕਰੋ: <input type='text' size=50 name='txtPath'><br>...ਜਾਂ ਫਾਈਲ ਲਈ ਫਰੋਲ ਕਰੋ: <input type='file' size=50 name='txtBrowse'><br><hr>...ਜਾਂ ਪੂਰਵ-ਪਰਿਭਾਸ਼ਿਤ ਫੀਡ ਚੁਣੋ: <select name='selFeeds'><option value=''>ਚੁਣੋ...</option></select>",
	openLabel: "ਖੋਲੋ",
	openPrompt: "ਇਸ ਫਾਈਲ ਜਾਂ ਸਰਵਰ ਨੂੰ ਕੁਨੈਕਸ਼ਨ ਖੋਲੋ",
	statusOpenHost: "ਹੋਸਟ ਨੂੰ ਖੋਲਿਆ ਜਾ ਰਿਹਾ ਹੈ",
	statusGetWorkspaceList: "ਉਪਲਬਧ ਵਰਕਸਪੇਸਾਂ ਦੀ ਸੂਚੀ ਪ੍ਰਾਪਤ ਕੀਤੀ ਜਾ ਰਾਹੀ ਹੈ",
	step2Title: "ਦੂਸਰਾ ਚਰਣ: ਵਰਕਸਪੇਸ ਚੁਣੋ",
	step2Html: "ਵਰਕਸਪੇਸ ਦਾ ਨਾਮ ਪਾਓ: <input type='text' size=50 name='txtWorkspace'><br>...ਜਾਂ ਵਰਕਸਪੇਸ ਚੁਣੋ: <select name='selWorkspace'><option value=''>ਚੁਣੋ...</option></select>",
	cancelLabel: "ਰੱਦ",
	cancelPrompt: "ਇਸ ਇਮਪੋਰਟ ਨੂੰ ਰੱਦ ਕਰੋ",
	statusOpenWorkspace: "ਵਰਕਸਪੇਸ ਖੋਲੀ ਜਾ ਰਹੀ ਹੈ",
	statusGetTiddlerList: "ਉਪਲਬਧ ਟਿਡਲਰਾਂ ਦੀ ਸੂਚੀ ਪ੍ਰਾਪਤ ਕੀਤੀ ਜਾ ਰਾਹੀ ਹੈ",
	errorGettingTiddlerList: "ਟਿਡਲਰਾਂ ਦੀ ਸੂਚੀ ਪ੍ਰਾਪਤ ਕਰਣ ਵਿਚ ਐਰਰ, ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਣ ਲਈ ਕੈਂਸਲ ਕਲਿੱਕ ਕਰੋ",
	step3Title: "ਤੀਸਰਾ ਚਰਣ: ਇਮਪੋਰਟ ਕਰਣ ਵਾਸਤੇ ਟਿਡਲਰ ਚੁਣੋ",
	step3Html: "<input type='hidden' name='markList'></input><br><input type='checkbox' checked='true' name='chkSync'>ਇਹਨਾਂ ਟਿਡਲਰਾਂ ਨੂੰ ਇਸ ਸਰਵਰ ਨਾਲ ਲਿੰਕ ਕਰੀ ਰੱਖੋ ਤਾਂ ਜੋ ਤੁਸੀਂ ਅਨੁਵਰਤੀ ਬਦਲਾਵਾਂ ਨਾਲ ਸੁਮੇਲ ਕਰ ਸਕੋਂ </input><br><input type='checkbox' name='chkSave'>ਇਸ ਸਰਵਰ ਦਾ ਵੇਰਵਾ ਇਸ ਨਾਮਕ ਇੱਕ 'systemServer' ਟਿਡਲਰ ਵਿਚ ਸੇਵ ਕਰੋ:</input> <input type='text' size=25 name='txtSaveTiddler'>",
	importLabel: "ਇਮਪੋਰਟ",
	importPrompt: "ਇਹਨਾਂ ਟਿਡਲਰਾਂ ਨੂੰ ਇਮਪੋਰਟ ਕਰੋ",
	confirmOverwriteText: "ਕੀ ਤੁਸੀਂ ਨਿਸ਼ਚਿਤ ਹੀ ਇਹਨਾਂ ਟਿਡਲਰਾਂ ਨੂੰ ਅਧਿਲੇਖਿਤ(overwrite) ਕਰਣਾ ਚਾਹੁੰਦੇ ਹੋ:\n\n%0",
	step4Title: "ਚੌਥਾ ਚਰਣ: %0 ਟਿਡਲਰ ਇਮਪੋਰਟ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ",
	step4Html: "<input type='hidden' name='markReport'></input>", // DO NOT TRANSLATE
	doneLabel: "ਮੁਕੰਮਲ",
	donePrompt: "ਇਸ ਵਿਜ਼ਰਡ ਨੂੰ ਬੰਦ ਕਰੋ",
	statusDoingImport: "ਟਿਡਲਰ ਇਮਪੋਰਟ ਹੋ ਰਹੇ ਹਨ",
	statusDoneImport: "ਸਾਰੇ ਟਿਡਲਰ ਇਮਪੋਰਟ ਹੋ ਗਏ",
	systemServerNamePattern: "%2 on %1",
	systemServerNamePatternNoWorkspace: "%1",
	confirmOverwriteSaveTiddler: "'%0' ਟਿਡਲਰ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ. ਉਸ ਨੂੰ ਇਸ ਸਰਵਰ ਦੇ ਵੇਰਵੇ ਨਾਲ ਅਧਿਲੇਖਿਤ(overwrite) ਕਰਣ ਲਈ 'OK' ਕਲਿੱਕ ਕਰੋ. ਉਸ ਨੂੰ ਜਿਓਂ ਦਾ ਤਿਉਂ ਛੱਡਣ ਲਈ 'Cancel' ਕਲਿੱਕ ਕਰੋ",
	serverSaveTemplate: "|''Type:''|%0|\n|''URL:''|%1|\n|''Workspace:''|%2|\n\nThis tiddler was automatically created to record the details of this server",
	serverSaveModifier: "(System)",
	listViewTemplate: {
		columns: [
			{name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
			{name: 'Tiddler', field: 'tiddler', title: "Tiddler", type: 'Tiddler'},
			{name: 'Size', field: 'size', tiddlerLink: 'size', title: "Size", type: 'Size'},
			{name: 'Tags', field: 'tags', title: "Tags", type: 'Tags'}
			],
		rowClasses: [
			]}
	});

merge(config.macros.upgrade,{
	wizardTitle: "ਟਿਡਲੀਵਿਕੀ ਦੇ ਕੋਰ-ਕੋਡ ਨੂੰ ਅਪਗ੍ਰੇਡ ਕਰੋ",
	step1Title: "ਇਸ ਟਿਡਲੀਵਿਕੀ ਨੂੰ ਨਵੀਨਤਮ ਪ੍ਰਕਾਸ਼ਨ ਮੁਤਾਬਿਕ ਅਪਡੇਟ ਜਾਂ ਰਿਪੇਅਰ ਕਰੋ",
	step1Html: "ਤੁਸੀਂ ਟਿਡਲੀਵਿਕੀ ਦੇ ਕੋਰ-ਕੋਡ ਦੇ ਨਵੀਨਤਮ ਪ੍ਰਕਾਸ਼ਨ ਤੱਕ ਅਪਗ੍ਰੇਡ ਕਰਣ ਜਾ ਰਹੇ ਹੋ (from <a href='%0' class='externalLink' target='_blank'>%1</a>). ਤੁਹਾਡੀ ਸਮੱਗਰੀ ਅਪਗ੍ਰੇਡ ਦੇ ਪਾਰ ਵੀ ਸੁਰੱਖਿਅਤ ਰਹੇਗੀ.<br><br>ਧਿਆਨ ਦਿਓ, ਕੋਰ ਅਪਗ੍ਰੇਡ ਦਾ ਪੁਰਾਣੇ ਪਲੱਗਿੰਨਾਂ ਦੇ ਚੱਲਣ ਵਿੱਚ ਕਈ ਵਾਰੀ ਵਿਘਨਕਾਰੀ ਹੋਣ ਦਾ ਪਤਾ ਲਗਦਾ ਹੈ. ਜੇ ਅਪਗ੍ਰੇਡ ਕੀਤੀ ਹੋਈ ਫਾਈਲ ਨਾਲ ਸਮੱਸਿਆ ਆਵੇ ਤਾਂ ਇਥੇ ਦੇਖੋ: <a href='http://www.tiddlywiki.org/wiki/CoreUpgrades' class='externalLink' target='_blank'>http://www.tiddlywiki.org/wiki/CoreUpgrades</a>",
	errorCantUpgrade: "ਇਸ ਟਿਡਲੀਵਿਕੀ ਨੂੰ ਅਪਗ੍ਰੇਡ ਕਰਣ ਤੋਂ ਅਸਮਰਥ. ਤੁਸੀਂ ਕੇਵਲ ਸਥਾਨਕ ਤਲ ਤੇ ਸਾਂਭੀ ਟਿਡਲੀਵਿਕੀ ਫਾਈਲ ਨੂੰ ਹੀ ਅਪਗ੍ਰੇਡ ਕਰ ਸਕਦੇ ਹੋ.",
	errorNotSaved: "ਅਪਗ੍ਰੇਡ ਕਰਣ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਨੂੰ ਬਦਲਾਓ ਸੇਵ ਕਰਣੇ ਪੈਣਗੇ",
	step2Title: "ਅਪਗ੍ਰੇਡ ਦੇ ਵੇਰਵੇ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ",
	step2Html_downgrade: "ਤੁਸੀਂ ਟਿਡਲੀਵਿਕੀ ਪ੍ਰਕਾਸ਼ਨ ਨੰ %0 ਤੋਂ %1 ਵੱਲ ਡਾਊਨ-ਗ੍ਰੇਡ ਕਰਣ ਜਾ ਰਹੇ ਹੋਂ. <br><br>ਕੋਰ-ਕੋਡ ਨੂੰ ਪਹਿਲੇ ਪ੍ਰਕਾਸ਼ਨ ਵੱਲ ਡਾਉਨ-ਗ੍ਰੇਡ ਕਰਣ ਦੀ ਸਿਫਾਰਿਸ਼ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ",
	step2Html_restore: "ਇੰਜ ਲਗਦਾ ਹੈ ਕੀ ਇਹ ਟਿਡਲੀਵਿਕੀ ਪਹਿਲਾਂ ਹੀ ਕੋਰ -ਕੋਡ ਦੇ ਨਵੀਨਤਮ ਪ੍ਰਕਾਸ਼ਨ ਨੂੰ ਵਰਤ ਰਹੀ ਹੈ (%0).<br><br>ਤੁਸੀਂ ਫਿਰ ਵੀ ਕੋਰ-ਕੋਡ ਦੇ ਭ੍ਰਸ਼ਟ ਜਾਂ ਸ਼ਤੀਗ੍ਰਸਤ ਹੋਣ ਦੀ ਸ਼ੰਕਾ ਦੂਰ ਕਰਣ ਲਈ ਅਪਗ੍ਰੇਡ ਜਾਰੀ ਰੱਖ ਸਕਦੇ ਹੋਂ",
	step2Html_upgrade: "ਤੁਸੀਂ ਟਿਡਲੀਵਿਕੀ ਪ੍ਰਕਾਸ਼ਨ ਨੰ  %0 ਤੋਂ %1 ਤੱਕ ਅਪਗ੍ਰੇਡ ਕਰਣ ਜਾ ਰਹੇ ਹੋਂ",
	upgradeLabel: "ਅਪਗ੍ਰੇਡ",
	upgradePrompt: "ਅਪਗ੍ਰੇਡ ਪ੍ਰਕਿਰਿਆ ਲਈ ਤਿਆਰੀ",
	statusPreparingBackup: "ਬੈਕ-ਅੱਪ ਦੀ ਤਿਆਰੀ ਕੀਤੀ ਜਾ ਰਹੀ ਐ",
	statusSavingBackup: "ਬੈਕ -ਅੱਪ ਫਾਈਲ ਸੇਵ ਕੀਤਾ ਜਾ ਰਿਹਾ ਐ",
	errorSavingBackup: "ਬੈਕ - ਅੱਪ ਫਾਈਲ ਸੇਵ ਕਰਣ ਵਿੱਚ ਸਮੱਸਿਆ ਆਈ",
	statusLoadingCore: "ਕੋਰ-ਕੋਡ ਨੂੰ ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ",
	errorLoadingCore: "ਕੋਰ -ਕੋਡ ਨੂੰ ਲੋਡ ਕਰਣ ਵਿੱਚ ਐਰਰ",
	errorCoreFormat: "ਨਵੇਂ ਕੋਰ -ਕੋਡ ਵਿਚ ਐਰਰ",
	statusSavingCore: "ਨਵੇਂ ਕੋਰ -ਕੋਡ ਨੂੰ ਸੇਵ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ",
	statusReloadingCore: "ਨਵੇਂ ਕੋਰ-ਕੋਡ ਨੂੰ ਪੁਨਰ-ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ",
	startLabel: "ਸ਼ੁਰੂ ਕਰੋ",
	startPrompt: "ਅਪਗ੍ਰੇਡ ਪ੍ਰਕਿਰਿਆ ਸ਼ੁਰੂ ਕਰੋ",
	cancelLabel: "ਕੈਂਸਲ",
	cancelPrompt: "ਅਪਗ੍ਰੇਡ ਪ੍ਰਕਿਰਿਆ ਕੈਂਸਲ ਕਰੋ",
	step3Title: "ਅਪਗ੍ਰੇਡ ਕੈਂਸਲ ਕਰ ਦਿੱਤਾ ਗਿਆ",
	step3Html: "ਤੁਸੀਂ ਅਪਗ੍ਰੇਡ ਪ੍ਰਕਿਰਿਆ ਕੈਂਸਲ ਕਰ ਦਿੱਤੀ ਹੈ"
	});

merge(config.macros.sync,{
	listViewTemplate: {
		columns: [
			{name: 'Selected', field: 'selected', rowName: 'title', type: 'Selector'},
			{name: 'Tiddler', field: 'tiddler', title: "Tiddler", type: 'Tiddler'},
			{name: 'Server Type', field: 'serverType', title: "Server type", type: 'String'},
			{name: 'Server Host', field: 'serverHost', title: "Server host", type: 'String'},
			{name: 'Server Workspace', field: 'serverWorkspace', title: "Server workspace", type: 'String'},
			{name: 'Status', field: 'status', title: "Synchronisation status", type: 'String'},
			{name: 'Server URL', field: 'serverUrl', title: "Server URL", text: "View", type: 'Link'}
			],
		rowClasses: [
			],
		buttons: [
			{caption: "ਇਹਨਾਂ ਟਿਡਲਰਾਂ ਨੂੰ ਸੁਮੇਲੋ", name: 'sync'}
			]},
	wizardTitle: "ਬਾਹਰਲੇ ਸਰਵਰ ਤੇ ਫਾਈਲ ਨਾਲ ਸੁਮੇਲ ਕਰੋ",
	step1Title: "ਸੁਮੇਲਣ ਲਈ ਟਿਡਲਰ ਚੁਣੋ",
	step1Html: "<input type='hidden' name='markList'></input>", // DO NOT TRANSLATE
	syncLabel: "ਸੁਮੇਲੋ",
	syncPrompt: "ਇਹਨਾਂ ਟਿਡਲਰਾਂ ਨੂੰ ਸੁਮੇਲੋ",
	hasChanged: "Changed while unplugged",
	hasNotChanged: "Unchanged while unplugged",
	syncStatusList: {
		none: {text: "...", display:null, className:'notChanged'},
		changedServer: {text: "Changed on server", display:null, className:'changedServer'},
		changedLocally: {text: "Changed while unplugged", display:null, className:'changedLocally'},
		changedBoth: {text: "Changed while unplugged and on server", display:null, className:'changedBoth'},
		notFound: {text: "Not found on server", display:null, className:'notFound'},
		putToServer: {text: "Saved update on server", display:null, className:'putToServer'},
		gotFromServer: {text: "Retrieved update from server", display:null, className:'gotFromServer'}
		}
	});

merge(config.commands.closeTiddler,{
	text: "ਬੰਦ",
	tooltip: "ਇਸ ਟਿਡਲਰ ਨੂੰ ਬੰਦ ਕਰੋ"});

merge(config.commands.closeOthers,{
	text: "ਬਾਕੀ ਬੰਦ",
	tooltip: "ਬਾਕੀ ਟਿਡਲਰਾਂ ਨੂੰ ਬੰਦ ਕਰੋ"});

merge(config.commands.editTiddler,{
	text: "ਸੰਪਾਦਨ",
	tooltip: "ਇਸ ਟਿਡਲਰ ਦਾ ਸੰਪਾਦਨ ਕਰੋ",
	readOnlyText: "ਦੇਖੋ",
	readOnlyTooltip: "ਇਸ ਟਿਡਲਰ ਦੇ ਸੋਰਸ ਨੂੰ ਦੇਖੋ"});

merge(config.commands.saveTiddler,{
	text: "ਮੁਕੰਮਲ",
	tooltip: "ਇਸ ਟਿਡਲਰ ਦੇ ਬਦਲਾਓ ਸੇਵ ਕਰੋ"});

merge(config.commands.cancelTiddler,{
	text: "ਕੈਂਸਲ",
	tooltip: "ਇਸ ਟਿਡਲਰ ਦੇ ਬਦਲਾਓ ਰੱਦ ਕਰੋ",
	warning: "ਕੀ ਤੁਸੀਂ ਨਿਸ਼ਚਿਤ ਹੀ ਇਸ ਟਿਡਲਰ ਦੇ ਬਦਲਾਵਾਂ ਨੂੰ ਰੱਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋਂ : '%0'?",
	readOnlyText: "ਮੁਕੰਮਲ",
	readOnlyTooltip: "ਇਸ ਟਿਡਲਰ ਨੂੰ ਸਧਾਰਨ ਤੋਰ ਤੇ ਦੇਖੋ"});

merge(config.commands.deleteTiddler,{
	text: "ਡਿਲੀਟ",
	tooltip: "ਇਸ ਟਿਡਲਰ ਨੂੰ ਮਿਟਾਓ",
	warning: "ਕੀ ਤੁਸੀਂ ਨਿਸ਼ਚਿਤ ਹੀ ਇਸ ਟਿਡਲਰ ਨੂੰ ਡਿਲੀਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋਂ :'%0'?"});

merge(config.commands.permalink,{
	text: "ਸਥਾਈ-ਲਿੰਕ",
	tooltip: "ਇਸ ਟਿਡਲਰ ਦਾ ਸਥਾਈ ਲਿੰਕ"});

merge(config.commands.references,{
	text: "ਹਵਾਲੇ",
	tooltip: "ਇਸ ਟਿਡਲਰ ਨੂੰ ਲਿੰਕ ਹੁੰਦੇ ਟਿਡਲਰ ਦਿਖਾਓ",
	popupNone: "ਕੋਈ ਹਵਾਲੇ ਨਹੀਂ"});

merge(config.commands.jump,{
	text: "ਛਾਲ ਮਾਰੋ",
	tooltip: "ਹੋਰ ਖੁੱਲੇ ਹੋਏ ਟਿਡਲਰ ਵੱਲ ਛਾਲ ਮਾਰੋ"});

merge(config.commands.syncing,{
	text: "ਸੁਮੇਲ",
	tooltip: "ਇਸ ਟਿਡਲਰ ਦੀ ਕਿਸੇ ਸਰਵਰ ਜਾਂ ਬਾਹਰਲੀ ਫਾਈਲ ਨਾਲ ਸੁਮੇਲ ਕੰਟ੍ਰੋਲ ਕਰੋ",
	currentlySyncing: "<div>ਇਸ ਵਕਤ ਇਸ ਰਾਹੀ ਸੁਮੇਲ ਹੋ ਰਿਹਾ ਹੈ: <span class='popupHighlight'>'%0'</span> to:</"+"div><div>host: <span class='popupHighlight'>%1</span></"+"div><div>workspace: <span class='popupHighlight'>%2</span></"+"div>", // Note escaping of closing <div> tag
	notCurrentlySyncing: "ਇਸ ਵਕਤ ਸੁਮੇਲ ਨਹੀਂ ਹੋ ਰਿਹਾ",
	captionUnSync: "ਇਸ ਟਿਡਲਰ ਦੇ ਸੁਮੇਲ ਨੂੰ ਰੋਕੋ",
	chooseServer: "ਇਸ ਟਿਡਲਰ ਨੂੰ ਕਿਸੇ ਹੋਰ ਸਰਵਰ ਨਾਲ ਸੁਮੇਲੋ:",
	currServerMarker: "\u25cf ",
	notCurrServerMarker: "  "});

merge(config.commands.fields,{
	text: "ਫੀਲਡ",
	tooltip: "ਇਸ ਟਿਡਲਰ ਦੇ ਵਿਸਤਾਰਿਤ ਫੀਲਡ ਦਿਖਾਓ",
	emptyText: "ਇਸ ਟਿਡਲਰ ਦੇ ਕੋਈ ਵਿਸਤਾਰਿਤ ਫੀਲਡ ਨਹੀਂ ਹਨ",
	listViewTemplate: {
		columns: [
			{name: 'Field', field: 'field', title: "Field", type: 'String'},
			{name: 'Value', field: 'value', title: "Value", type: 'String'}
			],
		rowClasses: [
			],
		buttons: [
			]}});

merge(config.shadowTiddlers,{
	DefaultTiddlers: "[[TranslatedGettingStarted]]",
	MainMenu: "[[TranslatedGettingStarted]]\n\n\n^^~ਟਿਡਲੀਵਿਕੀ ਪ੍ਰਕਾਸ਼ਨ ਨੰ: <<version>>\n© 2010 [[UnaMesa|http://www.unamesa.org/]]^^",
	TranslatedGettingStarted: "ਇਸ ਟਿਡਲੀਵਿਕੀ ਤੇ ਕੰਮ ਸ਼ੁਰੂ ਕਰਣ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਨੂੰ ਇਹਨਾਂ ਟਿਡਲਰਾਂ ਨੂੰ ਬਦਲਣ ਦੀ ਲੋੜ ਪਵੇਗੀ:\n* SiteTitle & SiteSubtitle: ਇਸ ਸਾਈਟ ਦਾ ਸਿਰਨਾਵਾਂ ਤੇ ਉਪ-ਸਿਰਨਾਵਾਂ, ਜਿਵੇਂ ਉੱਪਰ ਨਜ਼ਰ ਆ ਰਿਹਾ ਹੈ ( ਸੇਵ ਕਰਣ ਪਿੱਛੋਂ, ਇਹ ਬ੍ਰਾਉਜ਼ਰ ਦੇ ਟਾਈਟਲ ਬਾਰ ਵਿਚ ਵੀ ਨਜ਼ਰ ਆਉਣਗੇ )\n* MainMenu: ਮੈਨ੍ਯੂ (ਆਮ ਤੌਰ ਤੇ ਖੱਬੇ ਪਾਸੇ )\n* DefaultTiddlers: ਇਸ ਵਿਚ ਉਹਨਾਂ ਟਿਡਲਰਾਂ ਦੇ ਨਾਮ ਦਰਜ ਹਨ ਜੋ ਤੁਸੀਂ ਟਿਡਲੀਵਿਕੀ ਖੁਲਣ ਤੇ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਣਾ ਚਾਹੁੰਦੇ ਹੋਂ \nਤੁਹਾਨੂੰ ਆਪਣੇ ਸੰਪਾਦਨਾਂ ਤੇ ਹਸਤਾਖਰ ਕਰਣ ਲਈ ਆਪਣਾ ਯੂਜ਼ਰ-ਨੇਮ ਵੀ ਪਾਉਣਾ ਪਵੇਗਾ: <<option txtUserName>>",
	SiteTitle: "ਮੇਰੀ ਟਿਡਲੀਵਿਕੀ",
	SiteSubtitle: "ਇੱਕ ਮੁੜ ਵਰਤੀ ਜਾ ਸਕਦੀ, ਗੈਰ ਰੈਖਿਕ, ਨਿਜੀ ਵੈੱਬ ਨੋਟਬੁੱਕ",
	SiteUrl: "",
	OptionsPanel: "ਟਿਡਲੀਵਿਕੀ ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰਣ ਵਾਲੇ ਇਹ ਇੰਟਰਫੇਸ ਵਿਕਲਪ ਤੁਹਾਡੇ ਬ੍ਰਾਉਜ਼ਰ ਵਿਚ ਸੇਵ ਕੀਤੇ ਜਾਂਦੇ ਹਨ \n\n ਤੁਹਾਡੇ ਸੰਪਾਦਨਾਂ ਨੂੰ ਹਸ੍ਤਾਖ੍ਰਿਤ ਕਰਣ ਲਈ ਤੁਹਾਡਾ ਯੂਜ਼ਰ ਨੇਮ. ਇਸ ਨੂੰ ਵਿਕੀਵਰਡ ਦੇ ਤੌਰ ਤੇ ਲਿਖੋ (ਜਿਵੇਂ: JoeBloggs)\n<<option txtUserName>>\n\n<<option chkSaveBackups>> ਬੈਕ-ਅੱਪ ਸੇਵ ਕਰੋ \n<<option chkAutoSave>> ਸਵੈ-ਸੇਵ \n<<option chkRegExpSearch>> Regexp ਖੋਜ\n<<option chkCaseSensitiveSearch>> ਕੇਸ-ਸੰਵੇਦਨਸ਼ੀਲ ਖੋਜ\n<<option chkAnimate>> ਐਨੀਮੇਸ਼ਨਾਂ ਚਾਲੂ ਕਰੋ\n\n----\nAlso see [[TranslatedAdvancedOptions|AdvancedOptions]]",
	SideBarOptions: '<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal "DD MMM YYYY" "journal">><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "ਵਿਕਲਪ \u00bb" "ਟਿਡਲੀਵਿਕੀ ਦੇ ਅਗਲੇਰੇ ਵਿਕਲਪ ਬਦਲੋ">>',
	SideBarTabs: '<<tabs txtMainTab "ਸਮੇ ਰੇਖਾ" "ਸਮੇ ਰੇਖਾ" TabTimeline "ਸਭ" "ਸਾਰੇ ਟਿਡਲਰ" TabAll "ਟੈਗ" "ਸਾਰੇ ਟੈਗ" TabTags "ਹੋਰ" "ਹੋਰ ਸੂਚੀਆਂ" TabMore>>',
	TabMore: '<<tabs txtMoreTab "ਲਾਪਤਾ" "ਲਾਪਤਾ ਟਿਡਲਰ" TabMoreMissing "ਅਨਾਥ" "ਅਨਾਥ ਟਿਡਲਰ" TabMoreOrphans "ਪਰਛਾਵੇਂ" "ਪਰਛਾਵੇਂ ਟਿਡਲਰ" TabMoreShadowed>>'
	});

merge(config.annotations,{
	AdvancedOptions: "ਇਹ ਪਰਛਾਵਾਂ ਟਿਡਲਰ ਕਈ ਸਾਰੇ ਅਗਲੇਰੇ ਵਿਕਲਪਾਂ ਲਈ ਪ੍ਰਵੇਸ਼ ਦਿੰਦਾ ਹੈ",
	ColorPalette: "ਇਸ ਟਿਡਲਰ ਵਿਚਲੀਆਂ ਕੀਮਤਾਂ ਟਿਡਲੀਵਿਕੀ ਯੂਜ਼ਰ-ਇੰਟਰਫੇਸ ਦੀ ਰੰਗ ਯੋਜਨਾ ਨਿਸ਼ਚਿਤ ਕਰਦੀਆਂ ਹਨ ",
	DefaultTiddlers: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਵਿਚ ਸੂਚਿਤ ਟਿਡਲਰ ਟਿਡਲੀਵਿਕੀ ਸ਼ੁਰੂ ਹੋਣ ਤੇ ਆਪੇ ਹੀ ਪ੍ਰਦਰਸ਼ਿਤ ਹੋ ਜਾਣਗੇ",
	EditTemplate: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਵਿਚਲਾ HTML ਖਾਕਾ ਇਹ ਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ ਸੰਪਾਦਨ ਕਰਣ ਵੇਲੇ ਟਿਡਲਰ ਕਿਹੋ ਜਿਹੇ ਲਗਦੇ ਹਨ",
	GettingStarted: "ਇਹ ਪਰਛਾਵਾਂ ਟਿਡਲਰ ਬੁਨਿਆਦੀ ਵਰਤੋਂ ਨਿਰਦੇਸ਼ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ",
	ImportTiddlers: "ਇਹ ਪਰਛਾਵਾਂ ਟਿਡਲਰ ਟਿਡਲਰ ਇਮਪੋਰਟ ਕਰਣ ਲਈ ਪ੍ਰਵੇਸ਼ ਦਿੰਦਾ ਹੈ",
	MainMenu: "ਇਹ ਪਰਛਾਵਾਂ ਟਿਡਲਰ, ਸਕ੍ਰੀਨ ਦੇ ਖੱਬੇ ਹਥ ਕੌਲਮ ਵਿਚਲੇ ਮੇਨ ਮੈਨ੍ਯੂ ਦੀ ਸਮੱਗਰੀ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ",
	MarkupPreHead: "ਇਸ ਟਿਡਲਰ ਨੂੰ ਟਿਡਲੀਵਿਕੀ HTML  ਫਾਈਲ ਦੇ <head> ਹਿੱਸੇ ਦੇ ਉੱਤੇ ਸੰਮਿਲਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ",
	MarkupPostHead: "ਇਸ ਟਿਡਲਰ ਨੂੰ ਟਿਡਲੀਵਿਕੀ HTML  ਫਾਈਲ ਦੇ <head> ਹਿੱਸੇ ਦੇ ਹੇਠਾਂ ਸੰਮਿਲਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ",
	MarkupPreBody: "ਇਸ ਟਿਡਲਰ ਨੂੰ ਟਿਡਲੀਵਿਕੀ HTML  ਫਾਈਲ ਦੇ <body> ਹਿੱਸੇ ਦੇ ਉੱਤੇ ਸੰਮਿਲਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ",
	MarkupPostBody: "ਇਸ ਟਿਡਲਰ ਨੂੰ ਟਿਡਲੀਵਿਕੀ HTML  ਫਾਈਲ ਦੇ <head> ਹਿੱਸੇ ਦੇ ਹੇਠਾਂ, script ਹਿੱਸੇ ਤੋਂ ਇੱਕਦਮ ਪਿੱਛੋਂ ਸੰਮਿਲਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ",
	OptionsPanel: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਨੂੰ ਸੱਜੇ-ਹਥ ਸਾਇਡਬਾਰ ਵਿਚਲੇ ਵਿਕਲਪ ਪੈਨਲ ਸਲਾਈਡਰ ਦੀ ਸਮੱਗਰੀ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ",
	PageTemplate: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਵਿਚਲਾ HTML ਖਾਕਾ ਟਿਡਲੀਵਿਕੀ ਦੇ ਸਮੁੱਚੇ ਨਕਸ਼ੇ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ",
	PluginManager: "ਇਹ ਪਰਛਾਵਾਂ ਟਿਡਲਰ ਪਲੱਗਿੰਨ ਮਨੇਜਰ ਤੱਕ ਪ੍ਰਵੇਸ਼ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ",
	SideBarOptions: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਨੂੰ ਸੱਜੇ ਹਥ ਸਾਇਡਬਾਰ ਵਿਚਲੇ ਵਿਕਲਪ ਪੈਨਲ ਦੀ ਸਮੱਗਰੀ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ",
	SideBarTabs: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਨੂੰ ਸੱਜੇ ਹਥ ਸਾਇਡਬਾਰ ਵਿਚਲੇ ਟੈਬ ਪੈਨਲ ਦੀ ਸਮੱਗਰੀ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ",
	SiteSubtitle: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਨੂੰ ਪੇਜ ਸਿਰਨਾਵੇਂ ਦੇ ਪਿਛਲੇ ਹਿੱਸੇ ਦੇ ਤੌਰ ਤੇ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ",
	SiteTitle: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਨੂੰ ਪੇਜ ਸਿਰਨਾਵੇਂ ਦੇ ਪਹਿਲੇ ਹਿੱਸੇ ਦੇ ਤੌਰ ਤੇ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ",
	SiteUrl: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਵਿਚ ਸਾਈਟ ਦੇ ਪ੍ਰਕਾਸ਼ਨ ਵਾਸਤੇ ਪੂਰਾ URL ਪਾਉਣਾ ਹੁੰਦਾ ਹੈ",
	StyleSheetColors: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਵਿਚ ਪੇਜ ਦੇ ਤੱਤਾਂ ਦੇ ਰੰਗਾਂ ਨਾਲ ਸੰਬੰਧਿਤ CSS ਪਰਿਭਾਸ਼ਾਵਾਂ ਹੁੰਦੀਆਂ ਹਨ.  ''ਇਸ ਟਿਡਲਰ ਦਾ ਸੰਪਾਦਨ ਨਾ ਕਰੋ !'', ਸਗੋਂ StyleSheet ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਵਿਚ ਆਪਣੇ ਬਦਲਾਓ ਕਰੋ",
	StyleSheet: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਵਿਚ ਮਰਜ਼ੀ ਦੀਆਂ CSS ਪਰਿਭਾਸ਼ਾਵਾਂ ਆ ਸਕਦੀਆਂ ਹਨ",
	StyleSheetLayout: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਵਿਚ ਪੇਜ ਦੇ ਤੱਤਾਂ ਦੇ ਨਕਸ਼ੇ ਨਾਲ ਸੰਬੰਧਿਤ CSS ਪਰਿਭਾਸ਼ਾਵਾਂ ਹੁੰਦੀਆਂ ਹਨ.  ''ਇਸ ਟਿਡਲਰ ਦਾ ਸੰਪਾਦਨ ਨਾ ਕਰੋ !'', ਸਗੋਂ StyleSheet ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਵਿਚ ਆਪਣੇ ਬਦਲਾਓ ਕਰੋ",
	StyleSheetLocale: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਵਿਚ ਅਨੁਵਾਦ ਖੇਤਰ ਨਾਲ ਸੰਬੰਧਿਤ CSS ਪਰਿਭਾਸ਼ਾਵਾਂ ਸੰਮਿਲਿਤ ਹਨ",
	StyleSheetPrint: "ਇਸ ਪਰਛਾਂਵੇ ਟਿਡਲਰ ਵਿਚ ਪ੍ਰਿੰਟਿੰਗ ਨਾਲ ਸੰਬੰਧਿਤ CSS ਪਰਿਭਾਸ਼ਾ ਸੰਮਿਲਿਤ ਹਨ",
	TabAll: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਵਿਚ ਸੱਜੇ ਹਥ ਦੇ ਸਾਇਡਬਾਰ ਵਿਚਲੇ 'ਸਭ' ਟੈਬ ਦੀ ਸਮੱਗਰੀ ਸੰਮਿਲਿਤ ਹੈ",
	TabMore: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਵਿਚ ਸੱਜੇ ਹਥ ਦੇ ਸਾਇਡਬਾਰ ਵਿਚਲੇ 'ਹੋਰ' ਟੈਬ ਦੀ ਸਮੱਗਰੀ ਸੰਮਿਲਿਤ ਹੈ",
	TabMoreMissing: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਵਿਚ ਸੱਜੇ ਹਥ ਦੇ ਸਾਇਡਬਾਰ ਵਿਚਲੇ 'ਲਾਪਤਾ' ਟੈਬ ਦੀ ਸਮੱਗਰੀ ਸੰਮਿਲਿਤ ਹੈ",
	TabMoreOrphans: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਵਿਚ ਸੱਜੇ ਹਥ ਦੇ ਸਾਇਡਬਾਰ ਵਿਚਲੇ 'ਅਨਾਥ' ਟੈਬ ਦੀ ਸਮੱਗਰੀ ਸੰਮਿਲਿਤ ਹੈ",
	TabMoreShadowed: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਵਿਚ ਸੱਜੇ ਹਥ ਦੇ ਸਾਇਡਬਾਰ ਵਿਚਲੇ 'ਪਰਛਾਂਵੇ' ਟੈਬ ਦੀ ਸਮੱਗਰੀ ਸੰਮਿਲਿਤ ਹੈ",
	TabTags: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਵਿਚ ਸੱਜੇ ਹਥ ਦੇ ਸਾਇਡਬਾਰ ਵਿਚਲੇ 'ਟੈਗ' ਟੈਬ ਦੀ ਸਮੱਗਰੀ ਸੰਮਿਲਿਤ ਹੈ",
	TabTimeline: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਵਿਚ ਸੱਜੇ ਹਥ ਦੇ ਸਾਇਡਬਾਰ ਵਿਚਲੇ 'ਸਮੇ ਰੇਖਾ' ਟੈਬ ਦੀ ਸਮੱਗਰੀ ਸੰਮਿਲਿਤ ਹੈ",
	ToolbarCommands: "ਇਹ ਪਰਛਾਵਾਂ ਟਿਡਲਰ ਇਹ ਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ ਟਿਡਲਰ ਟੂਲਬਾਰ ਵਿਚ ਕਿਹੜੀਆਂ ਕਮਾਂਡਾਂ ਪ੍ਰਦਰਸ਼ਿਤ ਹੁੰਦੀਆਂ ਹਨ",
	ViewTemplate: "ਇਸ ਪਰਛਾਵੇਂ ਟਿਡਲਰ ਵਿਚਲਾ HTML ਖਾਕਾ ਟਿਡਲਰਾਂ ਦੀ ਦਿੱਖ ਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ"
	});

//}}}
Type the text for 'New Tiddler'
Type the text for 'New Tiddler'
Type the text for 'New Tiddler'
/***
|Name|SearchOptionsPlugin|
|Source|http://www.TiddlyTools.com/#SearchOptionsPlugin|
|Documentation|http://www.TiddlyTools.com/#SearchOptionsPluginInfo|
|Version|3.0.6|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|extend core search function with additional user-configurable options|
Adds extra options to core search function including selecting which data items to search, enabling/disabling incremental key-by-key searches, and generating a ''list of matching tiddlers'' instead of immediately displaying all matches.  This plugin also adds syntax for rendering 'search links' within tiddler content to embed one-click searches using pre-defined 'hard-coded' search terms.
!!!!!Documentation
>see [[SearchOptionsPluginInfo]]
!!!!!Configuration
<<<
Search in:
<<option chkSearchTitles>> titles <<option chkSearchText>> text <<option chkSearchTags>> tags <<option chkSearchFields>> fields <<option chkSearchShadows>> shadows
<<option chkSearchHighlight>> Highlight matching text in displayed tiddlers
<<option chkSearchList>> Show list of matches
<<option chkSearchListTiddler>> Write list to [[SearchResults]] tiddler
<<option chkSearchTitlesFirst>> Show title matches first
<<option chkSearchByDate>> Sort matching tiddlers by modification date (most recent first)
<<option chkIncrementalSearch>> Incremental key-by-key search: {{twochar{<<option txtIncrementalSearchMin>>}}} or more characters,  {{threechar{<<option txtIncrementalSearchDelay>>}}} msec delay
<<option chkSearchOpenTiddlers>> Search only in tiddlers that are currently displayed
<<option chkSearchExcludeTags>> Exclude tiddlers tagged with: <<option txtSearchExcludeTags>>
<<<
!!!!!Revisions
<<<
2009.09.22 [3.0.6] in TiddlyWiki.prototype.search, added 'match' param for core compatibility
2009.01.16 [3.0.5] added chkSearchOpenTiddlers option to limit searches to displayed tiddlers only
|please see [[SearchOptionsPluginInfo]] for additional revision details|
2005.10.18 [1.0.0] Initial Release
<<<
!!!!!Code
***/
//{{{
version.extensions.SearchOptionsPlugin= {major: 3, minor: 0, revision: 6, date: new Date(2009,9,22)};

var co=config.options; // abbrev
if (co.chkSearchTitles===undefined) co.chkSearchTitles=true;
if (co.chkSearchText===undefined) co.chkSearchText=true;
if (co.chkSearchTags===undefined) co.chkSearchTags=true;
if (co.chkSearchFields===undefined) co.chkSearchFields=true;
if (co.chkSearchTitlesFirst===undefined) co.chkSearchTitlesFirst=true;
if (co.chkSearchList===undefined) co.chkSearchList=true;
if (co.chkSearchHighlight===undefined) co.chkSearchHighlight=true;
if (co.chkSearchListTiddler===undefined) co.chkSearchListTiddler=false;
if (co.chkSearchByDate===undefined) co.chkSearchByDate=false;
if (co.chkIncrementalSearch===undefined) co.chkIncrementalSearch=true;
if (co.chkSearchShadows===undefined) co.chkSearchShadows=true;
if (co.txtIncrementalSearchDelay===undefined) co.txtIncrementalSearchDelay=500;
if (co.txtIncrementalSearchMin===undefined) co.txtIncrementalSearchMin=3;
if (co.chkSearchOpenTiddlers===undefined) co.chkSearchOpenTiddlers=false;
if (co.chkSearchExcludeTags===undefined) co.chkSearchExcludeTags=true;
if (co.txtSearchExcludeTags===undefined) co.txtSearchExcludeTags="excludeSearch";
if (config.macros.search.reportTitle==undefined)
	config.macros.search.reportTitle="SearchResults"; // note: not a cookie!
config.macros.search.label+="\xa0"; // a little bit of space just because it looks better
//}}}
// // searchLink: {{{[search[text to find]] OR [search[text to display|text to find]]}}}
//{{{
config.formatters.push( {
	name: "searchLink",
	match: "\\[search\\[",
	lookaheadRegExp: /\[search\[(.*?)(?:\|(.*?))?\]\]/mg,
	prompt: "search for: '%0'",
	handler: function(w)
	{
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			var label=lookaheadMatch[1];
			var text=lookaheadMatch[2]||label;
			var prompt=this.prompt.format([text]);
			var btn=createTiddlyButton(w.output,label,prompt,
				function(){story.search(this.getAttribute("searchText"))},"searchLink");
			btn.setAttribute("searchText",text);
			w.nextMatch = this.lookaheadRegExp.lastIndex;
		}
	}
});
//}}}
// // incremental search uses option settings instead of hard-coded delay and minimum input values
//{{{
var fn=config.macros.search.onKeyPress;
fn=fn.toString().replace(/500/g, "config.options.txtIncrementalSearchDelay||500");
fn=fn.toString().replace(/> 2/g, ">=(config.options.txtIncrementalSearchMin||3)");
eval("config.macros.search.onKeyPress="+fn);
//}}}
// // REPLACE story.search() for option to "show search results in a list"
//{{{
Story.prototype.search = function(text,useCaseSensitive,useRegExp)
{
	var co=config.options; // abbrev
	var re=new RegExp(useRegExp ? text : text.escapeRegExp(),useCaseSensitive ? "mg" : "img");
	if (config.options.chkSearchHighlight) highlightHack=re;
	var matches = store.search(re,co.chkSearchByDate?"modified":"title","");
	if (co.chkSearchByDate) matches=matches.reverse(); // most recent first
	var q = useRegExp ? "/" : "'";
	clearMessage();
	if (!matches.length) {
		if (co.chkSearchListTiddler) discardSearchResults();
		displayMessage(config.macros.search.failureMsg.format([q+text+q]));
	} else {
		if (co.chkSearchList||co.chkSearchListTiddler) 
			reportSearchResults(text,matches);
		else {
			var titles = []; for(var t=0; t<matches.length; t++) titles.push(matches[t].title);
			this.closeAllTiddlers(); story.displayTiddlers(null,titles);
			displayMessage(config.macros.search.successMsg.format([matches.length, q+text+q]));
		}
	}
	highlightHack = null;
}
//}}}
// // REPLACE store.search() for enhanced searching/sorting options
//{{{
TiddlyWiki.prototype.search = function(searchRegExp,sortField,excludeTag,match)
{
	var co=config.options; // abbrev
	var tids = this.reverseLookup("tags",excludeTag,!!match,sortField);
	var opened=[]; story.forEachTiddler(function(tid,elem){opened.push(tid);});

	// eliminate tiddlers tagged with excluded tags
	if (co.chkSearchExcludeTags&&co.txtSearchExcludeTags.length) {
		var ex=co.txtSearchExcludeTags.readBracketedList();
		var temp=[]; for(var t=tids.length-1; t>=0; t--)
			if (!tids[t].tags.containsAny(ex)) temp.push(tids[t]);
		tids=temp;
	}

	// scan for matching titles first...
	var results = [];
	if (co.chkSearchTitles) {
		for(var t=0; t<tids.length; t++) {
			if (co.chkSearchOpenTiddlers && !opened.contains(tids[t].title)) continue; 
			if(tids[t].title.search(searchRegExp)!=-1) results.push(tids[t]);
		}
		if (co.chkSearchShadows)
			for (var t in config.shadowTiddlers) {
				if (co.chkSearchOpenTiddlers && !opened.contains(t)) continue; 
				if ((t.search(searchRegExp)!=-1) && !store.tiddlerExists(t))
					results.push((new Tiddler()).assign(t,config.shadowTiddlers[t]));
			}
	}
	// then scan for matching text, tags, or field data
	for(var t=0; t<tids.length; t++) {
		if (co.chkSearchOpenTiddlers && !opened.contains(tids[t].title)) continue; 
		if (co.chkSearchText && tids[t].text.search(searchRegExp)!=-1)
			results.pushUnique(tids[t]);
		if (co.chkSearchTags && tids[t].tags.join(" ").search(searchRegExp)!=-1)
			results.pushUnique(tids[t]);
		if (co.chkSearchFields && store.forEachField!=undefined)
			store.forEachField(tids[t],
				function(tid,field,val) {
					if (val.search(searchRegExp)!=-1) results.pushUnique(tids[t]);
				},
				true); // extended fields only
	}
	// then check for matching text in shadows
	if (co.chkSearchShadows)
		for (var t in config.shadowTiddlers) {
			if (co.chkSearchOpenTiddlers && !opened.contains(t)) continue; 
			if ((config.shadowTiddlers[t].search(searchRegExp)!=-1) && !store.tiddlerExists(t))
				results.pushUnique((new Tiddler()).assign(t,config.shadowTiddlers[t]));
		}

	// if not 'titles first', or sorting by modification date,
	// re-sort results to so titles, text, tag and field matches are mixed together
	if(!sortField) sortField = "title";
	var bySortField=function(a,b){
		if(a[sortField]==b[sortField])return(0);else return(a[sortField]<b[sortField])?-1:+1;
	}
	if (!co.chkSearchTitlesFirst || co.chkSearchByDate) results.sort(bySortField);

	return results;
}
//}}}
// // HIJACK core {{{<<search>>}}} macro to add "report" and "simple inline" output
//{{{
config.macros.search.SOP_handler=config.macros.search.handler;
config.macros.search.handler = function(place,macroName,params)
{
	// if "report", use SearchOptionsPlugin report generator for inline output
	if (params[1]&&params[1].substr(0,6)=="report") {
		var keyword=params[0];
		var options=params[1].split("=")[1]; // split "report=option+option+..."
		var heading=params[2]?params[2].unescapeLineBreaks():"";
		var matches=store.search(new RegExp(keyword.escapeRegExp(),"img"),"title","excludeSearch");
		if (matches.length) wikify(heading+window.formatSearchResults(keyword,matches,options),place);
	} else if (params[1]) {
		var keyword=params[0];
		var heading=params[1]?params[1].unescapeLineBreaks():"";
		var seperator=params[2]?params[2].unescapeLineBreaks():", ";
		var matches=store.search(new RegExp(keyword.escapeRegExp(),"img"),"title","excludeSearch");
		if (matches.length) {
			var out=[];
			for (var m=0; m<matches.length; m++) out.push("[["+matches[m].title+"]]");
			wikify(heading+out.join(seperator),place);
		}
	} else
		config.macros.search.SOP_handler.apply(this,arguments);
};
//}}}
// // SearchResults panel handling
//{{{
setStylesheet(".searchResults { padding:1em 1em 0 1em; }","searchResults"); // matches std tiddler padding

config.macros.search.createPanel=function(text,matches,body) {

	function getByClass(e,c) { var d=e.getElementsByTagName("div");
		for (var i=0;i<d.length;i++) if (hasClass(d[i],c)) return d[i]; }
	var panel=createTiddlyElement(null,"div","searchPanel","searchPanel");
	this.renderPanel(panel,text,matches,body);
	var oldpanel=document.getElementById("searchPanel");
	if (!oldpanel) { // insert new panel just above tiddlers
		var da=document.getElementById("displayArea");
		da.insertBefore(panel,da.firstChild);
	} else { // if panel exists
		var oldwrap=getByClass(oldpanel,"searchResults");
		var newwrap=getByClass(panel,"searchResults");
		// if no prior content, just insert new content
		if (!oldwrap) oldpanel.insertBefore(newwrap,null);
		else {	// swap search results content but leave containing panel intact
			oldwrap.style.display='block'; // unfold wrapper if needed
			var i=oldwrap.getElementsByTagName("input")[0]; // get input field
			if (i) { var pos=this.getCursorPos(i); i.onblur=null; } // get cursor pos, ignore blur
			oldpanel.replaceChild(newwrap,oldwrap);
			panel=oldpanel; // use existing panel
		} 
	}
	this.showPanel(true,pos);
	return panel;
}

config.macros.search.renderPanel=function(panel,text,matches,body) {

	var wrap=createTiddlyElement(panel,"div",null,"searchResults");
	wrap.onmouseover = function(e){ addClass(this,"selected"); }
	wrap.onmouseout = function(e){ removeClass(this,"selected"); }
	// create toolbar: "open all", "fold/unfold", "close"
	var tb=createTiddlyElement(wrap,"div",null,"toolbar");
	var b=createTiddlyButton(tb, "open all", "open all matching tiddlers", function() {
		story.displayTiddlers(null,this.getAttribute("list").readBracketedList()); return false; },"button");
	var list=""; for(var t=0;t<matches.length;t++) list+='[['+matches[t].title+']] ';
	b.setAttribute("list",list);
	var b=createTiddlyButton(tb, "fold", "toggle display of search results", function() {
		config.macros.search.foldPanel(this); return false; },"button");
	var b=createTiddlyButton(tb, "close", "dismiss search results",	function() {
		config.macros.search.showPanel(false); return false; },"button");
	createTiddlyText(createTiddlyElement(wrap,"div",null,"title"),"Search for: "+text); // title
	wikify(body,createTiddlyElement(wrap,"div",null,"viewer")); // report
	return panel;
}

config.macros.search.showPanel=function(show,pos) {
	var panel=document.getElementById("searchPanel");
	var i=panel.getElementsByTagName("input")[0];
	i.onfocus=show?function(){config.macros.search.stayFocused(true);}:null;
	i.onblur=show?function(){config.macros.search.stayFocused(false);}:null;
	if (show && panel.style.display=="block") { // if shown, grab focus, restore cursor
		if (i&&this.stayFocused()) { i.focus(); this.setCursorPos(i,pos); }
		return;
	}
	if(!config.options.chkAnimate) {
		panel.style.display=show?"block":"none";
		if (!show) { removeChildren(panel); config.macros.search.stayFocused(false); }
	} else {
		var s=new Slider(panel,show,false,show?"none":"children");
		s.callback=function(e,p){e.style.overflow="visible";}
		anim.startAnimating(s);
	}
	return panel;
}

config.macros.search.foldPanel=function(button) {
	var d=document.getElementById("searchPanel").getElementsByTagName("div");
	for (var i=0;i<d.length;i++) if (hasClass(d[i],"viewer")) var v=d[i]; if (!v) return;
	var show=v.style.display=="none";
	if(!config.options.chkAnimate)
		v.style.display=show?"block":"none";
	else {
		var s=new Slider(v,show,false,"none");
		s.callback=function(e,p){e.style.overflow="visible";}
		anim.startAnimating(s);
	}
	button.innerHTML=show?"fold":"unfold";
	return false;
}

config.macros.search.stayFocused=function(keep) { // TRUE/FALSE=set value, no args=get value
	if (keep===undefined) return this.keepReportInFocus;
	this.keepReportInFocus=keep;
	return keep
}	

config.macros.search.getCursorPos=function(i) {
	var s=0; var e=0; if (!i) return { start:s, end:e };
	try {
		if (i.setSelectionRange) // FF
			{ s=i.selectionStart; e=i.selectionEnd; }
		if (document.selection && document.selection.createRange) { // IE
			var r=document.selection.createRange().duplicate();
			var len=r.text.length; s=0-r.moveStart('character',-100000); e=s+len;
		}
	}catch(e){};
	return { start:s, end:e };
}
config.macros.search.setCursorPos=function(i,pos) {
	if (!i||!pos) return; var s=pos.start; var e=pos.end;
	if (i.setSelectionRange) //FF
		i.setSelectionRange(s,e);
	if (i.createTextRange) // IE
		{ var r=i.createTextRange(); r.collapse(true); r.moveStart("character",s); r.select(); }
}
//}}}
// // SearchResults report generation
// note: these functions are defined globally, so they can be more easily redefined to customize report formats//
//{{{
if (!window.reportSearchResults) window.reportSearchResults=function(text,matches)
{
	var cms=config.macros.search; // abbrev
	var body=window.formatSearchResults(text,matches);
	if (!config.options.chkSearchListTiddler) // show #searchResults panel
		window.scrollTo(0,ensureVisible(cms.createPanel(text,matches,body)));
	else { // write [[SearchResults]] tiddler
		var title=cms.reportTitle;
		var who=config.options.txtUserName;
		var when=new Date();
		var tags="excludeLists excludeSearch temporary";
		var tid=store.getTiddler(title); if (!tid) tid=new Tiddler();
		tid.set(title,body,who,when,tags);
		store.addTiddler(tid);
		story.closeTiddler(title);
		story.displayTiddler(null,title);
	}
}

if (!window.formatSearchResults) window.formatSearchResults=function(text,matches,opt)
{
	var body='';
	var title=config.macros.search.reportTitle
	var q = config.options.chkRegExpSearch ? "/" : "'";
	if (!opt) var opt="all";
	var parts=opt.split("+");
	for (var i=0; i<parts.length; i++) { var p=parts[i].toLowerCase();
		if (p=="again"||p=="all")   body+=window.formatSearchResults_again(text,matches);
		if (p=="summary"||p=="all") body+=window.formatSearchResults_summary(text,matches);
		if (p=="list"||p=="all")    body+=window.formatSearchResults_list(text,matches);
		if (p=="buttons"||p=="all") body+=window.formatSearchResults_buttons(text,matches);
	}
	return body;
}

if (!window.formatSearchResults_again) window.formatSearchResults_again=function(text,matches)
{
	var title=config.macros.search.reportTitle
	var body='';
	// search again
	body+='{{span{<<search "'+text.replace(/"/g,'&#x22;')+'">> /%\n';
	body+='%/<html><input type="button" value="search again"';
	body+=' onclick="var t=this.parentNode.parentNode.getElementsByTagName(\'input\')[0];';
	body+=' config.macros.search.doSearch(t); return false;">';
	body+=' <a href="javascript:;" onclick="';
	body+=' var e=this.parentNode.nextSibling;';
	body+=' var show=e.style.display!=\'block\';';
	body+=' if(!config.options.chkAnimate) e.style.display=show?\'block\':\'none\';';
	body+=' else anim.startAnimating(new Slider(e,show,false,\'none\'));';
	body+=' return false;">options...</a>';
	body+='</html>@@display:none;border-left:1px dotted;margin-left:1em;padding:0;padding-left:.5em;font-size:90%;/%\n';
	body+='	%/<<option chkSearchTitles>>titles /%\n';
	body+='	%/<<option chkSearchText>>text /%\n';
	body+='	%/<<option chkSearchTags>>tags /%\n';
	body+='	%/<<option chkSearchFields>>fields /%\n';
	body+='	%/<<option chkSearchShadows>>shadows\n';
	body+='	<<option chkCaseSensitiveSearch>>case-sensitive /%\n';
	body+='	%/<<option chkRegExpSearch>>text patterns /%\n';
	body+='	%/<<option chkSearchByDate>>sorted by date\n';
	body+='	<<option chkSearchHighlight>> highlight matching text in displayed tiddlers\n';
	body+='	<<option chkIncrementalSearch>>incremental key-by-key search: /%\n';
	body+='	%/{{twochar{<<option txtIncrementalSearchMin>>}}} or more characters, /%\n';
	body+='	%/{{threechar{<<option txtIncrementalSearchDelay>>}}} msec delay\n';
	body+='	<<option chkSearchOpenTiddlers>> search only in tiddlers that are currently displayed\n';
	body+='	<<option chkSearchExcludeTags>>exclude tiddlers tagged with:\n';
	body+='	{{editor{<<option txtSearchExcludeTags>>}}}/%\n';
	body+='%/@@}}}\n\n';
	return body;
}

if (!window.formatSearchResults_summary) window.formatSearchResults_summary=function(text,matches)
{
	// summary: nn tiddlers found matching '...', options used
	var body='';
	var co=config.options; // abbrev
	var title=config.macros.search.reportTitle
	var q = co.chkRegExpSearch ? "/" : "'";
	body+="''"+config.macros.search.successMsg.format([matches.length,q+"{{{"+text+"}}}"+q])+"''\n";
	var opts=[];
	if (co.chkSearchTitles) opts.push("titles");
	if (co.chkSearchText) opts.push("text");
	if (co.chkSearchTags) opts.push("tags");
	if (co.chkSearchFields) opts.push("fields");
	if (co.chkSearchShadows) opts.push("shadows");
	if (co.chkSearchOpenTiddlers) body+="^^//search limited to displayed tiddlers only//^^\n";
	body+="~~&nbsp; searched in "+opts.join(" + ")+"~~\n";
	body+=(co.chkCaseSensitiveSearch||co.chkRegExpSearch?"^^&nbsp; using ":"")
		+(co.chkCaseSensitiveSearch?"case-sensitive ":"")
		+(co.chkRegExpSearch?"pattern ":"")
		+(co.chkCaseSensitiveSearch||co.chkRegExpSearch?"matching^^\n":"");
	return body;
}

if (!window.formatSearchResults_list) window.formatSearchResults_list=function(text,matches)
{
	// bullet list of links to matching tiddlers
	var body='';
	var pattern=co.chkRegExpSearch?text:text.escapeRegExp();
	var sensitive=co.chkCaseSensitiveSearch?"mg":"img";
	var link='{{tiddlyLinkExisting{<html><nowiki><a href="javascript:;" onclick="'
		+'if(config.options.chkSearchHighlight)'
		+'	highlightHack=new RegExp(\x27'+pattern+'\x27.escapeRegExp(),\x27'+sensitive+'\x27);'
		+'story.displayTiddler(null,\x27%0\x27);'
		+'highlightHack = null; return false;'
		+'" title="%2">%1</a></html>}}}';
	for(var t=0;t<matches.length;t++) {
		body+="* ";
		if (config.options.chkSearchByDate)
			body+=matches[t].modified.formatString('YYYY.0MM.0DD 0hh:0mm')+" ";
		var title=matches[t].title;
		var fixup=title.replace(/'/g,"\\x27").replace(/"/g,"\\x22");
		var tid=store.getTiddler(title);
		var tip=tid?tid.getSubtitle():''; tip=tip.replace(/"/g,"&quot;");
		body+=link.format([fixup,title,tip])+'\n';
	}
	return body;
}

if (!window.formatSearchResults_buttons) window.formatSearchResults_buttons=function(text,matches)
{
	// embed buttons only if writing SearchResults to tiddler
	if (!config.options.chkSearchListTiddler) return "";
	// "open all" button
	var title=config.macros.search.reportTitle;
	var body="";
	body+="@@diplay:block;<html><input type=\"button\" href=\"javascript:;\" "
		+"onclick=\"story.displayTiddlers(null,[";
	for(var t=0;t<matches.length;t++)
		body+="'"+matches[t].title.replace(/\'/mg,"\\'")+"'"+((t<matches.length-1)?", ":"");
	body+="],1);\" accesskey=\"O\" value=\"open all matching tiddlers\"></html> ";
	// "discard SearchResults" button
	body+="<html><input type=\"button\" href=\"javascript:;\" "
		+"onclick=\"discardSearchResults()\" value=\"discard "+title+"\"></html>";
	body+="@@\n";
	return body;
}

if (!window.discardSearchResults) window.discardSearchResults=function()
{
	// remove the tiddler
	story.closeTiddler(config.macros.search.reportTitle);
	store.deleteTiddler(config.macros.search.reportTitle);
	store.notify(config.macros.search.reportTitle,true);
}
//}}}

the language & related
PUNJABI
[[StyleSheetShortcuts]]

/*{{{*/
#mainMenu{
  text-align:left;
 width: 11em;
}
#displayArea{
  /*margin: 0 14em 0 17em;*/
}

#mainMenu ul{
 padding-left: 10px;
 padding-top: 0;
 margin-top: 0;
}

#mainMenu ul li{
  list-style: none;
}
.tiddler{
 background-color:white;
 border: 1px solid #a9a9a9;
}
#mainMenu{
 background-color: white;
 border-right: 1px solid #a9a9a9;
 border-bottom: 1px solid #a9a9a9;
}
#mainMenu .button{
background-color: none;
display: block;
padding: .5em;
border:none;
border-top: thin solid #4682B4;
color: #4682B4;
}
#mainMenu .button:hover{
 background-color: #ccff66;
 color: #4682B4;
}
/*}}}*/
/***
|Name|StyleSheetShortcuts|
|Source|http://www.TiddlyTools.com/#StyleSheetShortcuts|
|Version||
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|CSS|
|Description|'convenience' classes for common formatting, alignment, boxes, tables, etc.|

These 'style tweaks' can be easily included in other stylesheet tiddler so they can share a baseline look-and-feel that can then be customized to create a wide variety of 'flavors'.
***/
/*{{{*/

/* text alignments */
.left
	{ display:block;text-align:left; }
.center
	{ display:block;text-align:center; }
.center table
	{ margin:auto !important; }
.right	
	{ display:block;text-align:right; }
.justify
	{ display:block;text-align:justify; }
.indent
	{ display:block;margin:0;padding:0;border:0;margin-left:2em; }
.floatleft
	{ float:left; }
.floatright
	{ float:right; }
.valignTop, .valignTop table, .valignTop tbody, .valignTop th, .valignTop tr, .valignTop td
	{ vertical-align:top; }
.valignBottom, .valignBottom table, .valignBottom tbody, .valignBottom th, .valignBottom tr, .valignBottom td
	{ vertical-align:bottom; }
.clear
	{ clear:both; }
.wrap
	{ white-space:normal; }
.nowrap
	{ white-space:nowrap; }
.hidden
	{ display:none; }
.show
	{ display:inline !important; }
.span
	{ display:span; }
.block
	{ display:block; }
.relative
	{ position:relative; }
.absolute
	{ position:absolute; }

/* font sizes */
.big
	{ font-size:14pt;line-height:120% }
.medium
	{ font-size:12pt;line-height:120% }
.normal
	{ font-size:9pt;line-height:120% }
.small
	{ font-size:8pt;line-height:120% }
.fine
	{ font-size:7pt;line-height:120% }
.tiny
	{ font-size:6pt;line-height:120% }
.larger
	{ font-size:120%; }
.smaller
	{ font-size:80%; }

/* font styles */
.bold
	{ font-weight:bold; }
.italic
	{ font-style:italic; }
.underline
	{ text-decoration:underline; }

/* plain list items (no bullets or indent) */
.nobullets li { list-style-type: none; margin-left:-2em; }

/* multi-column tiddler content (not supported in Internet Explorer) */
.twocolumns { display:block;
	-moz-column-count:2; -moz-column-gap:1em; -moz-column-width:50%; /* FireFox */
	-webkit-column-count:2; -webkit-column-gap:1em; -webkit-column-width:50%; /* Safari */
	column-count:2; column-gap:1em; column-width:50%; /* Opera */
}
.threecolumns { display:block;
	-moz-column-count:3; -moz-column-gap:1em; -moz-column-width:33%; /* FireFox */
	-webkit-column-count:3; -webkit-column-gap:1em; -webkit-column-width:33%; /* Safari */
	column-count:3; column-gap:1em; column-width:33%; /* Opera */
}
.fourcolumns { display:block;
	-moz-column-count:4; -moz-column-gap:1em; -moz-column-width:25%; /* FireFox */
	-webkit-column-count:4; -webkit-column-gap:1em; -webkit-column-width:25%; /* Safari */
	column-count:4; column-gap:1em; column-width:25%; /* Opera */
}

/* page breaks */
.breakbefore { page-break-before:always; }
.breakafter { page-break-before:always; } 

/* show/hide browser-specific content for InternetExplorer vs. non-IE ("moz") browsers */
*[class="ieOnly"]
	{ display:none; } /* hide in moz (uses CSS selector) */
* html .mozOnly, *:first-child+html .mozOnly
	{ display: none; } /* hide in IE (uses IE6/IE7 CSS hacks) */

/* borderless tables */
.borderless, .borderless table, .borderless td, .borderless tr, .borderless th, .borderless tbody
	{ border:0 !important; margin:0 !important; padding:0 !important; }
.widetable, .widetable table
	{ width:100%; }

/* thumbnail images (fixed-sized scaled images) */
.thumbnail img { height:5em !important; }

/* stretchable images (auto-size to fit tiddler) */
.stretch img { width:95%; }

/* grouped content */
.outline
	{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid; }
.menubox
	{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid; background:#fff; color:#000; }
.menubox .button, .menubox .tiddlyLinkExisting, .menubox .tiddlyLinkNonExisting
	{ color:#009 !important; }
.groupbox
	{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid; background:#ffe; color:#000; }
.groupbox a, .groupbox .button, .groupbox .tiddlyLinkExisting, .groupbox .tiddlyLinkNonExisting
	{ color:#009 !important; }
.groupbox code
	{ color:#333 !important; }
.borderleft
	{ margin:0;padding:0;border:0;margin-left:1em; border-left:1px dotted; padding-left:.5em; }
.borderright
	{ margin:0;padding:0;border:0;margin-right:1em; border-right:1px dotted; padding-right:.5em; }
.borderbottom
	{ margin:0;padding:1px 0;border:0;border-bottom:1px dotted; margin-bottom:1px; padding-bottom:1px; }
.bordertop
	{ margin:0;padding:0;border:0;border-top:1px dotted; margin-top:1px; padding-top:1px; }

/* scrolled content */
.scrollbars { overflow:auto; }
.height10em { height:10em; }
.height15em { height:15em; }
.height20em { height:20em; }
.height25em { height:25em; }
.height30em { height:30em; }
.height35em { height:35em; }
.height40em { height:40em; }

/* compact form */
.smallform
	{ white-space:nowrap; }
.smallform input, .smallform textarea, .smallform button, .smallform checkbox, .smallform radio, .smallform select
	{ font-size:8pt; }

/* stretchable edit fields and textareas (auto-size to fit tiddler) */
.stretch input { width:99%; }
.stretch textarea { width:99%; }

/* compact input fields (limited to a few characters for entering percentages and other small values) */
.onechar input   { width:1em; }
.twochar input   { width:2em; }
.threechar input { width:3em; }
.fourchar input  { width:4em; }
.fivechar input  { width:5em; }

/* text colors */
.white { color:#fff !important }
.gray  { color:#999 !important }
.black { color:#000 !important }
.red   { color:#f66 !important }
.green { color:#0c0 !important }
.blue  { color:#99f !important }

/* rollover highlighting */
.mouseover 
	{color:[[ColorPalette::TertiaryLight]] !important;}
.mouseover a
	{color:[[ColorPalette::TertiaryLight]] !important;}
.selected .mouseover
	{color:[[ColorPalette::Foreground]] !important;}
.selected .mouseover .button, .selected .mouseover a
	{color:[[ColorPalette::PrimaryDark]] !important;}

/* rollover zoom text */
.zoomover
	{ font-size:80% !important; }
.selected .zoomover
	{ font-size:100% !important; }

/* [[ColorPalette]] text colors */
.Background	{ color:[[ColorPalette::Background]];	 }
.Foreground	{ color:[[ColorPalette::Foreground]];	 }
.PrimaryPale	{ color:[[ColorPalette::PrimaryPale]];	 }
.PrimaryLight	{ color:[[ColorPalette::PrimaryLight]];	 }
.PrimaryMid	{ color:[[ColorPalette::PrimaryMid]];	 }
.PrimaryDark	{ color:[[ColorPalette::PrimaryDark]];	 }
.SecondaryPale	{ color:[[ColorPalette::SecondaryPale]]; }
.SecondaryLight	{ color:[[ColorPalette::SecondaryLight]];}
.SecondaryMid	{ color:[[ColorPalette::SecondaryMid]];	 }
.SecondaryDark	{ color:[[ColorPalette::SecondaryDark]]; }
.TertiaryPale	{ color:[[ColorPalette::TertiaryPale]];	 }
.TertiaryLight	{ color:[[ColorPalette::TertiaryLight]]; }
.TertiaryMid	{ color:[[ColorPalette::TertiaryMid]];	 }
.TertiaryDark	{ color:[[ColorPalette::TertiaryDark]];	 }
.Error		{ color:[[ColorPalette::Error]];	 }

/* [[ColorPalette]] background colors */
.BGBackground	  { background-color:[[ColorPalette::Background]];	}
.BGForeground	  { background-color:[[ColorPalette::Foreground]];	}
.BGPrimaryPale	  { background-color:[[ColorPalette::PrimaryPale]];	}
.BGPrimaryLight	  { background-color:[[ColorPalette::PrimaryLight]];	}
.BGPrimaryMid	  { background-color:[[ColorPalette::PrimaryMid]];	}
.BGPrimaryDark	  { background-color:[[ColorPalette::PrimaryDark]];	}
.BGSecondaryPale  { background-color:[[ColorPalette::SecondaryPale]]; 	}
.BGSecondaryLight { background-color:[[ColorPalette::SecondaryLight]];	}
.BGSecondaryMid	  { background-color:[[ColorPalette::SecondaryMid]];	}
.BGSecondaryDark  { background-color:[[ColorPalette::SecondaryDark]]; 	}
.BGTertiaryPale	  { background-color:[[ColorPalette::TertiaryPale]];	}
.BGTertiaryLight  { background-color:[[ColorPalette::TertiaryLight]]; 	}
.BGTertiaryMid	  { background-color:[[ColorPalette::TertiaryMid]];	}
.BGTertiaryDark	  { background-color:[[ColorPalette::TertiaryDark]];	}
.BGError	  { background-color:[[ColorPalette::Error]];	 	}
/*}}}*/
/***
|''Name:''|TiddlersBarPluginMG|
|''Description:''|A bar to switch between tiddlers through tabs (like browser tabs bar).|
|''Version:''|1.2.5|
|''Date:''|Jan 18,2008|
|''Source:''|http://visualtw.ouvaton.org/VisualTW.html|
|''Author:''|Pascal Collin|
|''License:''|[[BSD open source license|License]]|
|''~CoreVersion:''|2.1.0|
|''Browser:''|Firefox 2.0; InternetExplorer 6.0, others|
!Modification
2008.09.06 -  Morris Gray (Added http://tw.lewcid.org/#OpenTopPlugin code to this plugin to overcome jumping to the top when invoking any popup. Deleted the offending code)
!Demos
On [[homepage|http://visualtw.ouvaton.org/VisualTW.html]], open several tiddlers to use the tabs bar.
!Installation
#import this tiddler from [[homepage|http://visualtw.ouvaton.org/VisualTW.html]] (tagged as systemConfig)
#save and reload
#''if you're using a custom [[PageTemplate]]'', add {{{<div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>}}} before {{{<div id='tiddlerDisplay'></div>}}}
#optionally, adjust StyleSheetTiddlersBar
!Tips
*Doubleclick on the tiddlers bar (where there is no tab) create a new tiddler.
*Tabs include a button to close {{{x}}} or save {{{!}}} their tiddler.
*By default, click on the current tab close all others tiddlers.
!Configuration options 
<<option chkDisableTabsBar>> Disable the tabs bar (to print, by example).
<<option chkHideTabsBarWhenSingleTab >> Automatically hide the tabs bar when only one tiddler is displayed. 
<<option txtSelectedTiddlerTabButton>> ''selected'' tab command button.
<<option txtPreviousTabKey>> previous tab access key.
<<option txtNextTabKey>> next tab access key.
!Code
***/
//{{{


config.options.chkDisableTabsBar = config.options.chkDisableTabsBar ? config.options.chkDisableTabsBar : false;
config.options.chkHideTabsBarWhenSingleTab  = config.options.chkHideTabsBarWhenSingleTab  ? config.options.chkHideTabsBarWhenSingleTab  : false;
config.options.txtSelectedTiddlerTabButton = config.options.txtSelectedTiddlerTabButton ? config.options.txtSelectedTiddlerTabButton : "do nothing";
config.options.txtPreviousTabKey = config.options.txtPreviousTabKey ? config.options.txtPreviousTabKey : "";
config.options.txtNextTabKey = config.options.txtNextTabKey ? config.options.txtNextTabKey : "";
config.macros.tiddlersBar = {
	tooltip : "see ",
	tooltipClose : "click here to close this tab",
	tooltipSave : "click here to save this tab",
	promptRename : "Enter tiddler new name",
	currentTiddler : "",
	previousState : false,
	previousKey : config.options.txtPreviousTabKey,
	nextKey : config.options.txtNextTabKey,	
	tabsAnimationSource : null, //use document.getElementById("tiddlerDisplay") if you need animation on tab switching.
	handler: function(place,macroName,params) {
		var previous = null;
		if (config.macros.tiddlersBar.isShown())
			story.forEachTiddler(function(title,e){
				if (title==config.macros.tiddlersBar.currentTiddler){
					var d = createTiddlyElement(null,"span",null,"tab tabSelected");
					config.macros.tiddlersBar.createActiveTabButton(d,title);
					if (previous && config.macros.tiddlersBar.previousKey) previous.setAttribute("accessKey",config.macros.tiddlersBar.nextKey);
					previous = "active";
				}
				else {
					var d = createTiddlyElement(place,"span",null,"tab tabUnselected");
					var btn = createTiddlyButton(d,title,config.macros.tiddlersBar.tooltip + title,config.macros.tiddlersBar.onSelectTab);
					btn.setAttribute("tiddler", title);
					if (previous=="active" && config.macros.tiddlersBar.nextKey) btn.setAttribute("accessKey",config.macros.tiddlersBar.previousKey);
					previous=btn;
				}
				var isDirty =story.isDirty(title);
				var c = createTiddlyButton(d,isDirty ?"?":"x",isDirty?config.macros.tiddlersBar.tooltipSave:config.macros.tiddlersBar.tooltipClose, isDirty ? config.macros.tiddlersBar.onTabSave : config.macros.tiddlersBar.onTabClose,"tabButton");
				c.setAttribute("tiddler", title);
				if (place.childNodes) {
					place.insertBefore(document.createTextNode(" "),place.firstChild); // to allow break line here when many tiddlers are open
					place.insertBefore(d,place.firstChild); 
				}
				else place.appendChild(d);
			})
	}, 
	refresh: function(place,params){
		removeChildren(place);
		config.macros.tiddlersBar.handler(place,"tiddlersBar",params);
		if (config.macros.tiddlersBar.previousState!=config.macros.tiddlersBar.isShown()) {
			story.refreshAllTiddlers();
			if (config.macros.tiddlersBar.previousState) story.forEachTiddler(function(t,e){e.style.display="";});
			config.macros.tiddlersBar.previousState = !config.macros.tiddlersBar.previousState;
		}
	},
	isShown : function(){
		if (config.options.chkDisableTabsBar) return false;
		if (!config.options.chkHideTabsBarWhenSingleTab) return true;
		var cpt=0;
		story.forEachTiddler(function(){cpt++});
		return (cpt>1);
	},
	selectNextTab : function(){  //used when the current tab is closed (to select another tab)
		var previous="";
		story.forEachTiddler(function(title){
			if (!config.macros.tiddlersBar.currentTiddler) {
				story.displayTiddler(null,title);
				return;
			}
			if (title==config.macros.tiddlersBar.currentTiddler) {
				if (previous) {
					story.displayTiddler(null,previous);
					return;
				}
				else config.macros.tiddlersBar.currentTiddler=""; 	// so next tab will be selected
			}
			else previous=title;
			});		
	},
	onSelectTab : function(e){
		var t = this.getAttribute("tiddler");
		if (t) story.displayTiddler(null,t);
		return false;
	},
	onTabClose : function(e){
		var t = this.getAttribute("tiddler");
		if (t) {
			if(story.hasChanges(t) && !readOnly) {
				if(!confirm(config.commands.cancelTiddler.warning.format([t])))
				return false;
			}
			story.closeTiddler(t);
		}
		return false;
	},
	onTabSave : function(e) {
		var t = this.getAttribute("tiddler");
		if (!e) e=window.event;
		if (t) config.commands.saveTiddler.handler(e,null,t);
		return false;
	},
	onSelectedTabButtonClick : function(event,src,title) {
		var t = this.getAttribute("tiddler");
		if (!event) event=window.event;
		if (t && config.options.txtSelectedTiddlerTabButton && config.commands[config.options.txtSelectedTiddlerTabButton])
			config.commands[config.options.txtSelectedTiddlerTabButton].handler(event, src, t);
		return false;
	},
	onTiddlersBarAction: function(event) {
		var source = event.target ? event.target.id : event.srcElement.id; // FF uses target and IE uses srcElement;
		if (source=="tiddlersBar") story.displayTiddler(null,'New Tiddler',DEFAULT_EDIT_TEMPLATE,false,null,null);
	},
	createActiveTabButton : function(place,title) {
		if (config.options.txtSelectedTiddlerTabButton && config.commands[config.options.txtSelectedTiddlerTabButton]) {
			var btn = createTiddlyButton(place, title, config.commands[config.options.txtSelectedTiddlerTabButton].tooltip ,config.macros.tiddlersBar.onSelectedTabButtonClick);
			btn.setAttribute("tiddler", title);
		}
		else
			createTiddlyText(place,title);
	}
}

story.coreCloseTiddler = story.coreCloseTiddler? story.coreCloseTiddler : story.closeTiddler;
story.coreDisplayTiddler = story.coreDisplayTiddler ? story.coreDisplayTiddler : story.displayTiddler;

story.closeTiddler = function(title,animate,unused) {
	if (title==config.macros.tiddlersBar.currentTiddler)
		config.macros.tiddlersBar.selectNextTab();
	story.coreCloseTiddler(title,false,unused); //disable animation to get it closed before calling tiddlersBar.refresh
	var e=document.getElementById("tiddlersBar");
	if (e) config.macros.tiddlersBar.refresh(e,null);
}

story.displayTiddler = function(srcElement,tiddler,template,animate,unused,customFields,toggle){
	story.coreDisplayTiddler(config.macros.tiddlersBar.tabsAnimationSource,tiddler,template,animate,unused,customFields,toggle);
	var title = (tiddler instanceof Tiddler)? tiddler.title : tiddler;  
	if (config.macros.tiddlersBar.isShown()) {
		story.forEachTiddler(function(t,e){
			if (t!=title) e.style.display="none";
			else e.style.display="";
		})
		config.macros.tiddlersBar.currentTiddler=title;
	}
	var e=document.getElementById("tiddlersBar");
	if (e) config.macros.tiddlersBar.refresh(e,null);
}

var coreRefreshPageTemplate = coreRefreshPageTemplate ? coreRefreshPageTemplate : refreshPageTemplate;
refreshPageTemplate = function(title) {
	coreRefreshPageTemplate(title);
	if (config.macros.tiddlersBar) config.macros.tiddlersBar.refresh(document.getElementById("tiddlersBar"));
}

ensureVisible=function (e) {return 0} //disable bottom scrolling (not useful now)

config.shadowTiddlers.StyleSheetTiddlersBar = "/*{{{*/\n";
config.shadowTiddlers.StyleSheetTiddlersBar += "#tiddlersBar .button {border:0}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += "#tiddlersBar .tab {white-space:nowrap}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += "#tiddlersBar {padding : 1em 0.5em 2px 0.5em}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += ".tabUnselected .tabButton, .tabSelected .tabButton {padding : 0 2px 0 2px; margin: 0 0 0 4px;}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += ".tiddler, .tabContents {border:1px [[ColorPalette::TertiaryPale]] solid;}\n";
config.shadowTiddlers.StyleSheetTiddlersBar +="/*}}}*/";
store.addNotification("StyleSheetTiddlersBar", refreshStyles);

config.refreshers.none = function(){return true;}
config.shadowTiddlers.PageTemplate=config.shadowTiddlers.PageTemplate.replace(/<div id='tiddlerDisplay'><\/div>/m,"<div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>\n<div id='tiddlerDisplay'></div>");

//}}}
/%
|Name|ToggleRightSidebar|
|Source|http://www.TiddlyTools.com/#ToggleRightSidebar|
|Version|2.0.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|script|
|Requires|InlineJavascriptPlugin|
|Overrides||
|Description|show/hide right sidebar (MainMenu)|

Usage: <<tiddler ToggleRightSidebar with: "label">>

Config settings:
	config.options.chkShowRightSidebar (true)
	config.options.txtToggleRightSideBarLabelShow (◄)
	config.options.txtToggleRightSideBarLabelHide (►)

%/<script label="$1" title="show/hide right sidebar content">
	var co=config.options;
	if (co.chkShowRightSidebar=='undefined') co.chkShowRightSidebar=true;
	co.chkShowRightSidebar=!co.chkShowRightSidebar;
	var sb=document.getElementById('sidebar'); if (!sb) return;
	sb.style.display=co.chkShowRightSidebar?'block':'none';
	document.getElementById('displayArea').style.marginRight=co.chkShowRightSidebar?'':'1em';
	saveOptionCookie('chkShowRightSidebar');
	var labelShow=co.txtToggleRightSideBarLabelShow||'&#x25C4;';
	var labelHide=co.txtToggleRightSideBarLabelHide||'&#x25BA;';
	if (typeof(place)!='undefined' && '$1'=='$'+'1') {
		place.innerHTML=co.chkShowRightSidebar?labelHide:labelShow;
		place.title=(co.chkShowRightSidebar?'hide':'show')+' right sidebar';
	}
	var sm=document.getElementById('storyMenu'); if (sm) config.refreshers.content(sm);
</script><script>
	var co=config.options;
	if (co.chkShowRightSidebar=='undefined') co.chkShowRightSidebar=true;
	var sb=document.getElementById('sidebar'); if (!sb) return;
	sb.style.display=co.chkShowRightSidebar?'block':'none';
	document.getElementById('displayArea').style.marginRight=co.chkShowRightSidebar?'':'1em';
	if ('$1'=='$'+'1') {
		var labelShow=co.txtToggleRightSideBarLabelShow||'&#x25C4;';
		var labelHide=co.txtToggleRightSideBarLabelHide||'&#x25BA;';
		place.lastChild.innerHTML=co.chkShowRightSidebar?labelHide:labelShow;
		place.lastChild.title=(co.chkShowRightSidebar?'hide':'show')+' right sidebar';
	}
</script>
/***
Description: Contains the stuff you need to use Tiddlyspot
Note, you also need UploadPlugin, PasswordOptionPlugin and LoadRemoteFileThroughProxy
from http://tiddlywiki.bidix.info for a complete working Tiddlyspot site.
***/
//{{{

// edit this if you are migrating sites or retrofitting an existing TW
config.tiddlyspotSiteId = 'punjabi';

// make it so you can by default see edit controls via http
config.options.chkHttpReadOnly = false;
window.readOnly = false; // make sure of it (for tw 2.2)
window.showBackstage = true; // show backstage too

// disable autosave in d3
if (window.location.protocol != "file:")
	config.options.chkGTDLazyAutoSave = false;

// tweak shadow tiddlers to add upload button, password entry box etc
with (config.shadowTiddlers) {
	SiteUrl = 'http://'+config.tiddlyspotSiteId+'.tiddlyspot.com';
	SideBarOptions = SideBarOptions.replace(/(<<saveChanges>>)/,"$1<<tiddler TspotSidebar>>");
	OptionsPanel = OptionsPanel.replace(/^/,"<<tiddler TspotOptions>>");
	DefaultTiddlers = DefaultTiddlers.replace(/^/,"[[WelcomeToTiddlyspot]] ");
	MainMenu = MainMenu.replace(/^/,"[[WelcomeToTiddlyspot]] ");
}

// create some shadow tiddler content
merge(config.shadowTiddlers,{

'WelcomeToTiddlyspot':[
 "This document is a ~TiddlyWiki from tiddlyspot.com.  A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //What now?// &nbsp;&nbsp;@@ Before you can save any changes, you need to enter your password in the form below.  Then configure privacy and other site settings at your [[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]] (your control panel username is //" + config.tiddlyspotSiteId + "//).",
 "<<tiddler TspotControls>>",
 "See also GettingStarted.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working online// &nbsp;&nbsp;@@ You can edit this ~TiddlyWiki right now, and save your changes using the \"save to web\" button in the column on the right.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// &nbsp;&nbsp;@@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick.  You can make changes and save them locally without being connected to the Internet.  When you're ready to sync up again, just click \"upload\" and your ~TiddlyWiki will be saved back to tiddlyspot.com.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Help!// &nbsp;&nbsp;@@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]].  Also visit [[TiddlyWiki.org|http://tiddlywiki.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help.  If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// &nbsp;&nbsp;@@ We hope you like using your tiddlyspot.com site.  Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions."
].join("\n"),

'TspotControls':[
 "| tiddlyspot password:|<<option pasUploadPassword>>|",
 "| site management:|<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">>//(requires tiddlyspot password)//<br>[[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]], [[download (go offline)|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download]]|",
 "| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[blog|http://tiddlyspot.blogspot.com/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|"
].join("\n"),

'TspotSidebar':[
 "<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">><html><a href='http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download' class='button'>download</a></html>"
].join("\n"),

'TspotOptions':[
 "tiddlyspot password:",
 "<<option pasUploadPassword>>",
 ""
].join("\n")

});
//}}}
<<upload http://punjabi.tiddlyspot.com/store.cgi index.html . .  punjabi>><html><a href='http://punjabi.tiddlyspot.com/download' class='button'>download</a></html>
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 03/10/2011 09:41:51 | Shavinder | [[/|http://punjabi.tiddlyspot.com/]] | [[store.cgi|http://punjabi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://punjabi.tiddlyspot.com/index.html]] | . |
| 05/02/2012 23:55:31 | Shavinder | [[/|http://punjabi.tiddlyspot.com/]] | [[store.cgi|http://punjabi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://punjabi.tiddlyspot.com/index.html]] | . |
| 06/02/2012 00:16:13 | Shavinder | [[punjabi.html|file:///C:/Users/sony/Dropbox/TWs/punjabi.html]] | [[store.cgi|http://punjabi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://punjabi.tiddlyspot.com/index.html]] | . |
| 06/02/2012 01:06:04 | Shavinder | [[punjabi.html|file:///C:/Users/sony/Dropbox/TWs/punjabi.html]] | [[store.cgi|http://punjabi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://punjabi.tiddlyspot.com/index.html]] | . | ok |
| 06/02/2012 01:11:30 | Shavinder | [[punjabi.html|file:///C:/Users/sony/Dropbox/TWs/punjabi.html]] | [[store.cgi|http://punjabi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://punjabi.tiddlyspot.com/index.html]] | . | ok |
| 06/02/2012 01:17:37 | Shavinder | [[punjabi.html|file:///C:/Users/sony/Dropbox/TWs/punjabi.html#]] | [[store.cgi|http://punjabi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://punjabi.tiddlyspot.com/index.html]] | . |
| 09/02/2012 10:31:10 | Shavinder | [[/|http://punjabi.tiddlyspot.com/#]] | [[store.cgi|http://punjabi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://punjabi.tiddlyspot.com/index.html]] | . |
| 15/02/2012 20:48:38 | Shavinder | [[/|http://punjabi.tiddlyspot.com/#]] | [[store.cgi|http://punjabi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://punjabi.tiddlyspot.com/index.html]] | . |
| 20/02/2012 00:08:03 | Shavinder | [[/|http://punjabi.tiddlyspot.com/#]] | [[store.cgi|http://punjabi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://punjabi.tiddlyspot.com/index.html]] | . |
| 14/12/2013 23:39:08 | Shavinder | [[/|http://punjabi.tiddlyspot.com/]] | [[store.cgi|http://punjabi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://punjabi.tiddlyspot.com/index.html]] | . |
/***
|''Name:''|UploadPlugin|
|''Description:''|Save to web a TiddlyWiki|
|''Version:''|4.1.3|
|''Date:''|Feb 24, 2008|
|''Source:''|http://tiddlywiki.bidix.info/#UploadPlugin|
|''Documentation:''|http://tiddlywiki.bidix.info/#UploadPluginDoc|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
|''Requires:''|PasswordOptionPlugin|
***/
//{{{
version.extensions.UploadPlugin = {
	major: 4, minor: 1, revision: 3,
	date: new Date("Feb 24, 2008"),
	source: 'http://tiddlywiki.bidix.info/#UploadPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	coreVersion: '2.2.0'
};

//
// Environment
//

if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false;	// true to activate both in Plugin and UploadService
	
//
// Upload Macro
//

config.macros.upload = {
// default values
	defaultBackupDir: '',	//no backup
	defaultStoreScript: "store.php",
	defaultToFilename: "index.html",
	defaultUploadDir: ".",
	authenticateUser: true	// UploadService Authenticate User
};
	
config.macros.upload.label = {
	promptOption: "Save and Upload this TiddlyWiki with UploadOptions",
	promptParamMacro: "Save and Upload this TiddlyWiki in %0",
	saveLabel: "save to web", 
	saveToDisk: "save to disk",
	uploadLabel: "upload"	
};

config.macros.upload.messages = {
	noStoreUrl: "No store URL in parmeters or options",
	usernameOrPasswordMissing: "Username or password missing"
};

config.macros.upload.handler = function(place,macroName,params) {
	if (readOnly)
		return;
	var label;
	if (document.location.toString().substr(0,4) == "http") 
		label = this.label.saveLabel;
	else
		label = this.label.uploadLabel;
	var prompt;
	if (params[0]) {
		prompt = this.label.promptParamMacro.toString().format([this.destFile(params[0], 
			(params[1] ? params[1]:bidix.basename(window.location.toString())), params[3])]);
	} else {
		prompt = this.label.promptOption;
	}
	createTiddlyButton(place, label, prompt, function() {config.macros.upload.action(params);}, null, null, this.accessKey);
};

config.macros.upload.action = function(params)
{
		// for missing macro parameter set value from options
		if (!params) params = {};
		var storeUrl = params[0] ? params[0] : config.options.txtUploadStoreUrl;
		var toFilename = params[1] ? params[1] : config.options.txtUploadFilename;
		var backupDir = params[2] ? params[2] : config.options.txtUploadBackupDir;
		var uploadDir = params[3] ? params[3] : config.options.txtUploadDir;
		var username = params[4] ? params[4] : config.options.txtUploadUserName;
		var password = config.options.pasUploadPassword; // for security reason no password as macro parameter	
		// for still missing parameter set default value
		if ((!storeUrl) && (document.location.toString().substr(0,4) == "http")) 
			storeUrl = bidix.dirname(document.location.toString())+'/'+config.macros.upload.defaultStoreScript;
		if (storeUrl.substr(0,4) != "http")
			storeUrl = bidix.dirname(document.location.toString()) +'/'+ storeUrl;
		if (!toFilename)
			toFilename = bidix.basename(window.location.toString());
		if (!toFilename)
			toFilename = config.macros.upload.defaultToFilename;
		if (!uploadDir)
			uploadDir = config.macros.upload.defaultUploadDir;
		if (!backupDir)
			backupDir = config.macros.upload.defaultBackupDir;
		// report error if still missing
		if (!storeUrl) {
			alert(config.macros.upload.messages.noStoreUrl);
			clearMessage();
			return false;
		}
		if (config.macros.upload.authenticateUser && (!username || !password)) {
			alert(config.macros.upload.messages.usernameOrPasswordMissing);
			clearMessage();
			return false;
		}
		bidix.upload.uploadChanges(false,null,storeUrl, toFilename, uploadDir, backupDir, username, password); 
		return false; 
};

config.macros.upload.destFile = function(storeUrl, toFilename, uploadDir) 
{
	if (!storeUrl)
		return null;
		var dest = bidix.dirname(storeUrl);
		if (uploadDir && uploadDir != '.')
			dest = dest + '/' + uploadDir;
		dest = dest + '/' + toFilename;
	return dest;
};

//
// uploadOptions Macro
//

config.macros.uploadOptions = {
	handler: function(place,macroName,params) {
		var wizard = new Wizard();
		wizard.createWizard(place,this.wizardTitle);
		wizard.addStep(this.step1Title,this.step1Html);
		var markList = wizard.getElement("markList");
		var listWrapper = document.createElement("div");
		markList.parentNode.insertBefore(listWrapper,markList);
		wizard.setValue("listWrapper",listWrapper);
		this.refreshOptions(listWrapper,false);
		var uploadCaption;
		if (document.location.toString().substr(0,4) == "http") 
			uploadCaption = config.macros.upload.label.saveLabel;
		else
			uploadCaption = config.macros.upload.label.uploadLabel;
		
		wizard.setButtons([
				{caption: uploadCaption, tooltip: config.macros.upload.label.promptOption, 
					onClick: config.macros.upload.action},
				{caption: this.cancelButton, tooltip: this.cancelButtonPrompt, onClick: this.onCancel}
				
			]);
	},
	options: [
		"txtUploadUserName",
		"pasUploadPassword",
		"txtUploadStoreUrl",
		"txtUploadDir",
		"txtUploadFilename",
		"txtUploadBackupDir",
		"chkUploadLog",
		"txtUploadLogMaxLine"		
	],
	refreshOptions: function(listWrapper) {
		var opts = [];
		for(i=0; i<this.options.length; i++) {
			var opt = {};
			opts.push();
			opt.option = "";
			n = this.options[i];
			opt.name = n;
			opt.lowlight = !config.optionsDesc[n];
			opt.description = opt.lowlight ? this.unknownDescription : config.optionsDesc[n];
			opts.push(opt);
		}
		var listview = ListView.create(listWrapper,opts,this.listViewTemplate);
		for(n=0; n<opts.length; n++) {
			var type = opts[n].name.substr(0,3);
			var h = config.macros.option.types[type];
			if (h && h.create) {
				h.create(opts[n].colElements['option'],type,opts[n].name,opts[n].name,"no");
			}
		}
		
	},
	onCancel: function(e)
	{
		backstage.switchTab(null);
		return false;
	},
	
	wizardTitle: "Upload with options",
	step1Title: "These options are saved in cookies in your browser",
	step1Html: "<input type='hidden' name='markList'></input><br>",
	cancelButton: "Cancel",
	cancelButtonPrompt: "Cancel prompt",
	listViewTemplate: {
		columns: [
			{name: 'Description', field: 'description', title: "Description", type: 'WikiText'},
			{name: 'Option', field: 'option', title: "Option", type: 'String'},
			{name: 'Name', field: 'name', title: "Name", type: 'String'}
			],
		rowClasses: [
			{className: 'lowlight', field: 'lowlight'} 
			]}
};

//
// upload functions
//

if (!bidix.upload) bidix.upload = {};

if (!bidix.upload.messages) bidix.upload.messages = {
	//from saving
	invalidFileError: "The original file '%0' does not appear to be a valid TiddlyWiki",
	backupSaved: "Backup saved",
	backupFailed: "Failed to upload backup file",
	rssSaved: "RSS feed uploaded",
	rssFailed: "Failed to upload RSS feed file",
	emptySaved: "Empty template uploaded",
	emptyFailed: "Failed to upload empty template file",
	mainSaved: "Main TiddlyWiki file uploaded",
	mainFailed: "Failed to upload main TiddlyWiki file. Your changes have not been saved",
	//specific upload
	loadOriginalHttpPostError: "Can't get original file",
	aboutToSaveOnHttpPost: 'About to upload on %0 ...',
	storePhpNotFound: "The store script '%0' was not found."
};

bidix.upload.uploadChanges = function(onlyIfDirty,tiddlers,storeUrl,toFilename,uploadDir,backupDir,username,password)
{
	var callback = function(status,uploadParams,original,url,xhr) {
		if (!status) {
			displayMessage(bidix.upload.messages.loadOriginalHttpPostError);
			return;
		}
		if (bidix.debugMode) 
			alert(original.substr(0,500)+"\n...");
		// Locate the storeArea div's 
		var posDiv = locateStoreArea(original);
		if((posDiv[0] == -1) || (posDiv[1] == -1)) {
			alert(config.messages.invalidFileError.format([localPath]));
			return;
		}
		bidix.upload.uploadRss(uploadParams,original,posDiv);
	};
	
	if(onlyIfDirty && !store.isDirty())
		return;
	clearMessage();
	// save on localdisk ?
	if (document.location.toString().substr(0,4) == "file") {
		var path = document.location.toString();
		var localPath = getLocalPath(path);
		saveChanges();
	}
	// get original
	var uploadParams = new Array(storeUrl,toFilename,uploadDir,backupDir,username,password);
	var originalPath = document.location.toString();
	// If url is a directory : add index.html
	if (originalPath.charAt(originalPath.length-1) == "/")
		originalPath = originalPath + "index.html";
	var dest = config.macros.upload.destFile(storeUrl,toFilename,uploadDir);
	var log = new bidix.UploadLog();
	log.startUpload(storeUrl, dest, uploadDir,  backupDir);
	displayMessage(bidix.upload.messages.aboutToSaveOnHttpPost.format([dest]));
	if (bidix.debugMode) 
		alert("about to execute Http - GET on "+originalPath);
	var r = doHttp("GET",originalPath,null,null,username,password,callback,uploadParams,null);
	if (typeof r == "string")
		displayMessage(r);
	return r;
};

bidix.upload.uploadRss = function(uploadParams,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		if(status) {
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
			displayMessage(bidix.upload.messages.rssSaved,bidix.dirname(url)+'/'+destfile);
			bidix.upload.uploadMain(params[0],params[1],params[2]);
		} else {
			displayMessage(bidix.upload.messages.rssFailed);			
		}
	};
	// do uploadRss
	if(config.options.chkGenerateAnRssFeed) {
		var rssPath = uploadParams[1].substr(0,uploadParams[1].lastIndexOf(".")) + ".xml";
		var rssUploadParams = new Array(uploadParams[0],rssPath,uploadParams[2],'',uploadParams[4],uploadParams[5]);
		var rssString = generateRss();
		// no UnicodeToUTF8 conversion needed when location is "file" !!!
		if (document.location.toString().substr(0,4) != "file")
			rssString = convertUnicodeToUTF8(rssString);	
		bidix.upload.httpUpload(rssUploadParams,rssString,callback,Array(uploadParams,original,posDiv));
	} else {
		bidix.upload.uploadMain(uploadParams,original,posDiv);
	}
};

bidix.upload.uploadMain = function(uploadParams,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		var log = new bidix.UploadLog();
		if(status) {
			// if backupDir specified
			if ((params[3]) && (responseText.indexOf("backupfile:") > -1))  {
				var backupfile = responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:")));
				displayMessage(bidix.upload.messages.backupSaved,bidix.dirname(url)+'/'+backupfile);
			}
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
			displayMessage(bidix.upload.messages.mainSaved,bidix.dirname(url)+'/'+destfile);
			store.setDirty(false);
			log.endUpload("ok");
		} else {
			alert(bidix.upload.messages.mainFailed);
			displayMessage(bidix.upload.messages.mainFailed);
			log.endUpload("failed");			
		}
	};
	// do uploadMain
	var revised = bidix.upload.updateOriginal(original,posDiv);
	bidix.upload.httpUpload(uploadParams,revised,callback,uploadParams);
};

bidix.upload.httpUpload = function(uploadParams,data,callback,params)
{
	var localCallback = function(status,params,responseText,url,xhr) {
		url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
		if (xhr.status == 404)
			alert(bidix.upload.messages.storePhpNotFound.format([url]));
		if ((bidix.debugMode) || (responseText.indexOf("Debug mode") >= 0 )) {
			alert(responseText);
			if (responseText.indexOf("Debug mode") >= 0 )
				responseText = responseText.substring(responseText.indexOf("\n\n")+2);
		} else if (responseText.charAt(0) != '0') 
			alert(responseText);
		if (responseText.charAt(0) != '0')
			status = null;
		callback(status,params,responseText,url,xhr);
	};
	// do httpUpload
	var boundary = "---------------------------"+"AaB03x";	
	var uploadFormName = "UploadPlugin";
	// compose headers data
	var sheader = "";
	sheader += "--" + boundary + "\r\nContent-disposition: form-data; name=\"";
	sheader += uploadFormName +"\"\r\n\r\n";
	sheader += "backupDir="+uploadParams[3] +
				";user=" + uploadParams[4] +
				";password=" + uploadParams[5] +
				";uploaddir=" + uploadParams[2];
	if (bidix.debugMode)
		sheader += ";debug=1";
	sheader += ";;\r\n"; 
	sheader += "\r\n" + "--" + boundary + "\r\n";
	sheader += "Content-disposition: form-data; name=\"userfile\"; filename=\""+uploadParams[1]+"\"\r\n";
	sheader += "Content-Type: text/html;charset=UTF-8" + "\r\n";
	sheader += "Content-Length: " + data.length + "\r\n\r\n";
	// compose trailer data
	var strailer = new String();
	strailer = "\r\n--" + boundary + "--\r\n";
	data = sheader + data + strailer;
	if (bidix.debugMode) alert("about to execute Http - POST on "+uploadParams[0]+"\n with \n"+data.substr(0,500)+ " ... ");
	var r = doHttp("POST",uploadParams[0],data,"multipart/form-data; ;charset=UTF-8; boundary="+boundary,uploadParams[4],uploadParams[5],localCallback,params,null);
	if (typeof r == "string")
		displayMessage(r);
	return r;
};

// same as Saving's updateOriginal but without convertUnicodeToUTF8 calls
bidix.upload.updateOriginal = function(original, posDiv)
{
	if (!posDiv)
		posDiv = locateStoreArea(original);
	if((posDiv[0] == -1) || (posDiv[1] == -1)) {
		alert(config.messages.invalidFileError.format([localPath]));
		return;
	}
	var revised = original.substr(0,posDiv[0] + startSaveArea.length) + "\n" +
				store.allTiddlersAsHtml() + "\n" +
				original.substr(posDiv[1]);
	var newSiteTitle = getPageTitle().htmlEncode();
	revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");
	revised = updateMarkupBlock(revised,"PRE-HEAD","MarkupPreHead");
	revised = updateMarkupBlock(revised,"POST-HEAD","MarkupPostHead");
	revised = updateMarkupBlock(revised,"PRE-BODY","MarkupPreBody");
	revised = updateMarkupBlock(revised,"POST-SCRIPT","MarkupPostBody");
	return revised;
};

//
// UploadLog
// 
// config.options.chkUploadLog :
//		false : no logging
//		true : logging
// config.options.txtUploadLogMaxLine :
//		-1 : no limit
//      0 :  no Log lines but UploadLog is still in place
//		n :  the last n lines are only kept
//		NaN : no limit (-1)

bidix.UploadLog = function() {
	if (!config.options.chkUploadLog) 
		return; // this.tiddler = null
	this.tiddler = store.getTiddler("UploadLog");
	if (!this.tiddler) {
		this.tiddler = new Tiddler();
		this.tiddler.title = "UploadLog";
		this.tiddler.text = "| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |";
		this.tiddler.created = new Date();
		this.tiddler.modifier = config.options.txtUserName;
		this.tiddler.modified = new Date();
		store.addTiddler(this.tiddler);
	}
	return this;
};

bidix.UploadLog.prototype.addText = function(text) {
	if (!this.tiddler)
		return;
	// retrieve maxLine when we need it
	var maxLine = parseInt(config.options.txtUploadLogMaxLine,10);
	if (isNaN(maxLine))
		maxLine = -1;
	// add text
	if (maxLine != 0) 
		this.tiddler.text = this.tiddler.text + text;
	// Trunck to maxLine
	if (maxLine >= 0) {
		var textArray = this.tiddler.text.split('\n');
		if (textArray.length > maxLine + 1)
			textArray.splice(1,textArray.length-1-maxLine);
			this.tiddler.text = textArray.join('\n');		
	}
	// update tiddler fields
	this.tiddler.modifier = config.options.txtUserName;
	this.tiddler.modified = new Date();
	store.addTiddler(this.tiddler);
	// refresh and notifiy for immediate update
	story.refreshTiddler(this.tiddler.title);
	store.notify(this.tiddler.title, true);
};

bidix.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir,  backupDir) {
	if (!this.tiddler)
		return;
	var now = new Date();
	var text = "\n| ";
	var filename = bidix.basename(document.location.toString());
	if (!filename) filename = '/';
	text += now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") +" | ";
	text += config.options.txtUserName + " | ";
	text += "[["+filename+"|"+location + "]] |";
	text += " [[" + bidix.basename(storeUrl) + "|" + storeUrl + "]] | ";
	text += uploadDir + " | ";
	text += "[[" + bidix.basename(toFilename) + " | " +toFilename + "]] | ";
	text += backupDir + " |";
	this.addText(text);
};

bidix.UploadLog.prototype.endUpload = function(status) {
	if (!this.tiddler)
		return;
	this.addText(" "+status+" |");
};

//
// Utilities
// 

bidix.checkPlugin = function(plugin, major, minor, revision) {
	var ext = version.extensions[plugin];
	if (!
		(ext  && 
			((ext.major > major) || 
			((ext.major == major) && (ext.minor > minor))  ||
			((ext.major == major) && (ext.minor == minor) && (ext.revision >= revision))))) {
			// write error in PluginManager
			if (pluginInfo)
				pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision);
			eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined"
	}
};

bidix.dirname = function(filePath) {
	if (!filePath) 
		return;
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(0, lastpos);
	} else {
		return filePath.substring(0, filePath.lastIndexOf("\\"));
	}
};

bidix.basename = function(filePath) {
	if (!filePath) 
		return;
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("#")) != -1) 
		filePath = filePath.substring(0, lastpos);
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(lastpos + 1);
	} else
		return filePath.substring(filePath.lastIndexOf("\\")+1);
};

bidix.initOption = function(name,value) {
	if (!config.options[name])
		config.options[name] = value;
};

//
// Initializations
//

// require PasswordOptionPlugin 1.0.1 or better
bidix.checkPlugin("PasswordOptionPlugin", 1, 0, 1);

// styleSheet
setStylesheet('.txtUploadStoreUrl, .txtUploadBackupDir, .txtUploadDir {width: 22em;}',"uploadPluginStyles");

//optionsDesc
merge(config.optionsDesc,{
	txtUploadStoreUrl: "Url of the UploadService script (default: store.php)",
	txtUploadFilename: "Filename of the uploaded file (default: in index.html)",
	txtUploadDir: "Relative Directory where to store the file (default: . (downloadService directory))",
	txtUploadBackupDir: "Relative Directory where to backup the file. If empty no backup. (default: ''(empty))",
	txtUploadUserName: "Upload Username",
	pasUploadPassword: "Upload Password",
	chkUploadLog: "do Logging in UploadLog (default: true)",
	txtUploadLogMaxLine: "Maximum of lines in UploadLog (default: 10)"
});

// Options Initializations
bidix.initOption('txtUploadStoreUrl','');
bidix.initOption('txtUploadFilename','');
bidix.initOption('txtUploadDir','');
bidix.initOption('txtUploadBackupDir','');
bidix.initOption('txtUploadUserName','');
bidix.initOption('pasUploadPassword','');
bidix.initOption('chkUploadLog',true);
bidix.initOption('txtUploadLogMaxLine','10');


// Backstage
merge(config.tasks,{
	uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: '<<uploadOptions>>'}
});
config.backstageTasks.push("uploadOptions");


//}}}

This site is a collection of tutorials, articles, poems and essays on Punjabi as well as in Punjabi. Punjabi is the native language of the Punjab region in India and Pakistan. It is written in [[Gurmukhi |B. Gurmukhi Script]] script. According to [[wikipedia|http://en.wikipedia.org/wiki/Punjabi_language]] :
<<<
Punjabi is the most spoken language in Pakistan and 11th most spoken language in India and 3rd most spoken language in South Asia. According to the Ethnologue 2005 estimate, there are 88 million native speakers of the Punjabi language, which makes it approximately the 11th most widely spoken language in the world. According to the 2008 Census of Pakistan, there are approximately 76,335,300 native speakers of Punjabi in Pakistan, and according to the Census of India, there are over 29,102,477 Punjabi speakers in India
<<<
Enjoy your visit
[[Shavinder]]
----
ps- For downloading a blank tiddlywiki in punjabi 
 ਪੰਜਾਬੀ ਭਾਸ਼ਾ ਵਿਚ ਟਿਡਲੀਵਿਕੀ ਡਾਊਨਲੋਡ ਕਰਣ ਲਈ ਇਥੇ ਜਾਵੋ 
http://punjabitw.tiddlyspot.com
config.options.txtUserName = "Shavinder";
config.options.chkHttpReadOnly = true; 
config.options.chkSaveBackups = false;
config.options.chkAutoSave = true;

config.options.chkShowRightSidebar = false;