Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSantiago Collazo <scollazo@activitycentral.com>2013-06-25 13:53:41 (GMT)
committer Santiago Collazo <scollazo@activitycentral.com>2013-06-25 13:53:41 (GMT)
commit8176f9cd559e2e9fbd0c4d2a164d295a0d6397ba (patch)
tree7021b72f86317b59429502ddb47afc4c35227bea
parenta1ceefe0b13de422c7a81324eee124c31cae5116 (diff)
parentf4a1fe3174857ab308bcf5bad612e187f11614e7 (diff)
Merge remote branch 'ajay/0.97.7-as-base' into devel
Conflicts: po/es.po
-rw-r--r--configure.ac4
-rw-r--r--data/ISO-639-2_utf-8.txt486
-rw-r--r--data/Makefile.am1
-rw-r--r--extensions/cpsection/keyboard/model.py70
-rw-r--r--extensions/cpsection/keyboard/view.py121
-rw-r--r--extensions/deviceicon/battery.py2
-rw-r--r--po/POTFILES.in3
-rw-r--r--po/ayc.po474
-rw-r--r--po/ne.po418
-rw-r--r--src/jarabe/desktop/activitieslist.py83
-rw-r--r--src/jarabe/desktop/favoritesview.py79
11 files changed, 1194 insertions, 547 deletions
diff --git a/configure.ac b/configure.ac
index 2552569..680e50c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,11 +1,11 @@
-AC_INIT([Sugar],[0.98.7],[],[sugar])
+AC_INIT([Sugar],[0.98.8],[],[sugar])
AC_PREREQ([2.59])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([configure.ac])
-SUCROSE_VERSION="0.98.7"
+SUCROSE_VERSION="0.98.8"
AC_SUBST(SUCROSE_VERSION)
AM_INIT_AUTOMAKE([1.9 foreign dist-bzip2 no-dist-gzip])
diff --git a/data/ISO-639-2_utf-8.txt b/data/ISO-639-2_utf-8.txt
new file mode 100644
index 0000000..e2ba0be
--- /dev/null
+++ b/data/ISO-639-2_utf-8.txt
@@ -0,0 +1,486 @@
+aar||aa|Afar|afar
+abk||ab|Abkhazian|abkhaze
+ace|||Achinese|aceh
+ach|||Acoli|acoli
+ada|||Adangme|adangme
+ady|||Adyghe; Adygei|adyghé
+afa|||Afro-Asiatic languages|afro-asiatiques, langues
+afh|||Afrihili|afrihili
+afr||af|Afrikaans|afrikaans
+ain|||Ainu|aïnou
+aka||ak|Akan|akan
+akk|||Akkadian|akkadien
+alb|sqi|sq|Albanian|albanais
+ale|||Aleut|aléoute
+alg|||Algonquian languages|algonquines, langues
+alt|||Southern Altai|altai du Sud
+amh||am|Amharic|amharique
+ang|||English, Old (ca.450-1100)|anglo-saxon (ca.450-1100)
+anp|||Angika|angika
+apa|||Apache languages|apaches, langues
+ara||ar|Arabic|arabe
+arc|||Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE)|araméen d'empire (700-300 BCE)
+arg||an|Aragonese|aragonais
+arm|hye|hy|Armenian|arménien
+arn|||Mapudungun; Mapuche|mapudungun; mapuche; mapuce
+arp|||Arapaho|arapaho
+art|||Artificial languages|artificielles, langues
+arw|||Arawak|arawak
+asm||as|Assamese|assamais
+ast|||Asturian; Bable; Leonese; Asturleonese|asturien; bable; léonais; asturoléonais
+ath|||Athapascan languages|athapascanes, langues
+aus|||Australian languages|australiennes, langues
+ava||av|Avaric|avar
+ave||ae|Avestan|avestique
+awa|||Awadhi|awadhi
+aym||ay|Aymara|aymara
+aze||az|Azerbaijani|azéri
+bad|||Banda languages|banda, langues
+bai|||Bamileke languages|bamiléké, langues
+bak||ba|Bashkir|bachkir
+bal|||Baluchi|baloutchi
+bam||bm|Bambara|bambara
+ban|||Balinese|balinais
+baq|eus|eu|Basque|basque
+bas|||Basa|basa
+bat|||Baltic languages|baltes, langues
+bej|||Beja; Bedawiyet|bedja
+bel||be|Belarusian|biélorusse
+bem|||Bemba|bemba
+ben||bn|Bengali|bengali
+ber|||Berber languages|berbères, langues
+bho|||Bhojpuri|bhojpuri
+bih||bh|Bihari languages|langues biharis
+bik|||Bikol|bikol
+bin|||Bini; Edo|bini; edo
+bis||bi|Bislama|bichlamar
+bla|||Siksika|blackfoot
+bnt|||Bantu (Other)|bantoues, autres langues
+bos||bs|Bosnian|bosniaque
+bra|||Braj|braj
+bre||br|Breton|breton
+btk|||Batak languages|batak, langues
+bua|||Buriat|bouriate
+bug|||Buginese|bugi
+bul||bg|Bulgarian|bulgare
+bur|mya|my|Burmese|birman
+byn|||Blin; Bilin|blin; bilen
+cad|||Caddo|caddo
+cai|||Central American Indian languages|amérindiennes de L'Amérique centrale, langues
+car|||Galibi Carib|karib; galibi; carib
+cat||ca|Catalan; Valencian|catalan; valencien
+cau|||Caucasian languages|caucasiennes, langues
+ceb|||Cebuano|cebuano
+cel|||Celtic languages|celtiques, langues; celtes, langues
+cha||ch|Chamorro|chamorro
+chb|||Chibcha|chibcha
+che||ce|Chechen|tchétchène
+chg|||Chagatai|djaghataï
+chi|zho|zh|Chinese|chinois
+chk|||Chuukese|chuuk
+chm|||Mari|mari
+chn|||Chinook jargon|chinook, jargon
+cho|||Choctaw|choctaw
+chp|||Chipewyan; Dene Suline|chipewyan
+chr|||Cherokee|cherokee
+chu||cu|Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic|slavon d'église; vieux slave; slavon liturgique; vieux bulgare
+chv||cv|Chuvash|tchouvache
+chy|||Cheyenne|cheyenne
+cmc|||Chamic languages|chames, langues
+cop|||Coptic|copte
+cor||kw|Cornish|cornique
+cos||co|Corsican|corse
+cpe|||Creoles and pidgins, English based|créoles et pidgins basés sur l'anglais
+cpf|||Creoles and pidgins, French-based |créoles et pidgins basés sur le français
+cpp|||Creoles and pidgins, Portuguese-based |créoles et pidgins basés sur le portugais
+cre||cr|Cree|cree
+crh|||Crimean Tatar; Crimean Turkish|tatar de Crimé
+crp|||Creoles and pidgins |créoles et pidgins
+csb|||Kashubian|kachoube
+cus|||Cushitic languages|couchitiques, langues
+cze|ces|cs|Czech|tchèque
+dak|||Dakota|dakota
+dan||da|Danish|danois
+dar|||Dargwa|dargwa
+day|||Land Dayak languages|dayak, langues
+del|||Delaware|delaware
+den|||Slave (Athapascan)|esclave (athapascan)
+dgr|||Dogrib|dogrib
+din|||Dinka|dinka
+div||dv|Divehi; Dhivehi; Maldivian|maldivien
+doi|||Dogri|dogri
+dra|||Dravidian languages|dravidiennes, langues
+dsb|||Lower Sorbian|bas-sorabe
+dua|||Duala|douala
+dum|||Dutch, Middle (ca.1050-1350)|néerlandais moyen (ca. 1050-1350)
+dut|nld|nl|Dutch; Flemish|néerlandais; flamand
+dyu|||Dyula|dioula
+dzo||dz|Dzongkha|dzongkha
+efi|||Efik|efik
+egy|||Egyptian (Ancient)|égyptien
+eka|||Ekajuk|ekajuk
+elx|||Elamite|élamite
+eng||en|English|anglais
+enm|||English, Middle (1100-1500)|anglais moyen (1100-1500)
+epo||eo|Esperanto|espéranto
+est||et|Estonian|estonien
+ewe||ee|Ewe|éwé
+ewo|||Ewondo|éwondo
+fan|||Fang|fang
+fao||fo|Faroese|féroïen
+fat|||Fanti|fanti
+fij||fj|Fijian|fidjien
+fil|||Filipino; Pilipino|filipino; pilipino
+fin||fi|Finnish|finnois
+fiu|||Finno-Ugrian languages|finno-ougriennes, langues
+fon|||Fon|fon
+fre|fra|fr|French|français
+frm|||French, Middle (ca.1400-1600)|français moyen (1400-1600)
+fro|||French, Old (842-ca.1400)|français ancien (842-ca.1400)
+frr|||Northern Frisian|frison septentrional
+frs|||Eastern Frisian|frison oriental
+fry||fy|Western Frisian|frison occidental
+ful||ff|Fulah|peul
+fur|||Friulian|frioulan
+gaa|||Ga|ga
+gay|||Gayo|gayo
+gba|||Gbaya|gbaya
+gem|||Germanic languages|germaniques, langues
+geo|kat|ka|Georgian|géorgien
+ger|deu|de|German|allemand
+gez|||Geez|guèze
+gil|||Gilbertese|kiribati
+gla||gd|Gaelic; Scottish Gaelic|gaélique; gaélique écossais
+gle||ga|Irish|irlandais
+glg||gl|Galician|galicien
+glv||gv|Manx|manx; mannois
+gmh|||German, Middle High (ca.1050-1500)|allemand, moyen haut (ca. 1050-1500)
+goh|||German, Old High (ca.750-1050)|allemand, vieux haut (ca. 750-1050)
+gon|||Gondi|gond
+gor|||Gorontalo|gorontalo
+got|||Gothic|gothique
+grb|||Grebo|grebo
+grc|||Greek, Ancient (to 1453)|grec ancien (jusqu'à 1453)
+gre|ell|el|Greek, Modern (1453-)|grec moderne (après 1453)
+grn||gn|Guarani|guarani
+gsw|||Swiss German; Alemannic; Alsatian|suisse alémanique; alémanique; alsacien
+guj||gu|Gujarati|goudjrati
+gwi|||Gwich'in|gwich'in
+hai|||Haida|haida
+hat||ht|Haitian; Haitian Creole|haïtien; créole haïtien
+hau||ha|Hausa|haoussa
+haw|||Hawaiian|hawaïen
+heb||he|Hebrew|hébreu
+her||hz|Herero|herero
+hil|||Hiligaynon|hiligaynon
+him|||Himachali languages; Western Pahari languages|langues himachalis; langues paharis occidentales
+hin||hi|Hindi|hindi
+hit|||Hittite|hittite
+hmn|||Hmong; Mong|hmong
+hmo||ho|Hiri Motu|hiri motu
+hrv||hr|Croatian|croate
+hsb|||Upper Sorbian|haut-sorabe
+hun||hu|Hungarian|hongrois
+hup|||Hupa|hupa
+iba|||Iban|iban
+ibo||ig|Igbo|igbo
+ice|isl|is|Icelandic|islandais
+ido||io|Ido|ido
+iii||ii|Sichuan Yi; Nuosu|yi de Sichuan
+ijo|||Ijo languages|ijo, langues
+iku||iu|Inuktitut|inuktitut
+ile||ie|Interlingue; Occidental|interlingue
+ilo|||Iloko|ilocano
+ina||ia|Interlingua (International Auxiliary Language Association)|interlingua (langue auxiliaire internationale)
+inc|||Indic languages|indo-aryennes, langues
+ind||id|Indonesian|indonésien
+ine|||Indo-European languages|indo-européennes, langues
+inh|||Ingush|ingouche
+ipk||ik|Inupiaq|inupiaq
+ira|||Iranian languages|iraniennes, langues
+iro|||Iroquoian languages|iroquoises, langues
+ita||it|Italian|italien
+jav||jv|Javanese|javanais
+jbo|||Lojban|lojban
+jpn||ja|Japanese|japonais
+jpr|||Judeo-Persian|judéo-persan
+jrb|||Judeo-Arabic|judéo-arabe
+kaa|||Kara-Kalpak|karakalpak
+kab|||Kabyle|kabyle
+kac|||Kachin; Jingpho|kachin; jingpho
+kal||kl|Kalaallisut; Greenlandic|groenlandais
+kam|||Kamba|kamba
+kan||kn|Kannada|kannada
+kar|||Karen languages|karen, langues
+kas||ks|Kashmiri|kashmiri
+kau||kr|Kanuri|kanouri
+kaw|||Kawi|kawi
+kaz||kk|Kazakh|kazakh
+kbd|||Kabardian|kabardien
+kha|||Khasi|khasi
+khi|||Khoisan languages|khoïsan, langues
+khm||km|Central Khmer|khmer central
+kho|||Khotanese; Sakan|khotanais; sakan
+kik||ki|Kikuyu; Gikuyu|kikuyu
+kin||rw|Kinyarwanda|rwanda
+kir||ky|Kirghiz; Kyrgyz|kirghiz
+kmb|||Kimbundu|kimbundu
+kok|||Konkani|konkani
+kom||kv|Komi|kom
+kon||kg|Kongo|kongo
+kor||ko|Korean|coréen
+kos|||Kosraean|kosrae
+kpe|||Kpelle|kpellé
+krc|||Karachay-Balkar|karatchai balkar
+krl|||Karelian|carélien
+kro|||Kru languages|krou, langues
+kru|||Kurukh|kurukh
+kua||kj|Kuanyama; Kwanyama|kuanyama; kwanyama
+kum|||Kumyk|koumyk
+kur||ku|Kurdish|kurde
+kut|||Kutenai|kutenai
+lad|||Ladino|judéo-espagnol
+lah|||Lahnda|lahnda
+lam|||Lamba|lamba
+lao||lo|Lao|lao
+lat||la|Latin|latin
+lav||lv|Latvian|letton
+lez|||Lezghian|lezghien
+lim||li|Limburgan; Limburger; Limburgish|limbourgeois
+lin||ln|Lingala|lingala
+lit||lt|Lithuanian|lituanien
+lol|||Mongo|mongo
+loz|||Lozi|lozi
+ltz||lb|Luxembourgish; Letzeburgesch|luxembourgeois
+lua|||Luba-Lulua|luba-lulua
+lub||lu|Luba-Katanga|luba-katanga
+lug||lg|Ganda|ganda
+lui|||Luiseno|luiseno
+lun|||Lunda|lunda
+luo|||Luo (Kenya and Tanzania)|luo (Kenya et Tanzanie)
+lus|||Lushai|lushai
+mac|mkd|mk|Macedonian|macédonien
+mad|||Madurese|madourais
+mag|||Magahi|magahi
+mah||mh|Marshallese|marshall
+mai|||Maithili|maithili
+mak|||Makasar|makassar
+mal||ml|Malayalam|malayalam
+man|||Mandingo|mandingue
+mao|mri|mi|Maori|maori
+map|||Austronesian languages|austronésiennes, langues
+mar||mr|Marathi|marathe
+mas|||Masai|massaï
+may|msa|ms|Malay|malais
+mdf|||Moksha|moksa
+mdr|||Mandar|mandar
+men|||Mende|mendé
+mga|||Irish, Middle (900-1200)|irlandais moyen (900-1200)
+mic|||Mi'kmaq; Micmac|mi'kmaq; micmac
+min|||Minangkabau|minangkabau
+mis|||Uncoded languages|langues non codées
+mkh|||Mon-Khmer languages|môn-khmer, langues
+mlg||mg|Malagasy|malgache
+mlt||mt|Maltese|maltais
+mnc|||Manchu|mandchou
+mni|||Manipuri|manipuri
+mno|||Manobo languages|manobo, langues
+moh|||Mohawk|mohawk
+mon||mn|Mongolian|mongol
+mos|||Mossi|moré
+mul|||Multiple languages|multilingue
+mun|||Munda languages|mounda, langues
+mus|||Creek|muskogee
+mwl|||Mirandese|mirandais
+mwr|||Marwari|marvari
+myn|||Mayan languages|maya, langues
+myv|||Erzya|erza
+nah|||Nahuatl languages|nahuatl, langues
+nai|||North American Indian languages|nord-amérindiennes, langues
+nap|||Neapolitan|napolitain
+nau||na|Nauru|nauruan
+nav||nv|Navajo; Navaho|navaho
+nbl||nr|Ndebele, South; South Ndebele|ndébélé du Sud
+nde||nd|Ndebele, North; North Ndebele|ndébélé du Nord
+ndo||ng|Ndonga|ndonga
+nds|||Low German; Low Saxon; German, Low; Saxon, Low|bas allemand; bas saxon; allemand, bas; saxon, bas
+nep||ne|Nepali|népalais
+new|||Nepal Bhasa; Newari|nepal bhasa; newari
+nia|||Nias|nias
+nic|||Niger-Kordofanian languages|nigéro-kordofaniennes, langues
+niu|||Niuean|niué
+nno||nn|Norwegian Nynorsk; Nynorsk, Norwegian|norvégien nynorsk; nynorsk, norvégien
+nob||nb|Bokmål, Norwegian; Norwegian Bokmål|norvégien bokmål
+nog|||Nogai|nogaï; nogay
+non|||Norse, Old|norrois, vieux
+nor||no|Norwegian|norvégien
+nqo|||N'Ko|n'ko
+nso|||Pedi; Sepedi; Northern Sotho|pedi; sepedi; sotho du Nord
+nub|||Nubian languages|nubiennes, langues
+nwc|||Classical Newari; Old Newari; Classical Nepal Bhasa|newari classique
+nya||ny|Chichewa; Chewa; Nyanja|chichewa; chewa; nyanja
+nym|||Nyamwezi|nyamwezi
+nyn|||Nyankole|nyankolé
+nyo|||Nyoro|nyoro
+nzi|||Nzima|nzema
+oci||oc|Occitan (post 1500); Provençal|occitan (après 1500); provençal
+oji||oj|Ojibwa|ojibwa
+ori||or|Oriya|oriya
+orm||om|Oromo|galla
+osa|||Osage|osage
+oss||os|Ossetian; Ossetic|ossète
+ota|||Turkish, Ottoman (1500-1928)|turc ottoman (1500-1928)
+oto|||Otomian languages|otomi, langues
+paa|||Papuan languages|papoues, langues
+pag|||Pangasinan|pangasinan
+pal|||Pahlavi|pahlavi
+pam|||Pampanga; Kapampangan|pampangan
+pan||pa|Panjabi; Punjabi|pendjabi
+pap|||Papiamento|papiamento
+pau|||Palauan|palau
+peo|||Persian, Old (ca.600-400 B.C.)|perse, vieux (ca. 600-400 av. J.-C.)
+per|fas|fa|Persian|persan
+phi|||Philippine languages|philippines, langues
+phn|||Phoenician|phénicien
+pli||pi|Pali|pali
+pol||pl|Polish|polonais
+pon|||Pohnpeian|pohnpei
+por||pt|Portuguese|portugais
+pra|||Prakrit languages|prâkrit, langues
+pro|||Provençal, Old (to 1500)|provençal ancien (jusqu'à 1500)
+pus||ps|Pushto; Pashto|pachto
+qaa-qtz|||Reserved for local use|réservée à l'usage local
+que||qu|Quechua|quechua
+raj|||Rajasthani|rajasthani
+rap|||Rapanui|rapanui
+rar|||Rarotongan; Cook Islands Maori|rarotonga; maori des îles Cook
+roa|||Romance languages|romanes, langues
+roh||rm|Romansh|romanche
+rom|||Romany|tsigane
+rum|ron|ro|Romanian; Moldavian; Moldovan|roumain; moldave
+run||rn|Rundi|rundi
+rup|||Aromanian; Arumanian; Macedo-Romanian|aroumain; macédo-roumain
+rus||ru|Russian|russe
+sad|||Sandawe|sandawe
+sag||sg|Sango|sango
+sah|||Yakut|iakoute
+sai|||South American Indian (Other)|indiennes d'Amérique du Sud, autres langues
+sal|||Salishan languages|salishennes, langues
+sam|||Samaritan Aramaic|samaritain
+san||sa|Sanskrit|sanskrit
+sas|||Sasak|sasak
+sat|||Santali|santal
+scn|||Sicilian|sicilien
+sco|||Scots|écossais
+sel|||Selkup|selkoupe
+sem|||Semitic languages|sémitiques, langues
+sga|||Irish, Old (to 900)|irlandais ancien (jusqu'à 900)
+sgn|||Sign Languages|langues des signes
+shn|||Shan|chan
+sid|||Sidamo|sidamo
+sin||si|Sinhala; Sinhalese|singhalais
+sio|||Siouan languages|sioux, langues
+sit|||Sino-Tibetan languages|sino-tibétaines, langues
+sla|||Slavic languages|slaves, langues
+slo|slk|sk|Slovak|slovaque
+slv||sl|Slovenian|slovène
+sma|||Southern Sami|sami du Sud
+sme||se|Northern Sami|sami du Nord
+smi|||Sami languages|sames, langues
+smj|||Lule Sami|sami de Lule
+smn|||Inari Sami|sami d'Inari
+smo||sm|Samoan|samoan
+sms|||Skolt Sami|sami skolt
+sna||sn|Shona|shona
+snd||sd|Sindhi|sindhi
+snk|||Soninke|soninké
+sog|||Sogdian|sogdien
+som||so|Somali|somali
+son|||Songhai languages|songhai, langues
+sot||st|Sotho, Southern|sotho du Sud
+spa||es|Spanish; Castilian|espagnol; castillan
+srd||sc|Sardinian|sarde
+srn|||Sranan Tongo|sranan tongo
+srp||sr|Serbian|serbe
+srr|||Serer|sérère
+ssa|||Nilo-Saharan languages|nilo-sahariennes, langues
+ssw||ss|Swati|swati
+suk|||Sukuma|sukuma
+sun||su|Sundanese|soundanais
+sus|||Susu|soussou
+sux|||Sumerian|sumérien
+swa||sw|Swahili|swahili
+swe||sv|Swedish|suédois
+syc|||Classical Syriac|syriaque classique
+syr|||Syriac|syriaque
+tah||ty|Tahitian|tahitien
+tai|||Tai languages|tai, langues
+tam||ta|Tamil|tamoul
+tat||tt|Tatar|tatar
+tel||te|Telugu|télougou
+tem|||Timne|temne
+ter|||Tereno|tereno
+tet|||Tetum|tetum
+tgk||tg|Tajik|tadjik
+tgl||tl|Tagalog|tagalog
+tha||th|Thai|thaï
+tib|bod|bo|Tibetan|tibétain
+tig|||Tigre|tigré
+tir||ti|Tigrinya|tigrigna
+tiv|||Tiv|tiv
+tkl|||Tokelau|tokelau
+tlh|||Klingon; tlhIngan-Hol|klingon
+tli|||Tlingit|tlingit
+tmh|||Tamashek|tamacheq
+tog|||Tonga (Nyasa)|tonga (Nyasa)
+ton||to|Tonga (Tonga Islands)|tongan (Îles Tonga)
+tpi|||Tok Pisin|tok pisin
+tsi|||Tsimshian|tsimshian
+tsn||tn|Tswana|tswana
+tso||ts|Tsonga|tsonga
+tuk||tk|Turkmen|turkmène
+tum|||Tumbuka|tumbuka
+tup|||Tupi languages|tupi, langues
+tur||tr|Turkish|turc
+tut|||Altaic languages|altaïques, langues
+tvl|||Tuvalu|tuvalu
+twi||tw|Twi|twi
+tyv|||Tuvinian|touva
+udm|||Udmurt|oudmourte
+uga|||Ugaritic|ougaritique
+uig||ug|Uighur; Uyghur|ouïgour
+ukr||uk|Ukrainian|ukrainien
+umb|||Umbundu|umbundu
+und|||Undetermined|indéterminée
+urd||ur|Urdu|ourdou
+uzb||uz|Uzbek|ouszbek
+vai|||Vai|vaï
+ven||ve|Venda|venda
+vie||vi|Vietnamese|vietnamien
+vol||vo|Volapük|volapük
+vot|||Votic|vote
+wak|||Wakashan languages|wakashanes, langues
+wal|||Walamo|walamo
+war|||Waray|waray
+was|||Washo|washo
+wel|cym|cy|Welsh|gallois
+wen|||Sorbian languages|sorabes, langues
+wln||wa|Walloon|wallon
+wol||wo|Wolof|wolof
+xal|||Kalmyk; Oirat|kalmouk; oïrat
+xho||xh|Xhosa|xhosa
+yao|||Yao|yao
+yap|||Yapese|yapois
+yid||yi|Yiddish|yiddish
+yor||yo|Yoruba|yoruba
+ypk|||Yupik languages|yupik, langues
+zap|||Zapotec|zapotèque
+zbl|||Blissymbols; Blissymbolics; Bliss|symboles Bliss; Bliss
+zen|||Zenaga|zenaga
+zgh|||Standard Moroccan Tamazight|amazighe standard marocain
+zha||za|Zhuang; Chuang|zhuang; chuang
+znd|||Zande languages|zandé, langues
+zul||zu|Zulu|zoulou
+zun|||Zuni|zuni
+zxx|||No linguistic content; Not applicable|pas de contenu linguistique; non applicable
+zza|||Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki|zaza; dimili; dimli; kirdki; kirmanjki; zazaki \ No newline at end of file
diff --git a/data/Makefile.am b/data/Makefile.am
index 2a92ce1..b8f1c67 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -19,6 +19,7 @@ sugar-72-contrast.gtkrc: gtkrc-contrast.em
sugardir = $(pkgdatadir)/data
sugar_DATA = \
activities.defaults \
+ ISO-639-2_utf-8.txt \
kbdconfig \
mime.defaults \
GPLv2 \
diff --git a/extensions/cpsection/keyboard/model.py b/extensions/cpsection/keyboard/model.py
index bfd7e31..16f6a01 100644
--- a/extensions/cpsection/keyboard/model.py
+++ b/extensions/cpsection/keyboard/model.py
@@ -1,3 +1,4 @@
+# Copyright (C) 2013 Sugar Labs
# Copyright (C) 2009 OLPC
# Author: Sayamindu Dasgupta <sayamindu@laptop.org>
#
@@ -16,9 +17,11 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
-import xklavier
+from gi.repository import Xkl
from gi.repository import GConf
+from gi.repository import SugarExt
+import logging
_GROUP_NAME = 'grp' # The XKB name for group switch options
@@ -27,29 +30,35 @@ _OPTIONS_KEY = '/desktop/sugar/peripherals/keyboard/options'
_MODEL_KEY = '/desktop/sugar/peripherals/keyboard/model'
+def _item_str(s):
+ '''Convert a zero-terminated byte array to a proper str'''
+
+ i = s.find(b'\x00')
+ return s[:i].decode("utf-8")
+
+
class KeyboardManager(object):
def __init__(self, display):
- self._engine = xklavier.Engine(display)
- self._configregistry = xklavier.ConfigRegistry(self._engine)
+ self._engine = Xkl.Engine.get_instance(display)
+ self._configregistry = Xkl.ConfigRegistry.get_instance(self._engine)
self._configregistry.load(False)
- self._configrec = xklavier.ConfigRec()
+ self._configrec = Xkl.ConfigRec()
self._configrec.get_from_server(self._engine)
self._gconf_client = GConf.Client.get_default()
def _populate_one(self, config_registry, item, store):
- store.append([item.get_description(), item.get_name()])
+ store.append([_item_str(item.description), _item_str(item.name)])
def _populate_two(self, config_registry, item, subitem, store):
- layout = item.get_name()
+ layout = _item_str(item.name)
if subitem:
- description = '%s, %s' % (subitem.get_description(), \
- item.get_description())
- variant = subitem.get_name()
+ description = '%s, %s' % (_item_str(subitem.description),
+ _item_str(item.description))
+ variant = _item_str(subitem.name)
else:
- description = 'Default layout, %s' % item.get_description()
+ description = 'Default layout, %s' % _item_str(item.description)
variant = ''
-
store.append([description, ('%s(%s)' % (layout, variant))])
def get_models(self):
@@ -69,8 +78,9 @@ class KeyboardManager(object):
def get_layouts_for_language(self, language):
"""Return list of supported keyboard layouts for a given language"""
layouts = []
- self._configregistry.foreach_language_variant(language, \
- self._populate_two, layouts)
+ self._configregistry.foreach_language_variant(language,
+ self._populate_two,
+ layouts)
layouts.sort()
return layouts
@@ -85,18 +95,15 @@ class KeyboardManager(object):
def get_current_model(self):
"""Return the enabled keyboard model"""
model = self._gconf_client.get_string(_MODEL_KEY)
- if model:
- return model
- else:
- model = self._configrec.get_model()
+ if not model:
+ model = self._configrec.model
self.set_model(model)
- return model
+ return model
def get_current_layouts(self):
"""Return the enabled keyboard layouts with variants"""
# FIXME, gconf_client_get_list not introspectable #681433
- layouts_from_gconf = self._gconf_client.get(
- '/desktop/sugar/peripherals/keyboard/layouts')
+ layouts_from_gconf = self._gconf_client.get(_LAYOUTS_KEY)
layouts = []
if layouts_from_gconf:
for gval in layouts_from_gconf.get_list():
@@ -105,8 +112,8 @@ class KeyboardManager(object):
if layouts:
return layouts
- layouts = self._configrec.get_layouts()
- variants = self._configrec.get_variants()
+ layouts = self._configrec.layouts
+ variants = self._configrec.variants
layout_list = []
i = 0
@@ -118,22 +125,20 @@ class KeyboardManager(object):
i += 1
self.set_layouts(layout_list)
-
return layout_list
def get_current_option_group(self):
"""Return the enabled option for switching keyboard group"""
options = []
# FIXME, gconf_client_get_list not introspectable #681433
- options_from_gconf = gconf_client.get(\
- '/desktop/sugar/peripherals/keyboard/options')
+ options_from_gconf = self._gconf_client.get(_OPTIONS_KEY)
if options_from_gconf:
for gval in options_from_gconf.get_list():
option = gval.get_string()
options.append(option)
if not options:
- options = self._configrec.get_options()
+ options = self._configrec.options
self.set_option_group(options)
for option in options:
@@ -163,7 +168,11 @@ class KeyboardManager(object):
options = option_group
else:
options = [option_group]
- self._gconf_client.set_list(_OPTIONS_KEY, GConf.ValueType.STRING, options)
+ # FIXME, gconf_client_set_list not introspectable #681433
+ # self._gconf_client.set_list(_OPTIONS_KEY, GConf.ValueType.STRING,
+ # options)
+ SugarExt.gconf_client_set_string_list(self._gconf_client,
+ _OPTIONS_KEY, options)
self._configrec.set_options(options)
self._configrec.activate(self._engine)
@@ -171,13 +180,16 @@ class KeyboardManager(object):
"""Sets the supplied keyboard layouts (with variants)"""
if layouts is None or not layouts:
return
- self._gconf_client.set_list(_LAYOUTS_KEY, GConf.ValueType.STRING, layouts)
+ # FIXME, gconf_client_set_list not introspectable #681433
+ # self._gconf_client.set_list(_LAYOUTS_KEY, GConf.ValueType.STRING,
+ # layouts)
+ SugarExt.gconf_client_set_string_list(self._gconf_client,
+ _LAYOUTS_KEY, layouts)
layouts_list = []
variants_list = []
for layout in layouts:
layouts_list.append(layout.split('(')[0])
variants_list.append(layout.split('(')[1][:-1])
-
self._configrec.set_layouts(layouts_list)
self._configrec.set_variants(variants_list)
self._configrec.activate(self._engine)
diff --git a/extensions/cpsection/keyboard/view.py b/extensions/cpsection/keyboard/view.py
index 085ec10..46e508f 100644
--- a/extensions/cpsection/keyboard/view.py
+++ b/extensions/cpsection/keyboard/view.py
@@ -1,3 +1,4 @@
+# Copyright (C) 2013, Sugar Labs
# Copyright (C) 2009, OLPC
# Author: Sayamindu Dasgupta <sayamindu@laptop.org>
#
@@ -15,9 +16,14 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+import os
+import locale
+
from gi.repository import Gtk
+from gi.repository import GdkX11
from gi.repository import GObject
from gi.repository import Pango
+
import logging
from gettext import gettext as _
@@ -25,7 +31,7 @@ from sugar3.graphics import style
from sugar3.graphics.icon import Icon
from jarabe.controlpanel.sectionview import SectionView
-
+from jarabe.config import data_path
CLASS = 'Language'
ICON = 'module-keyboard'
@@ -33,14 +39,35 @@ TITLE = _('Keyboard')
_APPLY_TIMEOUT = 500
+_iso_639_1_to_2 = {}
+
#TODO: This cpsection adds checks for xklavier in bin/sugar-session and
# src/jarabe/controlpanel/gui.py. We should get rid of these checks
# once python-xklavier has been packaged for all major distributions
# For more information, see: http://dev.sugarlabs.org/ticket/407
-class LayoutCombo(Gtk.HBox):
+def _build_ISO_639_dictionary():
+ """ The keyboard section of the control panel requires a conversion
+ between ISO 639 two-character codes and three-character code. This
+ method uses the table available at:
+ http://www.loc.gov/standards/iso639-2/ISO-639-2_utf-8.txt
+ """
+
+ ISO_DATA_FILE = 'ISO-639-2_utf-8.txt'
+
+ path = os.path.join(data_path, ISO_DATA_FILE)
+ if os.path.exists(path):
+ f = open(path, 'r')
+ for line in f:
+ codes = line.split('|')
+ if codes[2] != '':
+ _iso_639_1_to_2[codes[2]] = codes[0]
+ else:
+ logging.error('%s not found' % (ISO_DATA_FILE))
+
+class LayoutCombo(Gtk.HBox):
"""
Custom GTK widget with two comboboxes side by side, one for layout, and
the other for variants for the selected layout.
@@ -62,12 +89,12 @@ class LayoutCombo(Gtk.HBox):
label = Gtk.Label(label=' <b>%s</b> ' % str(n + 1))
label.set_use_markup(True)
label.modify_fg(Gtk.StateType.NORMAL,
- style.COLOR_SELECTION_GREY.get_gdk_color())
+ style.COLOR_SELECTION_GREY.get_gdk_color())
label.set_alignment(0.5, 0.5)
self.pack_start(label, False, True, 0)
- self._klang_store = Gtk.ListStore(GObject.TYPE_STRING, \
- GObject.TYPE_STRING)
+ self._klang_store = Gtk.ListStore(GObject.TYPE_STRING,
+ GObject.TYPE_STRING)
for description, name in self._keyboard_manager.get_languages():
self._klang_store.append([name, description])
@@ -84,33 +111,52 @@ class LayoutCombo(Gtk.HBox):
self._kvariant_store = None
self._kvariant_combo = Gtk.ComboBox(model=None)
self._kvariant_combo_changed_id = \
- self._kvariant_combo.connect('changed', \
- self._kvariant_combo_changed_cb)
+ self._kvariant_combo.connect('changed',
+ self._kvariant_combo_changed_cb)
cell = Gtk.CellRendererText()
cell.props.ellipsize = Pango.EllipsizeMode.MIDDLE
cell.props.ellipsize_set = True
self._kvariant_combo.pack_start(cell, True)
self._kvariant_combo.add_attribute(cell, 'text', 1)
- self.pack_start(self._kvariant_combo, expand=True, fill=True, padding=0)
+ self.pack_start(self._kvariant_combo, expand=True, fill=True,
+ padding=0)
self._klang_combo.set_active(self._index)
def select_layout(self, layout):
"""Select a given keyboard layout and show appropriate variants"""
+
self._kvariant_combo.handler_block(self._kvariant_combo_changed_id)
- for i in range(0, len(self._klang_store)):
- self._klang_combo.set_active(i)
- for j in range(0, len(self._kvariant_store)):
- if self._kvariant_store[j][0] == layout:
- self._kvariant_combo.set_active(j)
- self._kvariant_combo.handler_unblock(\
- self._kvariant_combo_changed_id)
+
+ # Look for $LANG first
+ for lang in os.environ.get('LANG',
+ locale.getdefaultlocale()[0]).split(':'):
+ if lang[0:2] in _iso_639_1_to_2:
+ if self._look_for_lang_and_layout(_iso_639_1_to_2[lang[0:2]],
+ layout):
return True
+ # Then look for any language
+ if self._look_for_lang_and_layout(None, layout):
+ return True
+
+ # Finally, select a default
self._kvariant_combo.handler_unblock(self._kvariant_combo_changed_id)
self._klang_combo.set_active(0)
return False
+ def _look_for_lang_and_layout(self, lang, layout):
+ for i in range(0, len(self._klang_store)):
+ if lang == self._klang_store[i][0] or lang is None:
+ self._klang_combo.set_active(i)
+ for j in range(0, len(self._kvariant_store)):
+ if self._kvariant_store[j][0] == layout:
+ self._kvariant_combo.set_active(j)
+ self._kvariant_combo.handler_unblock(
+ self._kvariant_combo_changed_id)
+ return True
+ return False
+
def get_layout(self):
"""Gets the selected layout (with variant)"""
it = self._kvariant_combo.get_active_iter()
@@ -118,8 +164,8 @@ class LayoutCombo(Gtk.HBox):
return model.get(it, 0)[0]
def _set_kvariant_store(self, lang):
- self._kvariant_store = Gtk.ListStore(GObject.TYPE_STRING, \
- GObject.TYPE_STRING)
+ self._kvariant_store = Gtk.ListStore(GObject.TYPE_STRING,
+ GObject.TYPE_STRING)
layouts = self._keyboard_manager.get_layouts_for_language(lang)
for description, name in layouts:
self._kvariant_store.append([name, description])
@@ -159,7 +205,11 @@ class Keyboard(SectionView):
self._layout_table = Gtk.Table(rows=4, columns=2, homogeneous=False)
- self._keyboard_manager = model.KeyboardManager(self.get_display())
+ _build_ISO_639_dictionary()
+
+ self._keyboard_manager = model.KeyboardManager(
+ GdkX11.x11_get_default_xdisplay())
+
self._layout_combo_list = []
self._layout_addremovebox_list = []
@@ -196,8 +246,8 @@ class Keyboard(SectionView):
box_kmodel.set_border_width(style.DEFAULT_SPACING * 2)
box_kmodel.set_spacing(style.DEFAULT_SPACING)
- kmodel_store = Gtk.ListStore(GObject.TYPE_STRING, \
- GObject.TYPE_STRING)
+ kmodel_store = Gtk.ListStore(GObject.TYPE_STRING,
+ GObject.TYPE_STRING)
for description, name in self._keyboard_manager.get_models():
kmodel_store.append([name, description])
@@ -225,7 +275,8 @@ class Keyboard(SectionView):
if self.__kmodel_sid is not None:
GObject.source_remove(self.__kmodel_sid)
self.__kmodel_sid = GObject.timeout_add(_APPLY_TIMEOUT,
- self.__kmodel_timeout_cb, combobox)
+ self.__kmodel_timeout_cb,
+ combobox)
def __kmodel_timeout_cb(self, combobox):
it = combobox.get_active_iter()
@@ -256,8 +307,8 @@ class Keyboard(SectionView):
box_group_option.set_border_width(style.DEFAULT_SPACING * 2)
box_group_option.set_spacing(style.DEFAULT_SPACING)
- group_option_store = Gtk.ListStore(GObject.TYPE_STRING, \
- GObject.TYPE_STRING)
+ group_option_store = Gtk.ListStore(GObject.TYPE_STRING,
+ GObject.TYPE_STRING)
for description, name in self._keyboard_manager.get_options_group():
group_option_store.append([name, description])
@@ -269,7 +320,7 @@ class Keyboard(SectionView):
group_option_combo.add_attribute(cell, 'text', 1)
self._group_switch_option = \
- self._keyboard_manager.get_current_option_group()
+ self._keyboard_manager.get_current_option_group()
if not self._group_switch_option:
group_option_combo.set_active(0)
else:
@@ -286,14 +337,13 @@ class Keyboard(SectionView):
self._vbox.pack_start(box_group_option, False, True, 0)
box_group_option.show_all()
- group_option_combo.connect('changed', \
- self.__group_switch_changed_cb)
+ group_option_combo.connect('changed', self.__group_switch_changed_cb)
def __group_switch_changed_cb(self, combobox):
if self.__group_switch_sid is not None:
GObject.source_remove(self.__group_switch_sid)
- self.__group_switch_sid = GObject.timeout_add(_APPLY_TIMEOUT,
- self.__group_switch_timeout_cb, combobox)
+ self.__group_switch_sid = GObject.timeout_add(
+ _APPLY_TIMEOUT, self.__group_switch_timeout_cb, combobox)
def __group_switch_timeout_cb(self, combobox):
it = combobox.get_active_iter()
@@ -303,7 +353,7 @@ class Keyboard(SectionView):
self._keyboard_manager.get_current_option_group():
return
try:
- self._keyboard_manager.set_option_group(\
+ self._keyboard_manager.set_option_group(
self._selected_group_switch_option)
except Exception:
logging.exception('Could not set new keyboard group switch option')
@@ -328,8 +378,8 @@ class Keyboard(SectionView):
self._layout_table.attach(add_remove_box, 1, 2, i, i + 1)
layout_combo = LayoutCombo(self._keyboard_manager, i)
- layout_combo.connect('selection-changed', \
- self.__layout_combo_selection_changed_cb)
+ layout_combo.connect('selection-changed',
+ self.__layout_combo_selection_changed_cb)
self._layout_combo_list.append(layout_combo)
self._layout_table.attach(layout_combo, 0, 1, i, i + 1)
@@ -338,7 +388,8 @@ class Keyboard(SectionView):
layout_combo.select_layout(self._klayouts[i])
self._vbox.pack_start(self._layout_table, False, True, 0)
- self._layout_table.set_size_request(self._vbox.size_request()[0], -1)
+ self._layout_table.set_size_request(
+ self._vbox.get_size_request()[0], -1)
self._layout_table.show()
self._update_klayouts()
@@ -366,13 +417,13 @@ class Keyboard(SectionView):
add_button = Gtk.Button()
add_button.set_image(add_icon)
add_button.connect('clicked',
- self.__add_button_clicked_cb)
+ self.__add_button_clicked_cb)
remove_icon = Icon(icon_name='list-remove')
remove_button = Gtk.Button()
remove_button.set_image(remove_icon)
remove_button.connect('clicked',
- self.__remove_button_clicked_cb)
+ self.__remove_button_clicked_cb)
add_remove_box = Gtk.HButtonBox()
add_remove_box.set_layout(Gtk.ButtonBoxStyle.START)
@@ -405,7 +456,7 @@ class Keyboard(SectionView):
if self.__layout_sid is not None:
GObject.source_remove(self.__layout_sid)
self.__layout_sid = GObject.timeout_add(_APPLY_TIMEOUT,
- self.__layout_timeout_cb)
+ self.__layout_timeout_cb)
def __layout_timeout_cb(self):
if self._selected_klayouts == \
diff --git a/extensions/deviceicon/battery.py b/extensions/deviceicon/battery.py
index 21dc5f3..362822d 100644
--- a/extensions/deviceicon/battery.py
+++ b/extensions/deviceicon/battery.py
@@ -177,7 +177,7 @@ class BatteryPalette(Palette):
class DeviceModel(GObject.GObject):
__gproperties__ = {
'level': (int, None, None, 0, 100, 0, GObject.PARAM_READABLE),
- 'time-remaining': (int, None, None, 0, GObject.constants.G_MAXINT32, 0,
+ 'time-remaining': (int, None, None, 0, GLib.MAXINT32, 0,
GObject.PARAM_READABLE), # unit: seconds
'charging': (bool, None, None, False, GObject.PARAM_READABLE),
'discharging': (bool, None, None, False, GObject.PARAM_READABLE),
diff --git a/po/POTFILES.in b/po/POTFILES.in
index f2b63cf..e98be61 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -6,6 +6,9 @@ extensions/cpsection/aboutcomputer/model.py
extensions/cpsection/aboutcomputer/view.py
extensions/cpsection/accessibility/__init__.py
extensions/cpsection/accessibility/view.py
+extensions/cpsection/background/__init__.py
+extensions/cpsection/background/view.py
+extensions/cpsection/background/model.py
extensions/cpsection/datetime/__init__.py
extensions/cpsection/datetime/model.py
extensions/cpsection/datetime/view.py
diff --git a/po/ayc.po b/po/ayc.po
index 8fc546d..d8768a4 100644
--- a/po/ayc.po
+++ b/po/ayc.po
@@ -6,11 +6,11 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-10-05 00:34-0400\n"
-"PO-Revision-Date: 2012-09-28 15:22+0200\n"
-"Last-Translator: EdgarQuispeChambi <quispedgar@yahoo.es>\n"
+"POT-Creation-Date: 2013-01-20 21:08-0500\n"
+"PO-Revision-Date: 2013-04-27 20:32+0200\n"
+"Last-Translator: Chris <cjl@laptop.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: aym\n"
+"Language: ayc\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -54,7 +54,7 @@ msgstr "phuqachata: %s"
# "Error en modificadores de color especificados."
#: ../extensions/cpsection/aboutme/model.py:94
msgid "Error in specified color modifiers."
-msgstr "Samichatanaka chiqachäwi phuqachañana pantjata ."
+msgstr "Samichatanaka chiqachäwi phuqachañana pantjata."
# "Error en colores especificados."
#: ../extensions/cpsection/aboutme/model.py:97
@@ -62,7 +62,7 @@ msgid "Error in specified colors."
msgstr "Samichatanaka phuqachatana pantjata."
# "Clic para cambiar su color:"
-#: ../extensions/cpsection/aboutme/view.py:216
+#: ../extensions/cpsection/aboutme/view.py:212
msgid "Click to change your color:"
msgstr "Samichata mayjt'ayañataki q'upt'ma:"
@@ -109,7 +109,7 @@ msgstr "Firmware wakichata:"
# "Firmware de la red inalámbrica:"
#: ../extensions/cpsection/aboutcomputer/view.py:145
msgid "Wireless Firmware:"
-msgstr "Firmware wakichata uka Red inalámbrica wakichataru wakisiri :"
+msgstr "Firmware wakichata uka Red inalámbrica wakichataru wakisiri:"
# "Licencia y derechos de autor"
#: ../extensions/cpsection/aboutcomputer/view.py:168
@@ -144,7 +144,7 @@ msgid "Error timezone does not exist."
msgstr "Pantjata, pacha chinuwa chhaqi."
# "Zona horaria"
-#: ../extensions/cpsection/datetime/view.py:70 ../data/sugar.schemas.in.h:54
+#: ../extensions/cpsection/datetime/view.py:66 ../data/sugar.schemas.in.h:54
msgid "Timezone"
msgstr "Pacha chinu suyu"
@@ -198,7 +198,7 @@ msgstr "Qillqanaka q'upt'aña"
# "Modelo de teclado"
#: ../extensions/cpsection/keyboard/view.py:190
msgid "Keyboard Model"
-msgstr "Qillqaña kasta "
+msgstr "Qillqaña kasta"
# "Tecla(s) para cambiar el diseño"
#: ../extensions/cpsection/keyboard/view.py:250
@@ -340,7 +340,7 @@ msgid "Automatic power management (increases battery life)"
msgstr "kipqaki ch'ama apnaqawipa (batteria jaya jaqañataqi)"
#: ../extensions/cpsection/updater/__init__.py:21
-#: ../src/jarabe/desktop/homebox.py:62
+#: ../src/jarabe/desktop/homebox.py:63
msgid "Software Update"
msgstr "Software wakichata machaqaptayäwi"
@@ -378,7 +378,7 @@ msgstr "amuyt'awimaxa machaqaptayatawa"
#, python-format,
msgid "You can install %s update"
msgid_plural "You can install %s updates"
-msgstr[0] " %s chani machaqachaña wakichasmawa"
+msgstr[0] "%s chani machaqachaña wakichasmawa"
msgstr[1] "%s chani machaqachañanaka wakichasmawa"
#: ../extensions/cpsection/updater/view.py:159
@@ -435,213 +435,213 @@ msgstr "%.0f KB wakichata"
msgid "%.1f MB"
msgstr "%.1f MB wakichata"
-#: ../extensions/deviceicon/battery.py:70
+#: ../extensions/deviceicon/battery.py:71
msgid "My Battery"
msgstr "Batería utjirija"
-#: ../extensions/deviceicon/battery.py:151
+#: ../extensions/deviceicon/battery.py:153
msgid "Removed"
msgstr "Apsuta"
-#: ../extensions/deviceicon/battery.py:154
+#: ../extensions/deviceicon/battery.py:156
msgid "Charging"
msgstr "Ch'amanchaski"
-#: ../extensions/deviceicon/battery.py:157
+#: ../extensions/deviceicon/battery.py:159
msgid "Very little power remaining"
msgstr "pisi ch'amanikxiwa watiriyaxa"
#. TRANS: do not translate %(hour)d:%(min).2d it is a variable,
#. only translate the word "remaining"
-#: ../extensions/deviceicon/battery.py:164
+#: ../extensions/deviceicon/battery.py:166
#, python-format
msgid "%(hour)d:%(min).2d remaining"
msgstr "Suyt'añawa %(hour)d:%(min).2d pacha"
# "Cargada"
-#: ../extensions/deviceicon/battery.py:167
+#: ../extensions/deviceicon/battery.py:169
msgid "Charged"
msgstr "Ch'amanchata"
#: ../extensions/deviceicon/frame.py:57
msgid "Show my keyboard"
-msgstr ""
+msgstr "Qillqañaja uñachayaña"
-#: ../extensions/deviceicon/network.py:50
+#: ../extensions/deviceicon/network.py:51
#, python-format
msgid "IP address: %s"
msgstr "IP thaki katjawi: %s"
-#: ../extensions/deviceicon/network.py:80
-#: ../extensions/deviceicon/network.py:296
-#: ../src/jarabe/desktop/networkviews.py:129
-#: ../src/jarabe/desktop/networkviews.py:495
+#: ../extensions/deviceicon/network.py:83
+#: ../extensions/deviceicon/network.py:299
+#: ../src/jarabe/desktop/networkviews.py:137
+#: ../src/jarabe/desktop/networkviews.py:509
msgid "Disconnect"
msgstr "mistuña"
-#: ../extensions/deviceicon/network.py:105
-#: ../extensions/deviceicon/network.py:288
-#: ../src/jarabe/desktop/networkviews.py:238
-#: ../src/jarabe/desktop/networkviews.py:533
-#: ../src/jarabe/desktop/networkviews.py:668
+#: ../extensions/deviceicon/network.py:108
+#: ../extensions/deviceicon/network.py:291
+#: ../src/jarabe/desktop/networkviews.py:252
+#: ../src/jarabe/desktop/networkviews.py:550
+#: ../src/jarabe/desktop/networkviews.py:691
msgid "Connecting..."
msgstr "Mayachasa..."
-#: ../extensions/deviceicon/network.py:110
-#: ../extensions/deviceicon/network.py:178
-#: ../src/jarabe/desktop/networkviews.py:245
-#: ../src/jarabe/desktop/networkviews.py:539
-#: ../src/jarabe/desktop/networkviews.py:674
+#: ../extensions/deviceicon/network.py:113
+#: ../extensions/deviceicon/network.py:181
+#: ../src/jarabe/desktop/networkviews.py:259
+#: ../src/jarabe/desktop/networkviews.py:556
+#: ../src/jarabe/desktop/networkviews.py:697
msgid "Connected"
msgstr "Mayachata"
-#: ../extensions/deviceicon/network.py:123
+#: ../extensions/deviceicon/network.py:126
msgid "No wireless connection"
msgstr "Jani mayachaña utjiti"
-#: ../extensions/deviceicon/network.py:137
+#: ../extensions/deviceicon/network.py:140
msgid "Channel"
msgstr "thaki"
-#: ../extensions/deviceicon/network.py:152
+#: ../extensions/deviceicon/network.py:155
msgid "Wired Network"
msgstr "Mayachasïwi simpjata"
-#: ../extensions/deviceicon/network.py:181
+#: ../extensions/deviceicon/network.py:184
msgid "Speed"
msgstr "K'ata jaltäwi"
-#: ../extensions/deviceicon/network.py:206
+#: ../extensions/deviceicon/network.py:209
msgid "Wireless modem"
msgstr "Wayra taypi sariri Módem wakichata"
-#: ../extensions/deviceicon/network.py:274
+#: ../extensions/deviceicon/network.py:277
msgid "Please wait..."
msgstr "Maya k'ata suyt'ma..."
-#: ../extensions/deviceicon/network.py:279
-#: ../src/jarabe/desktop/networkviews.py:125
-#: ../src/jarabe/desktop/networkviews.py:490
-#: ../src/jarabe/desktop/networkviews.py:624
+#: ../extensions/deviceicon/network.py:282
+#: ../src/jarabe/desktop/networkviews.py:131
+#: ../src/jarabe/desktop/networkviews.py:503
+#: ../src/jarabe/desktop/networkviews.py:642
msgid "Connect"
msgstr "Mayachaña"
-#: ../extensions/deviceicon/network.py:280
+#: ../extensions/deviceicon/network.py:283
msgid "Disconnected"
msgstr "Mistuta"
-#: ../extensions/deviceicon/network.py:287
-#: ../src/jarabe/controlpanel/toolbar.py:119
-#: ../src/jarabe/desktop/homebox.py:67
-#: ../src/jarabe/frame/activitiestray.py:606
-#: ../src/jarabe/frame/activitiestray.py:708
-#: ../src/jarabe/frame/activitiestray.py:736
-#: ../src/jarabe/journal/journaltoolbox.py:427
-#: ../src/jarabe/journal/palettes.py:153
+#: ../extensions/deviceicon/network.py:290
+#: ../src/jarabe/controlpanel/toolbar.py:121
+#: ../src/jarabe/desktop/homebox.py:68 ../src/jarabe/desktop/keydialog.py:100
+#: ../src/jarabe/frame/activitiestray.py:611
+#: ../src/jarabe/frame/activitiestray.py:713
+#: ../src/jarabe/frame/activitiestray.py:741
+#: ../src/jarabe/journal/journaltoolbox.py:428
+#: ../src/jarabe/journal/palettes.py:154
msgid "Cancel"
msgstr "Tukuyaña"
# Trate de conectarse de nuevo
-#: ../extensions/deviceicon/network.py:326
+#: ../extensions/deviceicon/network.py:329
msgid "Try connection again"
msgstr "Mayampi mayachasiña yant'ma"
-#: ../extensions/deviceicon/network.py:329
+#: ../extensions/deviceicon/network.py:332
#, python-format
msgid "Error: %s"
msgstr "Pantjata: %s"
# Sugerencia:% s
-#: ../extensions/deviceicon/network.py:333
+#: ../extensions/deviceicon/network.py:336
#, python-format
msgid "Suggestion: %s"
msgstr "Unanchayäwi: %s"
# Conectado a% s
-#: ../extensions/deviceicon/network.py:342
+#: ../extensions/deviceicon/network.py:345
#, python-format
msgid "Connected for %s"
msgstr "Wakichataru mayachata %s"
-#: ../extensions/deviceicon/network.py:348
-#: ../extensions/deviceicon/network.py:349
+#: ../extensions/deviceicon/network.py:351
+#: ../extensions/deviceicon/network.py:352
#, python-format
msgid "%d KB"
msgstr "%d KB wakichata"
# Revise su Pin / configuración Puk.
-#: ../extensions/deviceicon/network.py:354
+#: ../extensions/deviceicon/network.py:357
msgid "Check your PIN/PUK configuration."
msgstr "Jumaru wakisir PIN uñakipma / wakichäwi PUK."
# Compruebe el nombre del punto de acceso (APN) de configuración
-#: ../extensions/deviceicon/network.py:357
+#: ../extensions/deviceicon/network.py:360
msgid "Check your Access Point Name (APN) configuration"
msgstr "Jumaru wakisiri mantaña (APN) wakichañataki sutipa yant'ma"
# Compruebe la configuración de Número.
-#: ../extensions/deviceicon/network.py:361
+#: ../extensions/deviceicon/network.py:364
msgid "Check the Number configuration."
msgstr "Jakhu chimpu wakichaña yant'ma."
# Compruebe la configuración.
-#: ../extensions/deviceicon/network.py:363
+#: ../extensions/deviceicon/network.py:366
msgid "Check your configuration."
msgstr "Jumana wakichatama yant'ma."
-#: ../extensions/deviceicon/network.py:606
+#: ../extensions/deviceicon/network.py:611
msgid "Mesh Network"
msgstr "Red Malla mayachasïwi"
-#: ../extensions/deviceicon/network.py:651
+#: ../extensions/deviceicon/network.py:655
#, python-format
msgid "Mesh Network %s"
msgstr "Red Malla mayachasïwi %s"
-#: ../extensions/deviceicon/network.py:782
+#: ../extensions/deviceicon/network.py:774
msgid "No GSM connection available."
msgstr "Janiwa mantañjamäkiti akïri wakichäwiru GSM."
# Crear una conexión en el panel de control.
-#: ../extensions/deviceicon/network.py:783
+#: ../extensions/deviceicon/network.py:775
msgid "Create a connection in the control panel."
msgstr "Wakichatanaka thaqañaru maya mayachasiña apsma."
-#: ../extensions/deviceicon/speech.py:53
+#: ../extensions/deviceicon/speech.py:54
msgid "Speech"
msgstr "Arsuña"
-#: ../extensions/deviceicon/speech.py:81
-#: ../extensions/deviceicon/speech.py:155
-#: ../extensions/deviceicon/speech.py:160
+#: ../extensions/deviceicon/speech.py:78
+#: ../extensions/deviceicon/speech.py:152
+#: ../extensions/deviceicon/speech.py:157
msgid "Say selected text"
msgstr "Qillqata chhijllata arsuña"
-#: ../extensions/deviceicon/speech.py:88
+#: ../extensions/deviceicon/speech.py:85
msgid "Stop playback"
msgstr "Katuqaña sayt'ayaña"
-#: ../extensions/deviceicon/speech.py:98
+#: ../extensions/deviceicon/speech.py:94
msgid "Pitch"
msgstr "Ist'aña wakichata"
-#: ../extensions/deviceicon/speech.py:112
+#: ../extensions/deviceicon/speech.py:109
msgid "Rate"
msgstr "T'ijtäwi"
-#: ../extensions/deviceicon/speech.py:150
+#: ../extensions/deviceicon/speech.py:147
msgid "Pause playback"
msgstr "Katuqaña suyt'ayaña"
-#: ../extensions/deviceicon/speaker.py:62
+#: ../extensions/deviceicon/speaker.py:61
msgid "My Speakers"
msgstr "Arsurinaka utjirija"
-#: ../extensions/deviceicon/speaker.py:142
+#: ../extensions/deviceicon/speaker.py:136
msgid "Unmute"
msgstr "Aru churaña"
-#: ../extensions/deviceicon/speaker.py:145
+#: ../extensions/deviceicon/speaker.py:139
msgid "Mute"
msgstr "Ch'ujtayaña"
@@ -657,7 +657,7 @@ msgstr "uñaqa"
msgid "My touchpad"
msgstr "Luk'anampi qillqaña wakichataja"
-#: ../extensions/deviceicon/volume.py:74 ../src/jarabe/view/palettes.py:171
+#: ../extensions/deviceicon/volume.py:73 ../src/jarabe/view/palettes.py:185
msgid "Show contents"
msgstr "Wakichatanaka qhanstayaña"
@@ -923,13 +923,13 @@ msgstr "Qillqaña wakichata utjirinaka siqichata."
msgid "Pitch value for the speech sugar service"
msgstr ""
"Aru Ist'aña wakichata qillqantata uka Azucar/Sugar wakichatana Aru "
-"ch'amnchäwi wakichatataki "
+"ch'amnchäwi wakichatataki"
#: ../data/sugar.schemas.in.h:42
msgid "Pitch value used by the speech service in Sugar"
msgstr ""
"Aru Ist'aña wakichata qillqantata uka Azucar/Sugar wakichatana Aru "
-"ch'amnchäwi wakichatana qhantaya "
+"ch'amnchäwi wakichatana qhantaya"
#: ../data/sugar.schemas.in.h:43
msgid "Power Automatic"
@@ -1108,81 +1108,93 @@ msgid "To apply your changes you have to restart Sugar.\n"
msgstr "Mayjt'atanaka wakichäwinakampi irnaqañataki akíri wakichata mayampi "
"qhantayma Azúcar.\n"
-#: ../src/jarabe/controlpanel/gui.py:298 ../src/jarabe/journal/palettes.py:181
-#: ../src/jarabe/journal/palettes.py:266 ../src/jarabe/journal/palettes.py:299
+#: ../src/jarabe/controlpanel/gui.py:315 ../src/jarabe/journal/palettes.py:182
+#: ../src/jarabe/journal/palettes.py:277 ../src/jarabe/journal/palettes.py:310
#: ../src/jarabe/journal/volumestoolbar.py:301
msgid "Warning"
msgstr "Amtayäwi"
-#: ../src/jarabe/controlpanel/gui.py:299
+#: ../src/jarabe/controlpanel/gui.py:316
#: ../src/jarabe/controlpanel/sectionview.py:41
msgid "Changes require restart"
msgstr "Mayjt'ata wakichatanaka mayampi qhantayañawa wakisi"
-#: ../src/jarabe/controlpanel/gui.py:302
+#: ../src/jarabe/controlpanel/gui.py:319
msgid "Cancel changes"
msgstr "Mayjt'ayaña wakichäwi sayt'ayma"
-#: ../src/jarabe/controlpanel/gui.py:307 ../src/jarabe/desktop/homebox.py:69
+#: ../src/jarabe/controlpanel/gui.py:324 ../src/jarabe/desktop/homebox.py:70
msgid "Later"
msgstr "Qhipata"
-#: ../src/jarabe/controlpanel/gui.py:311
+#: ../src/jarabe/controlpanel/gui.py:328
msgid "Restart now"
msgstr "Jichha mayampi qhantayaña"
-#: ../src/jarabe/controlpanel/toolbar.py:63 ../src/jarabe/intro/window.py:210
+#: ../src/jarabe/controlpanel/toolbar.py:56
+#: ../src/jarabe/desktop/viewtoolbar.py:100
+#: ../src/jarabe/journal/journaltoolbox.py:83
+#, python-format
+msgid "Search in %s"
+msgstr "Wakichata thaqaña %s"
+
+#: ../src/jarabe/controlpanel/toolbar.py:56
+msgid "Settings"
+msgstr "Wakichañanaka"
+
+#: ../src/jarabe/controlpanel/toolbar.py:65 ../src/jarabe/intro/window.py:210
msgid "Done"
msgstr "Phuqata"
-#: ../src/jarabe/controlpanel/toolbar.py:125
-#: ../src/jarabe/desktop/favoritesview.py:335
+#: ../src/jarabe/controlpanel/toolbar.py:127
+#: ../src/jarabe/desktop/favoritesview.py:366
+#: ../src/jarabe/desktop/keydialog.py:104
msgid "Ok"
msgstr "Ukawa"
-#: ../src/jarabe/desktop/activitieslist.py:241
+#: ../src/jarabe/desktop/activitieslist.py:244
#, python-format
msgid "Version %s"
msgstr "Wakichäwi %s"
-#: ../src/jarabe/desktop/activitieslist.py:342
-#: ../src/jarabe/journal/listview.py:411
+#: ../src/jarabe/desktop/activitieslist.py:345
+#: ../src/jarabe/journal/listview.py:425
msgid "Clear search"
msgstr "Thaqsuña machaqachaña"
-#: ../src/jarabe/desktop/activitieslist.py:415
+#: ../src/jarabe/desktop/activitieslist.py:418
msgid "No matching activities"
msgstr "Janiwa ukhamkama luräwinaka utjiti"
-#: ../src/jarabe/desktop/activitieslist.py:451
+#: ../src/jarabe/desktop/activitieslist.py:454
msgid "Confirm erase"
msgstr "Apsunaqata thaqakipaña"
-#: ../src/jarabe/desktop/activitieslist.py:453
+#: ../src/jarabe/desktop/activitieslist.py:456
#, python-format
msgid "Confirm erase: Do you want to permanently erase %s?"
msgstr "Apsunaqata thaqakipaña: ¿Sapa kutisa %s apsunaqañcha munta?"
# "Guardar"
-#: ../src/jarabe/desktop/activitieslist.py:457
-#: ../src/jarabe/frame/clipboardmenu.py:67
-#: ../src/jarabe/view/viewsource.py:284
+#: ../src/jarabe/desktop/activitieslist.py:460
+#: ../src/jarabe/frame/clipboardmenu.py:65
+#: ../src/jarabe/view/viewsource.py:285
msgid "Keep"
msgstr "Imaña"
-#: ../src/jarabe/desktop/activitieslist.py:460
-#: ../src/jarabe/desktop/activitieslist.py:514
-#: ../src/jarabe/journal/journaltoolbox.py:393
-#: ../src/jarabe/journal/journaltoolbox.py:422
-#: ../src/jarabe/journal/palettes.py:128 ../src/jarabe/journal/palettes.py:148
+#: ../src/jarabe/desktop/activitieslist.py:463
+#: ../src/jarabe/desktop/activitieslist.py:517
+#: ../src/jarabe/journal/journaltoolbox.py:394
+#: ../src/jarabe/journal/journaltoolbox.py:423
+#: ../src/jarabe/journal/palettes.py:129 ../src/jarabe/journal/palettes.py:149
msgid "Erase"
msgstr "Apsunaqaña"
-#: ../src/jarabe/desktop/activitieslist.py:530
+#: ../src/jarabe/desktop/activitieslist.py:533
msgid "Remove favorite"
msgstr "Wakisiri wakichata Jithtayaña"
-#: ../src/jarabe/desktop/activitieslist.py:534
+#: ../src/jarabe/desktop/activitieslist.py:537
msgid "Make favorite"
msgstr "Wakisiri wakichata wakichaña"
@@ -1192,51 +1204,51 @@ msgid "Freeform"
msgstr "Mayjt'ayäwi wakichata"
#. TRANS: label for the ring layout in the favorites view
-#: ../src/jarabe/desktop/favoriteslayout.py:295
+#: ../src/jarabe/desktop/favoriteslayout.py:296
msgid "Ring"
msgstr "Muyu wakichata"
#. TRANS: label for the spiral layout in the favorites view
-#: ../src/jarabe/desktop/favoriteslayout.py:437
+#: ../src/jarabe/desktop/favoriteslayout.py:450
msgid "Spiral"
msgstr "Muyu q'iwi wakichata"
#. TRANS: label for the box layout in the favorites view
-#: ../src/jarabe/desktop/favoriteslayout.py:505
+#: ../src/jarabe/desktop/favoriteslayout.py:518
msgid "Box"
msgstr "Kaja wakichata"
#. TRANS: label for the box layout in the favorites view
-#: ../src/jarabe/desktop/favoriteslayout.py:548
+#: ../src/jarabe/desktop/favoriteslayout.py:561
msgid "Triangle"
msgstr "Kimsa k'uchu"
-#: ../src/jarabe/desktop/favoritesview.py:326
+#: ../src/jarabe/desktop/favoritesview.py:357
msgid "Registration Failed"
msgstr "Wakichata qillqantañana pantjata"
-#: ../src/jarabe/desktop/favoritesview.py:329
+#: ../src/jarabe/desktop/favoritesview.py:360
msgid "Registration Successful"
msgstr "Chiqapa qillqantaña"
-#: ../src/jarabe/desktop/favoritesview.py:330
+#: ../src/jarabe/desktop/favoritesview.py:361
msgid "You are now registered with your school server."
msgstr "Jichhaxa yatirinaka mayachäwi yanapiriru chiqapa qillqantatätawa."
-#: ../src/jarabe/desktop/favoritesview.py:619
+#: ../src/jarabe/desktop/favoritesview.py:645
msgid "Register"
msgstr "Qillqantata"
-#: ../src/jarabe/desktop/favoritesview.py:621
-#: ../src/jarabe/desktop/favoritesview.py:635
+#: ../src/jarabe/desktop/favoritesview.py:648
+#: ../src/jarabe/desktop/favoritesview.py:664
msgid "Register again"
msgstr "Machaqata qillqantaña"
-#: ../src/jarabe/desktop/homebox.py:63
+#: ../src/jarabe/desktop/homebox.py:64
msgid "Update your activities to ensure compatibility with your new software"
msgstr "Wakichäwinakama machaqachasa uka machaqa software wakichäwimpi mayachma"
-#: ../src/jarabe/desktop/homebox.py:72
+#: ../src/jarabe/desktop/homebox.py:73
msgid "Check now"
msgstr "Jichha yant'ma"
@@ -1245,7 +1257,7 @@ msgstr "Jichha yant'ma"
msgid "Neighborhood"
msgstr "Mayachasiri masinaka"
-#: ../src/jarabe/desktop/keydialog.py:89
+#: ../src/jarabe/desktop/keydialog.py:94
#, python-format
msgid ""
"A wireless encryption key is required for\n"
@@ -1254,40 +1266,40 @@ msgstr ""
"Wayra taypita mayachasiñataki chimpuwa wakisi uka\n"
"wayra taypita mayachasiñataki '%s'."
-#: ../src/jarabe/desktop/keydialog.py:137
+#: ../src/jarabe/desktop/keydialog.py:149
msgid "Key Type:"
msgstr "Maya kasta chimpu:"
-#: ../src/jarabe/desktop/keydialog.py:157
+#: ../src/jarabe/desktop/keydialog.py:169
msgid "Authentication Type:"
msgstr "Maya kasta thurinchäwi:"
-#: ../src/jarabe/desktop/keydialog.py:220
+#: ../src/jarabe/desktop/keydialog.py:232
msgid "WPA & WPA2 Personal"
msgstr "WPA y WPA2 sapa mayni wakichatapa"
-#: ../src/jarabe/desktop/keydialog.py:229
+#: ../src/jarabe/desktop/keydialog.py:241
msgid "Wireless Security:"
msgstr "Wayra taypita mayachasiña chimputa:"
#. TRANS: Action label for resuming an activity.
-#: ../src/jarabe/desktop/meshbox.py:81
-#: ../src/jarabe/journal/journaltoolbox.py:506
-#: ../src/jarabe/journal/palettes.py:73 ../src/jarabe/view/palettes.py:86
+#: ../src/jarabe/desktop/meshbox.py:82
+#: ../src/jarabe/journal/journaltoolbox.py:517
+#: ../src/jarabe/journal/palettes.py:74 ../src/jarabe/view/palettes.py:97
msgid "Resume"
msgstr "Arkaña"
-#: ../src/jarabe/desktop/meshbox.py:86
-#: ../src/jarabe/frame/activitiestray.py:182
+#: ../src/jarabe/desktop/meshbox.py:88
+#: ../src/jarabe/frame/activitiestray.py:187
msgid "Join"
msgstr "Jakisiña"
-#: ../src/jarabe/desktop/networkviews.py:486
+#: ../src/jarabe/desktop/networkviews.py:497
#, python-format
msgid "Ad-hoc Network %d"
msgstr "Wakisiri mayachasïwi %d"
-#: ../src/jarabe/desktop/networkviews.py:621
+#: ../src/jarabe/desktop/networkviews.py:637
#, python-format
msgid "Mesh Network %d"
msgstr "Malla mayachasïwi %d"
@@ -1308,12 +1320,6 @@ msgstr "Arunaka siqi awati"
msgid "<Ctrl>2"
msgstr "Wakichata <Ctrl>2"
-#: ../src/jarabe/desktop/viewtoolbar.py:100
-#: ../src/jarabe/journal/journaltoolbox.py:82
-#, python-format
-msgid "Search in %s"
-msgstr "Wakichata thaqaña %s"
-
#: ../src/jarabe/desktop/viewtoolbar.py:149
msgid "Favorites view"
msgstr "Wakisiri wakichatanaka awati"
@@ -1322,67 +1328,67 @@ msgstr "Wakisiri wakichatanaka awati"
msgid "<Ctrl>1"
msgstr "Wakichata <Ctrl>1"
-#: ../src/jarabe/frame/activitiestray.py:187
-#: ../src/jarabe/frame/activitiestray.py:578
+#: ../src/jarabe/frame/activitiestray.py:192
+#: ../src/jarabe/frame/activitiestray.py:583
msgid "Decline"
msgstr "Kutt'ayaña"
-#: ../src/jarabe/frame/activitiestray.py:526
+#: ../src/jarabe/frame/activitiestray.py:531
#, python-format
msgid "%dB"
msgstr "%dB wakichata"
-#: ../src/jarabe/frame/activitiestray.py:528
+#: ../src/jarabe/frame/activitiestray.py:533
#, python-format
msgid "%dKB"
msgstr "%dKB wakichata"
-#: ../src/jarabe/frame/activitiestray.py:530
+#: ../src/jarabe/frame/activitiestray.py:535
#, python-format
msgid "%dMB"
msgstr "%dMB wakichata"
#. TRANS: file transfer, bytes transferred, e.g. 128 of 1024
-#: ../src/jarabe/frame/activitiestray.py:548
+#: ../src/jarabe/frame/activitiestray.py:553
#, python-format
msgid "%s of %s"
msgstr "%s de %s wakichata"
-#: ../src/jarabe/frame/activitiestray.py:562
+#: ../src/jarabe/frame/activitiestray.py:567
#, python-format
msgid "Transfer from %s"
msgstr "Apakipäwi qalltata %s"
-#: ../src/jarabe/frame/activitiestray.py:573
+#: ../src/jarabe/frame/activitiestray.py:578
msgid "Accept"
msgstr "Katuqaña"
-#: ../src/jarabe/frame/activitiestray.py:630
-#: ../src/jarabe/frame/activitiestray.py:643
-#: ../src/jarabe/frame/activitiestray.py:761
+#: ../src/jarabe/frame/activitiestray.py:635
+#: ../src/jarabe/frame/activitiestray.py:648
+#: ../src/jarabe/frame/activitiestray.py:766
msgid "Dismiss"
msgstr "Jaqsuña"
-#: ../src/jarabe/frame/activitiestray.py:647
+#: ../src/jarabe/frame/activitiestray.py:652
msgid "The other participant canceled the file transfer"
msgstr "Maynïri mayachasiri wakichata apakipäwi sayt'ayi"
-#: ../src/jarabe/frame/activitiestray.py:695
+#: ../src/jarabe/frame/activitiestray.py:700
#, python-format
msgid "Transfer to %s"
msgstr "Apakipañataki %s"
-#: ../src/jarabe/frame/clipboardmenu.py:56
+#: ../src/jarabe/frame/clipboardmenu.py:54
msgctxt "Clipboard"
msgid "Remove"
msgstr "Chhaqtayaña"
-#: ../src/jarabe/frame/clipboardmenu.py:62
-#: ../src/jarabe/frame/clipboardmenu.py:85
+#: ../src/jarabe/frame/clipboardmenu.py:60
+#: ../src/jarabe/frame/clipboardmenu.py:83
msgid "Open"
msgstr "Jist'araña"
-#: ../src/jarabe/frame/clipboardmenu.py:90
+#: ../src/jarabe/frame/clipboardmenu.py:88
msgid "Open with"
msgstr "Jist'arañataki"
@@ -1425,18 +1431,18 @@ msgstr "Qhipäxaru"
msgid "Next"
msgstr "Jutiri"
-#: ../src/jarabe/journal/expandedentry.py:145
+#: ../src/jarabe/journal/expandedentry.py:151
#: ../src/jarabe/journal/listmodel.py:145 ../src/jarabe/journal/model.py:703
-#: ../src/jarabe/journal/palettes.py:66
+#: ../src/jarabe/journal/palettes.py:67
#: ../src/jarabe/journal/volumestoolbar.py:131
msgid "Untitled"
msgstr "Jani p'iqinchiri sutini"
-#: ../src/jarabe/journal/expandedentry.py:259
+#: ../src/jarabe/journal/expandedentry.py:260
msgid "No preview"
msgstr "Jani yant'aña uñjañani"
-#: ../src/jarabe/journal/expandedentry.py:273
+#: ../src/jarabe/journal/expandedentry.py:274
#, python-format
msgid "Kind: %s"
msgstr "Akïri kasta: %s"
@@ -1457,138 +1463,144 @@ msgstr "Uru chimpu: %s"
msgid "Size: %s"
msgstr "Taña: %s"
-#: ../src/jarabe/journal/expandedentry.py:299
+#: ../src/jarabe/journal/expandedentry.py:302
#: ../src/jarabe/journal/misc.py:108
msgid "No date"
msgstr "Jani uru chimpuni"
-#: ../src/jarabe/journal/expandedentry.py:308
+#: ../src/jarabe/journal/expandedentry.py:311
msgid "Participants:"
msgstr "Mayachasirinaka:"
-#: ../src/jarabe/journal/expandedentry.py:349
+#: ../src/jarabe/journal/expandedentry.py:353
msgid "Description:"
msgstr "Yatiyaña:"
-#: ../src/jarabe/journal/expandedentry.py:352
+#: ../src/jarabe/journal/expandedentry.py:356
msgid "Tags:"
msgstr "Sutiñchaña:"
#: ../src/jarabe/journal/journalactivity.py:120
-#: ../src/jarabe/journal/journaltoolbox.py:82
-#: ../src/jarabe/journal/journaltoolbox.py:465
-#: ../src/jarabe/journal/palettes.py:218
+#: ../src/jarabe/journal/journaltoolbox.py:83
+#: ../src/jarabe/journal/journaltoolbox.py:466
+#: ../src/jarabe/journal/palettes.py:219
#: ../src/jarabe/journal/volumestoolbar.py:362
msgid "Journal"
msgstr "Sapüru luräwi"
-#: ../src/jarabe/journal/journaltoolbox.py:128
+#: ../src/jarabe/journal/journaltoolbox.py:129
msgid "Anytime"
msgstr "Maya akatjamapachata"
-#: ../src/jarabe/journal/journaltoolbox.py:130
+#: ../src/jarabe/journal/journaltoolbox.py:131
msgid "Today"
msgstr "Jichhüru"
-#: ../src/jarabe/journal/journaltoolbox.py:132
+#: ../src/jarabe/journal/journaltoolbox.py:133
msgid "Since yesterday"
msgstr "Masüruta"
#. TRANS: Filter entries modified during the last 7 days.
-#: ../src/jarabe/journal/journaltoolbox.py:134
+#: ../src/jarabe/journal/journaltoolbox.py:135
msgid "Past week"
msgstr "Qhipa simana"
#. TRANS: Filter entries modified during the last 30 days.
-#: ../src/jarabe/journal/journaltoolbox.py:136
+#: ../src/jarabe/journal/journaltoolbox.py:137
msgid "Past month"
msgstr "Qhipa phaxsi"
#. TRANS: Filter entries modified during the last 356 days.
-#: ../src/jarabe/journal/journaltoolbox.py:138
+#: ../src/jarabe/journal/journaltoolbox.py:139
msgid "Past year"
msgstr "Qhipa mara"
-#: ../src/jarabe/journal/journaltoolbox.py:145
+#: ../src/jarabe/journal/journaltoolbox.py:146
msgid "Anyone"
msgstr "Kawkipirisa"
-#: ../src/jarabe/journal/journaltoolbox.py:147
+#: ../src/jarabe/journal/journaltoolbox.py:148
msgid "My friends"
msgstr "Mayachasiri masinakaja"
-#: ../src/jarabe/journal/journaltoolbox.py:148
+#: ../src/jarabe/journal/journaltoolbox.py:149
msgid "My class"
msgstr "Mayachasiña wakichataja"
-#: ../src/jarabe/journal/journaltoolbox.py:290
+#: ../src/jarabe/journal/journaltoolbox.py:291
msgid "Anything"
msgstr "Kawkchapisa"
-#: ../src/jarabe/journal/journaltoolbox.py:376
-#: ../src/jarabe/journal/palettes.py:95
+#: ../src/jarabe/journal/journaltoolbox.py:377
+#: ../src/jarabe/journal/palettes.py:96
msgid "Copy to"
msgstr "Apaqañataki"
-#: ../src/jarabe/journal/journaltoolbox.py:384
-#: ../src/jarabe/journal/palettes.py:106 ../src/jarabe/view/viewsource.py:278
+#: ../src/jarabe/journal/journaltoolbox.py:385
+#: ../src/jarabe/journal/palettes.py:107 ../src/jarabe/view/viewsource.py:279
msgid "Duplicate"
msgstr "Payaptayaña"
-#: ../src/jarabe/journal/journaltoolbox.py:417
-#: ../src/jarabe/journal/palettes.py:143 ../src/jarabe/journal/palettes.py:274
+#: ../src/jarabe/journal/journaltoolbox.py:418
+#: ../src/jarabe/journal/palettes.py:144 ../src/jarabe/journal/palettes.py:285
#: ../src/jarabe/journal/volumestoolbar.py:309
#, python-format
msgid "Error while copying the entry. %s"
msgstr "Wakichata payaptaña phuqkämiru pantjata. %s"
-#: ../src/jarabe/journal/journaltoolbox.py:418
-#: ../src/jarabe/journal/palettes.py:144 ../src/jarabe/journal/palettes.py:275
+#: ../src/jarabe/journal/journaltoolbox.py:419
+#: ../src/jarabe/journal/palettes.py:145 ../src/jarabe/journal/palettes.py:286
#: ../src/jarabe/journal/volumestoolbar.py:310
msgid "Error"
msgstr "Pantjata"
-#: ../src/jarabe/journal/journaltoolbox.py:424
-#: ../src/jarabe/journal/palettes.py:150
+#: ../src/jarabe/journal/journaltoolbox.py:425
+#: ../src/jarabe/journal/palettes.py:151
#, python-format
msgid "Do you want to permanently erase \"%s\"?"
msgstr "¿\"%s\" chani wakichata sapa kuticha apsuña munta?"
+#: ../src/jarabe/journal/journaltoolbox.py:476
+#: ../src/jarabe/journal/palettes.py:229
+#: ../src/jarabe/journal/volumestoolbar.py:210
+msgid "Documents"
+msgstr "Wakichatanaka"
+
#. TRANS: Action label for starting an entry.
-#: ../src/jarabe/journal/journaltoolbox.py:509
-#: ../src/jarabe/journal/palettes.py:76
+#: ../src/jarabe/journal/journaltoolbox.py:520
+#: ../src/jarabe/journal/palettes.py:77
msgid "Start"
msgstr "Qalltawi"
-#: ../src/jarabe/journal/journaltoolbox.py:537
+#: ../src/jarabe/journal/journaltoolbox.py:548
msgid "Sort by date modified"
msgstr "Mayjt'ayäwi uru chimputjama lakintaña"
-#: ../src/jarabe/journal/journaltoolbox.py:538
+#: ../src/jarabe/journal/journaltoolbox.py:549
msgid "Sort by date created"
msgstr "Wakichata uñstayäwi uru chimputjama lakintaña"
-#: ../src/jarabe/journal/journaltoolbox.py:539
+#: ../src/jarabe/journal/journaltoolbox.py:550
msgid "Sort by size"
msgstr "Tañatjama lakintaña"
-#: ../src/jarabe/journal/journaltoolbox.py:548
+#: ../src/jarabe/journal/journaltoolbox.py:559
msgid "Sort view"
msgstr "Uñjaña wakichata lakintaña"
-#: ../src/jarabe/journal/listview.py:323
+#: ../src/jarabe/journal/listview.py:337
msgid "Your Journal is empty"
msgstr "Sapüru luraña wakichäwima ch'usawa"
-#: ../src/jarabe/journal/listview.py:326
+#: ../src/jarabe/journal/listview.py:340
msgid "Your documents folder is empty"
msgstr "Wakichatanakama imaña wakichäwi ch'usawa"
-#: ../src/jarabe/journal/listview.py:328
+#: ../src/jarabe/journal/listview.py:342
msgid "The device is empty"
msgstr "Wakichäwi wakichaña ch'usawa"
-#: ../src/jarabe/journal/listview.py:330
+#: ../src/jarabe/journal/listview.py:344
msgid "No matching entries"
msgstr "Katuqaña ukhampura wakichatanaka janiwa utjiti"
@@ -1621,61 +1633,57 @@ msgid "Choose an object"
msgstr "Maya apnaqaña wakichata katma"
#: ../src/jarabe/journal/objectchooser.py:156
-#: ../src/jarabe/view/viewsource.py:414
+#: ../src/jarabe/view/viewsource.py:415
msgid "Close"
msgstr "Jiwayaña"
-#: ../src/jarabe/journal/palettes.py:74
+#: ../src/jarabe/journal/palettes.py:75
msgid "Resume with"
msgstr "Uka wakichatampi mayampi qalltaña"
-#: ../src/jarabe/journal/palettes.py:77
+#: ../src/jarabe/journal/palettes.py:78
msgid "Start with"
msgstr "Uka wakichatampi qalltaña"
-#: ../src/jarabe/journal/palettes.py:90 ../src/jarabe/journal/palettes.py:377
+#: ../src/jarabe/journal/palettes.py:91 ../src/jarabe/journal/palettes.py:388
msgid "No activity to start entry"
msgstr "Machaqa luräwi qalltañataki maya luräwiwa jani jakisiti"
-#: ../src/jarabe/journal/palettes.py:114
+#: ../src/jarabe/journal/palettes.py:115
msgid "Send to"
msgstr "Uka wakichataru apayaña"
-#: ../src/jarabe/journal/palettes.py:123
+#: ../src/jarabe/journal/palettes.py:124
msgid "View Details"
msgstr "Wakichatanaka uñaña"
-#: ../src/jarabe/journal/palettes.py:180
+#: ../src/jarabe/journal/palettes.py:181
msgid "Entries without a file cannot be sent."
msgstr "Jani imaña wakichataru imata luräwinakaxa janiwa apaqañjamati."
-#: ../src/jarabe/journal/palettes.py:265 ../src/jarabe/journal/palettes.py:298
+#: ../src/jarabe/journal/palettes.py:276 ../src/jarabe/journal/palettes.py:309
#: ../src/jarabe/journal/volumestoolbar.py:300
msgid "Entries without a file cannot be copied."
msgstr "Jani imaña wakichataru imata luräwinakaxa janiwa apaqañjamati."
-#: ../src/jarabe/journal/palettes.py:287
+#: ../src/jarabe/journal/palettes.py:298
msgid "Clipboard"
msgstr "Laphi k'ipi"
-#: ../src/jarabe/journal/palettes.py:342
+#: ../src/jarabe/journal/palettes.py:353
msgid "No friends present"
msgstr "Janiwa masisanaka mantapxiti"
-#: ../src/jarabe/journal/palettes.py:347
+#: ../src/jarabe/journal/palettes.py:358
msgid "No valid connection found"
msgstr "Chiqapa mantata janiwa katuyasiti"
-#: ../src/jarabe/journal/palettes.py:375
+#: ../src/jarabe/journal/palettes.py:386
msgid "No activity to resume entry"
msgstr "Machaqa luräwi mayampi lurañataki maya luräwiwa jani utjiti"
-#: ../src/jarabe/journal/volumestoolbar.py:210
-msgid "Documents"
-msgstr "Wakichatanaka"
-
#: ../src/jarabe/journal/volumestoolbar.py:385
-#: ../src/jarabe/view/palettes.py:207 ../src/jarabe/view/palettes.py:269
+#: ../src/jarabe/view/palettes.py:226 ../src/jarabe/view/palettes.py:293
#, python-format
msgid "%(free_space)d MB Free"
msgstr "%(free_space)d MB utjiri wakichata"
@@ -1810,7 +1818,7 @@ msgstr "Modem wakichata qalltkasina pantjasiwi."
#: ../src/jarabe/model/network.py:272
msgid "Failed to select the specified GSM APN"
-msgstr "(APN) GSM wakichataru mantaña thaqkasina pantjasiwi."
+msgstr "(APN) GSM wakichataru mantaña thaqkasina pantjasiwi"
#: ../src/jarabe/model/network.py:274
msgid "Not searching for networks."
@@ -1877,88 +1885,88 @@ msgstr "Bluetooth wakichatampi mayachäwi suykämiru pantjasiwi."
msgid "Unused."
msgstr "Jani apanaqata."
-#: ../src/jarabe/view/buddymenu.py:67
+#: ../src/jarabe/view/buddymenu.py:73
msgid "Remove friend"
msgstr "Masi chhaqtayaña"
-#: ../src/jarabe/view/buddymenu.py:70
+#: ../src/jarabe/view/buddymenu.py:76
msgid "Make friend"
msgstr "Masi jikxataña"
-#: ../src/jarabe/view/buddymenu.py:87
+#: ../src/jarabe/view/buddymenu.py:92
msgid "Shutdown"
msgstr "Jiwayaña"
-#: ../src/jarabe/view/buddymenu.py:95
+#: ../src/jarabe/view/buddymenu.py:99
msgid "Restart"
msgstr "Wasitata qalltaña"
-#: ../src/jarabe/view/buddymenu.py:101
+#: ../src/jarabe/view/buddymenu.py:105
msgid "Logout"
msgstr "Mistuña"
-#: ../src/jarabe/view/buddymenu.py:106
+#: ../src/jarabe/view/buddymenu.py:110
msgid "My Settings"
msgstr "Wakichata chhiqachatanakaja"
-#: ../src/jarabe/view/buddymenu.py:142
+#: ../src/jarabe/view/buddymenu.py:150
#, python-format
msgid "Invite to %s"
-msgstr "%s chaniru jawst'aña "
+msgstr "%s chaniru jawst'aña"
#: ../src/jarabe/view/launcher.py:145
#, python-format
msgid "<b>%s</b> failed to start."
-msgstr "<b>%s</b> wakichata qalltkasina pantjasiwi. "
+msgstr "<b>%s</b> wakichata qalltkasina pantjasiwi."
-#: ../src/jarabe/view/palettes.py:50
+#: ../src/jarabe/view/palettes.py:52
msgid "Starting..."
msgstr "Qalltaskiwa..."
-#: ../src/jarabe/view/palettes.py:60
+#: ../src/jarabe/view/palettes.py:62
msgid "Activity failed to start"
msgstr "Luräwi qalltkasina pantjasiwi"
#. TODO: share-with, keep
-#: ../src/jarabe/view/palettes.py:93
+#: ../src/jarabe/view/palettes.py:103
msgid "View Source"
msgstr "Qhanayiri uñakipaña"
-#: ../src/jarabe/view/palettes.py:104
+#: ../src/jarabe/view/palettes.py:111
msgid "Stop"
msgstr "Sayt'ayaña"
-#: ../src/jarabe/view/palettes.py:141
+#: ../src/jarabe/view/palettes.py:154
msgid "Start new"
msgstr "Mayampi qalltaña"
-#: ../src/jarabe/view/palettes.py:223
+#: ../src/jarabe/view/palettes.py:242
msgctxt "Volume"
msgid "Remove"
msgstr "Chhaqtayaña"
-#: ../src/jarabe/view/viewsource.py:267
+#: ../src/jarabe/view/viewsource.py:268
msgid "Instance Source"
-msgstr "Jikxataña yatiyiri "
+msgstr "Jikxataña yatiyiri"
-#: ../src/jarabe/view/viewsource.py:316
+#: ../src/jarabe/view/viewsource.py:317
msgid "Source"
msgstr "Naktayiri"
-#: ../src/jarabe/view/viewsource.py:378
+#: ../src/jarabe/view/viewsource.py:379
msgid "Activity Bundle Source"
msgstr "Luräwi wakichata yatiyiri"
-#: ../src/jarabe/view/viewsource.py:397
+#: ../src/jarabe/view/viewsource.py:398
msgid "Sugar Toolkit Source"
msgstr "Sugar Toolkit wakichata yatiyirinaka"
-#: ../src/jarabe/view/viewsource.py:404
+#: ../src/jarabe/view/viewsource.py:405
#, python-format
msgid "View source: %s"
msgstr "Yatiyiri chimpupa uñjaña: %s"
-#: ../src/jarabe/view/viewsource.py:405
+#: ../src/jarabe/view/viewsource.py:406
#, python-format
msgid "View source: %r"
msgstr "Yatiyiri chimpupa uñjaña: %r"
diff --git a/po/ne.po b/po/ne.po
index 2c0c61c..4b22f5e 100644
--- a/po/ne.po
+++ b/po/ne.po
@@ -6,9 +6,9 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-10-19 00:34-0400\n"
-"PO-Revision-Date: 2012-10-28 11:14+0200\n"
-"Last-Translator: aman0115 <aman.maharjan@olenepal.org>\n"
+"POT-Creation-Date: 2013-01-20 21:08-0500\n"
+"PO-Revision-Date: 2013-05-08 13:30+0200\n"
+"Last-Translator: kayomars.puri <kayo.mars@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: ne\n"
"MIME-Version: 1.0\n"
@@ -19,7 +19,7 @@ msgstr ""
#: ../extensions/cpsection/aboutme/__init__.py:24
msgid "About Me"
-msgstr "मेरो बारेमा"
+msgstr "मेरो बा"
#: ../extensions/cpsection/aboutme/model.py:48
msgid "You must enter a name."
@@ -53,7 +53,7 @@ msgstr "तोकिएको रङ्ग परिमार्जकहरु
msgid "Error in specified colors."
msgstr "तोकिएको रङ्गहरुमा त्रुटी छ।"
-#: ../extensions/cpsection/aboutme/view.py:216
+#: ../extensions/cpsection/aboutme/view.py:212
msgid "Click to change your color:"
msgstr "रङ्ग परिवर्तन गर्न क्लिक गरः"
@@ -121,7 +121,7 @@ msgstr "मिती & समय"
msgid "Error timezone does not exist."
msgstr "त्रुटि, समयक्षेत्र उपलब्ध छैन।"
-#: ../extensions/cpsection/datetime/view.py:70 ../data/sugar.schemas.in.h:54
+#: ../extensions/cpsection/datetime/view.py:66 ../data/sugar.schemas.in.h:54
msgid "Timezone"
msgstr "समयक्षेत्र"
@@ -397,31 +397,31 @@ msgstr "%.0f KB"
msgid "%.1f MB"
msgstr "%.1f KB"
-#: ../extensions/deviceicon/battery.py:70
+#: ../extensions/deviceicon/battery.py:71
msgid "My Battery"
msgstr "मेरो ब्यााटरी"
-#: ../extensions/deviceicon/battery.py:151
+#: ../extensions/deviceicon/battery.py:153
msgid "Removed"
msgstr "हटाइयो"
-#: ../extensions/deviceicon/battery.py:154
+#: ../extensions/deviceicon/battery.py:156
msgid "Charging"
msgstr "चार्ज हुँदैछ"
-#: ../extensions/deviceicon/battery.py:157
+#: ../extensions/deviceicon/battery.py:159
msgid "Very little power remaining"
msgstr "एकदमै थोरै शक्‍ति बाँकी छ"
# %(hour)d:%(min).2d are variables (separated by a : )
#. TRANS: do not translate %(hour)d:%(min).2d it is a variable,
#. only translate the word "remaining"
-#: ../extensions/deviceicon/battery.py:164
+#: ../extensions/deviceicon/battery.py:166
#, python-format
msgid "%(hour)d:%(min).2d remaining"
msgstr "%(hour)d:%(min).2d बाँकी"
-#: ../extensions/deviceicon/battery.py:167
+#: ../extensions/deviceicon/battery.py:169
msgid "Charged"
msgstr "चार्ज भयो"
@@ -429,15 +429,15 @@ msgstr "चार्ज भयो"
msgid "Show my keyboard"
msgstr "किबोर्ड देखाउ"
-#: ../extensions/deviceicon/network.py:50
+#: ../extensions/deviceicon/network.py:51
#, python-format
msgid "IP address: %s"
msgstr "IP अड्रेस: %s"
-#: ../extensions/deviceicon/network.py:80
-#: ../extensions/deviceicon/network.py:296
-#: ../src/jarabe/desktop/networkviews.py:130
-#: ../src/jarabe/desktop/networkviews.py:499
+#: ../extensions/deviceicon/network.py:83
+#: ../extensions/deviceicon/network.py:299
+#: ../src/jarabe/desktop/networkviews.py:137
+#: ../src/jarabe/desktop/networkviews.py:509
msgid "Disconnect"
msgstr "विच्छेद भयो"
@@ -445,162 +445,162 @@ msgstr "विच्छेद भयो"
# priority over the normal wireless device. NM doesn't have a "disconnect"
# method for a device either (for various reasons) so this doesn't
# have a good mapping
-#: ../extensions/deviceicon/network.py:105
-#: ../extensions/deviceicon/network.py:288
-#: ../src/jarabe/desktop/networkviews.py:241
-#: ../src/jarabe/desktop/networkviews.py:539
-#: ../src/jarabe/desktop/networkviews.py:674
+#: ../extensions/deviceicon/network.py:108
+#: ../extensions/deviceicon/network.py:291
+#: ../src/jarabe/desktop/networkviews.py:252
+#: ../src/jarabe/desktop/networkviews.py:550
+#: ../src/jarabe/desktop/networkviews.py:691
msgid "Connecting..."
msgstr "जडान हुदैछ..."
# TODO: show the channel number
-#: ../extensions/deviceicon/network.py:110
-#: ../extensions/deviceicon/network.py:178
-#: ../src/jarabe/desktop/networkviews.py:248
-#: ../src/jarabe/desktop/networkviews.py:545
-#: ../src/jarabe/desktop/networkviews.py:680
+#: ../extensions/deviceicon/network.py:113
+#: ../extensions/deviceicon/network.py:181
+#: ../src/jarabe/desktop/networkviews.py:259
+#: ../src/jarabe/desktop/networkviews.py:556
+#: ../src/jarabe/desktop/networkviews.py:697
msgid "Connected"
msgstr "जडान भयो"
-#: ../extensions/deviceicon/network.py:123
+#: ../extensions/deviceicon/network.py:126
msgid "No wireless connection"
msgstr "वायरलेस जडान छैन"
-#: ../extensions/deviceicon/network.py:137
+#: ../extensions/deviceicon/network.py:140
msgid "Channel"
msgstr "माध्यम"
-#: ../extensions/deviceicon/network.py:152
+#: ../extensions/deviceicon/network.py:155
msgid "Wired Network"
msgstr "तार युक्त सञ्जाल"
-#: ../extensions/deviceicon/network.py:181
+#: ../extensions/deviceicon/network.py:184
msgid "Speed"
msgstr "गति"
-#: ../extensions/deviceicon/network.py:206
+#: ../extensions/deviceicon/network.py:209
msgid "Wireless modem"
msgstr "वायरलेस मोडेम"
-#: ../extensions/deviceicon/network.py:274
+#: ../extensions/deviceicon/network.py:277
msgid "Please wait..."
msgstr "कृपया पर्खनुहोस्..."
-#: ../extensions/deviceicon/network.py:279
-#: ../src/jarabe/desktop/networkviews.py:126
-#: ../src/jarabe/desktop/networkviews.py:494
-#: ../src/jarabe/desktop/networkviews.py:630
+#: ../extensions/deviceicon/network.py:282
+#: ../src/jarabe/desktop/networkviews.py:131
+#: ../src/jarabe/desktop/networkviews.py:503
+#: ../src/jarabe/desktop/networkviews.py:642
msgid "Connect"
msgstr "जोड"
-#: ../extensions/deviceicon/network.py:280
+#: ../extensions/deviceicon/network.py:283
msgid "Disconnected"
msgstr "विच्छेद भयो"
-#: ../extensions/deviceicon/network.py:287
+#: ../extensions/deviceicon/network.py:290
#: ../src/jarabe/controlpanel/toolbar.py:121
-#: ../src/jarabe/desktop/homebox.py:68 ../src/jarabe/desktop/keydialog.py:97
-#: ../src/jarabe/frame/activitiestray.py:606
-#: ../src/jarabe/frame/activitiestray.py:708
-#: ../src/jarabe/frame/activitiestray.py:736
-#: ../src/jarabe/journal/journaltoolbox.py:427
-#: ../src/jarabe/journal/palettes.py:153
+#: ../src/jarabe/desktop/homebox.py:68 ../src/jarabe/desktop/keydialog.py:100
+#: ../src/jarabe/frame/activitiestray.py:611
+#: ../src/jarabe/frame/activitiestray.py:713
+#: ../src/jarabe/frame/activitiestray.py:741
+#: ../src/jarabe/journal/journaltoolbox.py:428
+#: ../src/jarabe/journal/palettes.py:154
msgid "Cancel"
msgstr "रद्द"
-#: ../extensions/deviceicon/network.py:326
+#: ../extensions/deviceicon/network.py:329
msgid "Try connection again"
msgstr "सम्बन्ध स्थापित गर्नको लागि पुन: प्रयास गर्नुहोस्"
-#: ../extensions/deviceicon/network.py:329
+#: ../extensions/deviceicon/network.py:332
#, python-format
msgid "Error: %s"
msgstr "त्रुटि: %s"
-#: ../extensions/deviceicon/network.py:333
+#: ../extensions/deviceicon/network.py:336
#, python-format
msgid "Suggestion: %s"
msgstr "सुझाव: %s"
-#: ../extensions/deviceicon/network.py:342
+#: ../extensions/deviceicon/network.py:345
#, python-format
msgid "Connected for %s"
msgstr "%s सम्म जोडियो"
-#: ../extensions/deviceicon/network.py:348
-#: ../extensions/deviceicon/network.py:349
+#: ../extensions/deviceicon/network.py:351
+#: ../extensions/deviceicon/network.py:352
#, python-format
msgid "%d KB"
msgstr "%d KB"
-#: ../extensions/deviceicon/network.py:354
+#: ../extensions/deviceicon/network.py:357
msgid "Check your PIN/PUK configuration."
msgstr "तिम्रो PIN/PUK विन्यासको जाँच गर।"
-#: ../extensions/deviceicon/network.py:357
+#: ../extensions/deviceicon/network.py:360
msgid "Check your Access Point Name (APN) configuration"
msgstr "तिम्रो एक्सेस पोइन्ट नेमको (APN) विन्यासको जाँच गर।"
-#: ../extensions/deviceicon/network.py:361
+#: ../extensions/deviceicon/network.py:364
msgid "Check the Number configuration."
msgstr "संख्या विन्यासको जाँच गर।"
-#: ../extensions/deviceicon/network.py:363
+#: ../extensions/deviceicon/network.py:366
msgid "Check your configuration."
msgstr "तिम्रो विन्यासको जाँच गर।"
-#: ../extensions/deviceicon/network.py:607
+#: ../extensions/deviceicon/network.py:611
msgid "Mesh Network"
msgstr "मेश सञ्जाल"
-#: ../extensions/deviceicon/network.py:652
+#: ../extensions/deviceicon/network.py:655
#, python-format
msgid "Mesh Network %s"
msgstr "मेश सञ्जाल %s"
-#: ../extensions/deviceicon/network.py:783
+#: ../extensions/deviceicon/network.py:774
msgid "No GSM connection available."
msgstr "कुनै पनि GSM कनेक्सन उपलब्ध छैन।"
-#: ../extensions/deviceicon/network.py:784
+#: ../extensions/deviceicon/network.py:775
msgid "Create a connection in the control panel."
msgstr "कन्ट्रोल पानेल मा नयाँ कनेक्सन बनाऊ ।"
-#: ../extensions/deviceicon/speech.py:53
+#: ../extensions/deviceicon/speech.py:54
msgid "Speech"
msgstr "भाषण"
-#: ../extensions/deviceicon/speech.py:81
-#: ../extensions/deviceicon/speech.py:155
-#: ../extensions/deviceicon/speech.py:160
+#: ../extensions/deviceicon/speech.py:78
+#: ../extensions/deviceicon/speech.py:152
+#: ../extensions/deviceicon/speech.py:157
msgid "Say selected text"
msgstr "चुनिएका पाठ भन"
-#: ../extensions/deviceicon/speech.py:88
+#: ../extensions/deviceicon/speech.py:85
msgid "Stop playback"
msgstr "पाशर्व बन्द गर"
-#: ../extensions/deviceicon/speech.py:98
+#: ../extensions/deviceicon/speech.py:94
msgid "Pitch"
msgstr "पिच"
-#: ../extensions/deviceicon/speech.py:112
+#: ../extensions/deviceicon/speech.py:109
msgid "Rate"
msgstr "गति"
-#: ../extensions/deviceicon/speech.py:150
+#: ../extensions/deviceicon/speech.py:147
msgid "Pause playback"
msgstr "पाशर्व रोक"
-#: ../extensions/deviceicon/speaker.py:62
+#: ../extensions/deviceicon/speaker.py:61
msgid "My Speakers"
msgstr "मेरो स्पिकरहरु"
-#: ../extensions/deviceicon/speaker.py:142
+#: ../extensions/deviceicon/speaker.py:136
msgid "Unmute"
msgstr "आवाज खोल"
-#: ../extensions/deviceicon/speaker.py:145
+#: ../extensions/deviceicon/speaker.py:139
msgid "Mute"
msgstr "आवाज बन्द गर"
@@ -616,7 +616,7 @@ msgstr "स्टाइलस"
msgid "My touchpad"
msgstr "मेरो टचप्याड"
-#: ../extensions/deviceicon/volume.py:74 ../src/jarabe/view/palettes.py:171
+#: ../extensions/deviceicon/volume.py:73 ../src/jarabe/view/palettes.py:185
msgid "Show contents"
msgstr "वस्तुहरु देखाउ"
@@ -979,32 +979,32 @@ msgstr ""
msgid "To apply your changes you have to restart Sugar.\n"
msgstr "परिवर्तन लागू गर्न सुगर पुन:शुरु गर्नु पर्छ ।\n"
-#: ../src/jarabe/controlpanel/gui.py:298 ../src/jarabe/journal/palettes.py:181
-#: ../src/jarabe/journal/palettes.py:266 ../src/jarabe/journal/palettes.py:299
+#: ../src/jarabe/controlpanel/gui.py:315 ../src/jarabe/journal/palettes.py:182
+#: ../src/jarabe/journal/palettes.py:277 ../src/jarabe/journal/palettes.py:310
#: ../src/jarabe/journal/volumestoolbar.py:301
msgid "Warning"
msgstr "सावधान"
-#: ../src/jarabe/controlpanel/gui.py:299
+#: ../src/jarabe/controlpanel/gui.py:316
#: ../src/jarabe/controlpanel/sectionview.py:41
msgid "Changes require restart"
msgstr "परिवर्तनका लागि पुण: सुरु गर्न आवश्यक छ"
-#: ../src/jarabe/controlpanel/gui.py:302
+#: ../src/jarabe/controlpanel/gui.py:319
msgid "Cancel changes"
msgstr "परिवर्तनहरु रद्द गर"
-#: ../src/jarabe/controlpanel/gui.py:307 ../src/jarabe/desktop/homebox.py:70
+#: ../src/jarabe/controlpanel/gui.py:324 ../src/jarabe/desktop/homebox.py:70
msgid "Later"
msgstr "पछि"
-#: ../src/jarabe/controlpanel/gui.py:311
+#: ../src/jarabe/controlpanel/gui.py:328
msgid "Restart now"
msgstr "पुन: सुरु गर"
#: ../src/jarabe/controlpanel/toolbar.py:56
#: ../src/jarabe/desktop/viewtoolbar.py:100
-#: ../src/jarabe/journal/journaltoolbox.py:82
+#: ../src/jarabe/journal/journaltoolbox.py:83
#, python-format
msgid "Search in %s"
msgstr "%s मा खोज"
@@ -1018,30 +1018,30 @@ msgid "Done"
msgstr "भयो"
#: ../src/jarabe/controlpanel/toolbar.py:127
-#: ../src/jarabe/desktop/favoritesview.py:337
-#: ../src/jarabe/desktop/keydialog.py:101
+#: ../src/jarabe/desktop/favoritesview.py:366
+#: ../src/jarabe/desktop/keydialog.py:104
msgid "Ok"
msgstr "हुन्छ"
-#: ../src/jarabe/desktop/activitieslist.py:243
+#: ../src/jarabe/desktop/activitieslist.py:244
#, python-format
msgid "Version %s"
msgstr "संस्करण %s"
-#: ../src/jarabe/desktop/activitieslist.py:344
-#: ../src/jarabe/journal/listview.py:411
+#: ../src/jarabe/desktop/activitieslist.py:345
+#: ../src/jarabe/journal/listview.py:425
msgid "Clear search"
msgstr "खोजलाई सफा गर"
-#: ../src/jarabe/desktop/activitieslist.py:417
+#: ../src/jarabe/desktop/activitieslist.py:418
msgid "No matching activities"
msgstr "मिल्ने क्रियाकलाप छैन"
-#: ../src/jarabe/desktop/activitieslist.py:453
+#: ../src/jarabe/desktop/activitieslist.py:454
msgid "Confirm erase"
msgstr "साँच्चै मेट्ने"
-#: ../src/jarabe/desktop/activitieslist.py:455
+#: ../src/jarabe/desktop/activitieslist.py:456
#, python-format
msgid "Confirm erase: Do you want to permanently erase %s?"
msgstr "मेट्ने पुष्टि : %s लाई सधैँको लागी मेट्न चहान्छौ?"
@@ -1050,25 +1050,25 @@ msgstr "मेट्ने पुष्टि : %s लाई सधैँको
# TODO: Implement stopping downloads
# self._stop_item.connect('activate', self._stop_item_activate_cb)
# self.append_menu_item(self._stop_item)
-#: ../src/jarabe/desktop/activitieslist.py:459
-#: ../src/jarabe/frame/clipboardmenu.py:67
-#: ../src/jarabe/view/viewsource.py:284
+#: ../src/jarabe/desktop/activitieslist.py:460
+#: ../src/jarabe/frame/clipboardmenu.py:65
+#: ../src/jarabe/view/viewsource.py:285
msgid "Keep"
msgstr "राख"
-#: ../src/jarabe/desktop/activitieslist.py:462
-#: ../src/jarabe/desktop/activitieslist.py:516
-#: ../src/jarabe/journal/journaltoolbox.py:393
-#: ../src/jarabe/journal/journaltoolbox.py:422
-#: ../src/jarabe/journal/palettes.py:128 ../src/jarabe/journal/palettes.py:148
+#: ../src/jarabe/desktop/activitieslist.py:463
+#: ../src/jarabe/desktop/activitieslist.py:517
+#: ../src/jarabe/journal/journaltoolbox.py:394
+#: ../src/jarabe/journal/journaltoolbox.py:423
+#: ../src/jarabe/journal/palettes.py:129 ../src/jarabe/journal/palettes.py:149
msgid "Erase"
msgstr "मेट"
-#: ../src/jarabe/desktop/activitieslist.py:532
+#: ../src/jarabe/desktop/activitieslist.py:533
msgid "Remove favorite"
msgstr "मनपर्ने हटाउ"
-#: ../src/jarabe/desktop/activitieslist.py:536
+#: ../src/jarabe/desktop/activitieslist.py:537
msgid "Make favorite"
msgstr "प्रिय बनाउ"
@@ -1102,24 +1102,24 @@ msgstr "बाकस"
msgid "Triangle"
msgstr "त्रिकोण"
-#: ../src/jarabe/desktop/favoritesview.py:328
+#: ../src/jarabe/desktop/favoritesview.py:357
msgid "Registration Failed"
msgstr "दर्ता असफल भयो"
-#: ../src/jarabe/desktop/favoritesview.py:331
+#: ../src/jarabe/desktop/favoritesview.py:360
msgid "Registration Successful"
msgstr "दर्ता सफल भयो"
-#: ../src/jarabe/desktop/favoritesview.py:332
+#: ../src/jarabe/desktop/favoritesview.py:361
msgid "You are now registered with your school server."
msgstr "अब तपाईँको नाम बिद्यालयको सर्भरमा दर्ता भइसक्यो।"
-#: ../src/jarabe/desktop/favoritesview.py:611
+#: ../src/jarabe/desktop/favoritesview.py:645
msgid "Register"
msgstr "दर्ता"
-#: ../src/jarabe/desktop/favoritesview.py:613
-#: ../src/jarabe/desktop/favoritesview.py:629
+#: ../src/jarabe/desktop/favoritesview.py:648
+#: ../src/jarabe/desktop/favoritesview.py:664
msgid "Register again"
msgstr "दर्ता फेरी गर"
@@ -1136,48 +1136,48 @@ msgstr "अहिले जाँच गर"
msgid "Neighborhood"
msgstr "छिमेक"
-#: ../src/jarabe/desktop/keydialog.py:91
+#: ../src/jarabe/desktop/keydialog.py:94
#, python-format
msgid ""
"A wireless encryption key is required for\n"
" the wireless network '%s'."
msgstr "तारबिना सञ्जाल '%s' को लागि तारबिना कुञ्जीको जरुरी छ"
-#: ../src/jarabe/desktop/keydialog.py:146
+#: ../src/jarabe/desktop/keydialog.py:149
msgid "Key Type:"
msgstr "कुञ्जी प्रकार:"
-#: ../src/jarabe/desktop/keydialog.py:166
+#: ../src/jarabe/desktop/keydialog.py:169
msgid "Authentication Type:"
msgstr "प्रमाणीकरण प्रकार:"
-#: ../src/jarabe/desktop/keydialog.py:229
+#: ../src/jarabe/desktop/keydialog.py:232
msgid "WPA & WPA2 Personal"
msgstr "WPA र WPA2 निजी"
-#: ../src/jarabe/desktop/keydialog.py:238
+#: ../src/jarabe/desktop/keydialog.py:241
msgid "Wireless Security:"
msgstr "तारबिनाको लागि सुरक्षा"
# TRANS: Action label for resuming an activity.
#. TRANS: Action label for resuming an activity.
-#: ../src/jarabe/desktop/meshbox.py:79
-#: ../src/jarabe/journal/journaltoolbox.py:506
-#: ../src/jarabe/journal/palettes.py:73 ../src/jarabe/view/palettes.py:86
+#: ../src/jarabe/desktop/meshbox.py:82
+#: ../src/jarabe/journal/journaltoolbox.py:517
+#: ../src/jarabe/journal/palettes.py:74 ../src/jarabe/view/palettes.py:97
msgid "Resume"
msgstr "पुनरारम्भ"
-#: ../src/jarabe/desktop/meshbox.py:84
-#: ../src/jarabe/frame/activitiestray.py:182
+#: ../src/jarabe/desktop/meshbox.py:88
+#: ../src/jarabe/frame/activitiestray.py:187
msgid "Join"
msgstr "सहभागी होऊ"
-#: ../src/jarabe/desktop/networkviews.py:490
+#: ../src/jarabe/desktop/networkviews.py:497
#, python-format
msgid "Ad-hoc Network %d"
msgstr "Ad-hoc सञ्जाल %d"
-#: ../src/jarabe/desktop/networkviews.py:627
+#: ../src/jarabe/desktop/networkviews.py:637
#, python-format
msgid "Mesh Network %d"
msgstr "मेश सञ्जाल %d"
@@ -1206,69 +1206,69 @@ msgstr "मन्पर्दो दृश्य"
msgid "<Ctrl>1"
msgstr "<Ctrl>१"
-#: ../src/jarabe/frame/activitiestray.py:187
-#: ../src/jarabe/frame/activitiestray.py:578
+#: ../src/jarabe/frame/activitiestray.py:192
+#: ../src/jarabe/frame/activitiestray.py:583
msgid "Decline"
msgstr "नाई"
-#: ../src/jarabe/frame/activitiestray.py:526
+#: ../src/jarabe/frame/activitiestray.py:531
#, python-format
msgid "%dB"
msgstr "%dB"
-#: ../src/jarabe/frame/activitiestray.py:528
+#: ../src/jarabe/frame/activitiestray.py:533
#, python-format
msgid "%dKB"
msgstr "%dKB"
-#: ../src/jarabe/frame/activitiestray.py:530
+#: ../src/jarabe/frame/activitiestray.py:535
#, python-format
msgid "%dMB"
msgstr "%dMB"
#. TRANS: file transfer, bytes transferred, e.g. 128 of 1024
-#: ../src/jarabe/frame/activitiestray.py:548
+#: ../src/jarabe/frame/activitiestray.py:553
#, python-format
msgid "%s of %s"
msgstr "%s को %s"
-#: ../src/jarabe/frame/activitiestray.py:562
+#: ../src/jarabe/frame/activitiestray.py:567
#, python-format
#, python-format,
msgid "Transfer from %s"
msgstr "%s बाट सार्नुहोस"
-#: ../src/jarabe/frame/activitiestray.py:573
+#: ../src/jarabe/frame/activitiestray.py:578
msgid "Accept"
msgstr "स्विकार"
-#: ../src/jarabe/frame/activitiestray.py:630
-#: ../src/jarabe/frame/activitiestray.py:643
-#: ../src/jarabe/frame/activitiestray.py:761
+#: ../src/jarabe/frame/activitiestray.py:635
+#: ../src/jarabe/frame/activitiestray.py:648
+#: ../src/jarabe/frame/activitiestray.py:766
msgid "Dismiss"
msgstr "खारेज गर्नुहोस्"
-#: ../src/jarabe/frame/activitiestray.py:647
+#: ../src/jarabe/frame/activitiestray.py:652
msgid "The other participant canceled the file transfer"
msgstr "अर्को सहभागीले फाइल सार्ने रद्द गर्यो"
-#: ../src/jarabe/frame/activitiestray.py:695
+#: ../src/jarabe/frame/activitiestray.py:700
#, python-format
#, python-format,
msgid "Transfer to %s"
msgstr "%s मा सार्नुहोस"
-#: ../src/jarabe/frame/clipboardmenu.py:56
+#: ../src/jarabe/frame/clipboardmenu.py:54
msgctxt "Clipboard"
msgid "Remove"
msgstr "हटाउनुहोस्"
-#: ../src/jarabe/frame/clipboardmenu.py:62
-#: ../src/jarabe/frame/clipboardmenu.py:85
+#: ../src/jarabe/frame/clipboardmenu.py:60
+#: ../src/jarabe/frame/clipboardmenu.py:83
msgid "Open"
msgstr "खोल"
-#: ../src/jarabe/frame/clipboardmenu.py:90
+#: ../src/jarabe/frame/clipboardmenu.py:88
msgid "Open with"
msgstr "सगँ खोल"
@@ -1309,18 +1309,18 @@ msgstr "पछाडि"
msgid "Next"
msgstr "अर्को"
-#: ../src/jarabe/journal/expandedentry.py:145
+#: ../src/jarabe/journal/expandedentry.py:151
#: ../src/jarabe/journal/listmodel.py:145 ../src/jarabe/journal/model.py:703
-#: ../src/jarabe/journal/palettes.py:66
+#: ../src/jarabe/journal/palettes.py:67
#: ../src/jarabe/journal/volumestoolbar.py:131
msgid "Untitled"
msgstr "बिना शिर्षक"
-#: ../src/jarabe/journal/expandedentry.py:259
+#: ../src/jarabe/journal/expandedentry.py:260
msgid "No preview"
msgstr "पूर्वावलोकन छैन"
-#: ../src/jarabe/journal/expandedentry.py:273
+#: ../src/jarabe/journal/expandedentry.py:274
#, python-format
msgid "Kind: %s"
msgstr "प्रकार: %s"
@@ -1341,143 +1341,149 @@ msgstr "मिति: %s"
msgid "Size: %s"
msgstr "साइज: %s"
-#: ../src/jarabe/journal/expandedentry.py:299
+#: ../src/jarabe/journal/expandedentry.py:302
#: ../src/jarabe/journal/misc.py:108
msgid "No date"
msgstr "मिति छैन"
-#: ../src/jarabe/journal/expandedentry.py:308
+#: ../src/jarabe/journal/expandedentry.py:311
msgid "Participants:"
msgstr "प्रतिभागीहरु:"
-#: ../src/jarabe/journal/expandedentry.py:349
+#: ../src/jarabe/journal/expandedentry.py:353
msgid "Description:"
msgstr "वर्णनः"
-#: ../src/jarabe/journal/expandedentry.py:352
+#: ../src/jarabe/journal/expandedentry.py:356
msgid "Tags:"
msgstr "चिनोहरु:"
#: ../src/jarabe/journal/journalactivity.py:120
-#: ../src/jarabe/journal/journaltoolbox.py:82
-#: ../src/jarabe/journal/journaltoolbox.py:465
-#: ../src/jarabe/journal/palettes.py:218
+#: ../src/jarabe/journal/journaltoolbox.py:83
+#: ../src/jarabe/journal/journaltoolbox.py:466
+#: ../src/jarabe/journal/palettes.py:219
#: ../src/jarabe/journal/volumestoolbar.py:362
msgid "Journal"
msgstr "पंजिका"
-#: ../src/jarabe/journal/journaltoolbox.py:128
+#: ../src/jarabe/journal/journaltoolbox.py:129
msgid "Anytime"
msgstr "कुनैबेला"
-#: ../src/jarabe/journal/journaltoolbox.py:130
+#: ../src/jarabe/journal/journaltoolbox.py:131
msgid "Today"
msgstr "आज"
-#: ../src/jarabe/journal/journaltoolbox.py:132
+#: ../src/jarabe/journal/journaltoolbox.py:133
msgid "Since yesterday"
msgstr "हिजो देखि"
# TRANS: Filter entries modified during the last 7 days.
#. TRANS: Filter entries modified during the last 7 days.
-#: ../src/jarabe/journal/journaltoolbox.py:134
+#: ../src/jarabe/journal/journaltoolbox.py:135
msgid "Past week"
msgstr "गत हप्ता"
# TRANS: Filter entries modified during the last 30 days.
#. TRANS: Filter entries modified during the last 30 days.
-#: ../src/jarabe/journal/journaltoolbox.py:136
+#: ../src/jarabe/journal/journaltoolbox.py:137
msgid "Past month"
msgstr "गत महिना"
# TRANS: Filter entries modified during the last 356 days.
#. TRANS: Filter entries modified during the last 356 days.
-#: ../src/jarabe/journal/journaltoolbox.py:138
+#: ../src/jarabe/journal/journaltoolbox.py:139
msgid "Past year"
msgstr "गत वर्ष"
-#: ../src/jarabe/journal/journaltoolbox.py:145
+#: ../src/jarabe/journal/journaltoolbox.py:146
msgid "Anyone"
msgstr "जो सुकै"
-#: ../src/jarabe/journal/journaltoolbox.py:147
+#: ../src/jarabe/journal/journaltoolbox.py:148
msgid "My friends"
msgstr "मेरा साथीहरु"
-#: ../src/jarabe/journal/journaltoolbox.py:148
+#: ../src/jarabe/journal/journaltoolbox.py:149
msgid "My class"
msgstr "मेरो कक्षा"
# TRANS: Item in a combo box that filters by entry type.
-#: ../src/jarabe/journal/journaltoolbox.py:290
+#: ../src/jarabe/journal/journaltoolbox.py:291
msgid "Anything"
msgstr "कुनैपनि"
-#: ../src/jarabe/journal/journaltoolbox.py:376
-#: ../src/jarabe/journal/palettes.py:95
+#: ../src/jarabe/journal/journaltoolbox.py:377
+#: ../src/jarabe/journal/palettes.py:96
msgid "Copy to"
msgstr "मा प्रतिलिपी बनाउ"
-#: ../src/jarabe/journal/journaltoolbox.py:384
-#: ../src/jarabe/journal/palettes.py:106 ../src/jarabe/view/viewsource.py:278
+#: ../src/jarabe/journal/journaltoolbox.py:385
+#: ../src/jarabe/journal/palettes.py:107 ../src/jarabe/view/viewsource.py:279
msgid "Duplicate"
msgstr "नक्कल"
-#: ../src/jarabe/journal/journaltoolbox.py:417
-#: ../src/jarabe/journal/palettes.py:143 ../src/jarabe/journal/palettes.py:274
+#: ../src/jarabe/journal/journaltoolbox.py:418
+#: ../src/jarabe/journal/palettes.py:144 ../src/jarabe/journal/palettes.py:285
#: ../src/jarabe/journal/volumestoolbar.py:309
#, python-format
msgid "Error while copying the entry. %s"
msgstr "प्रविष्टि कपि गर्दा त्रुटि। %s"
-#: ../src/jarabe/journal/journaltoolbox.py:418
-#: ../src/jarabe/journal/palettes.py:144 ../src/jarabe/journal/palettes.py:275
+#: ../src/jarabe/journal/journaltoolbox.py:419
+#: ../src/jarabe/journal/palettes.py:145 ../src/jarabe/journal/palettes.py:286
#: ../src/jarabe/journal/volumestoolbar.py:310
msgid "Error"
msgstr "त्रुटि"
-#: ../src/jarabe/journal/journaltoolbox.py:424
-#: ../src/jarabe/journal/palettes.py:150
+#: ../src/jarabe/journal/journaltoolbox.py:425
+#: ../src/jarabe/journal/palettes.py:151
#, python-format
msgid "Do you want to permanently erase \"%s\"?"
msgstr "के तिमीलाई \"%s\" स्थायी रुपमा मेटाउन मन छ?"
+#: ../src/jarabe/journal/journaltoolbox.py:476
+#: ../src/jarabe/journal/palettes.py:229
+#: ../src/jarabe/journal/volumestoolbar.py:210
+msgid "Documents"
+msgstr "कागजातहरु"
+
# TRANS: Action label for starting an entry.
#. TRANS: Action label for starting an entry.
-#: ../src/jarabe/journal/journaltoolbox.py:509
-#: ../src/jarabe/journal/palettes.py:76
+#: ../src/jarabe/journal/journaltoolbox.py:520
+#: ../src/jarabe/journal/palettes.py:77
msgid "Start"
msgstr "सुरु गर"
-#: ../src/jarabe/journal/journaltoolbox.py:537
+#: ../src/jarabe/journal/journaltoolbox.py:548
msgid "Sort by date modified"
msgstr "परिमार्जित मिति क्रमबद्व रुपमा राखनुहोस्"
-#: ../src/jarabe/journal/journaltoolbox.py:538
+#: ../src/jarabe/journal/journaltoolbox.py:549
msgid "Sort by date created"
msgstr "परिमार्जित मिति सृजित गरेको अनुसार क्रमबद्व रुपमा राखनुहोस्"
-#: ../src/jarabe/journal/journaltoolbox.py:539
+#: ../src/jarabe/journal/journaltoolbox.py:550
msgid "Sort by size"
msgstr "साइज अनुसार क्रमबद्व रुपमा राखनुहोस्"
-#: ../src/jarabe/journal/journaltoolbox.py:548
+#: ../src/jarabe/journal/journaltoolbox.py:559
msgid "Sort view"
msgstr "क्रमबद्ध दृश्य"
-#: ../src/jarabe/journal/listview.py:323
+#: ../src/jarabe/journal/listview.py:337
msgid "Your Journal is empty"
msgstr "तिम्रो पंजिका खाली छ"
-#: ../src/jarabe/journal/listview.py:326
+#: ../src/jarabe/journal/listview.py:340
msgid "Your documents folder is empty"
msgstr "तिम्रो कागजात फोल्डर खाली छ"
-#: ../src/jarabe/journal/listview.py:328
+#: ../src/jarabe/journal/listview.py:342
msgid "The device is empty"
msgstr "यन्त्र खाली छ"
-#: ../src/jarabe/journal/listview.py:330
+#: ../src/jarabe/journal/listview.py:344
msgid "No matching entries"
msgstr "मिल्ने लेखा छैन"
@@ -1508,61 +1514,57 @@ msgid "Choose an object"
msgstr "वस्तु छान"
#: ../src/jarabe/journal/objectchooser.py:156
-#: ../src/jarabe/view/viewsource.py:414
+#: ../src/jarabe/view/viewsource.py:415
msgid "Close"
msgstr "बन्द"
-#: ../src/jarabe/journal/palettes.py:74
+#: ../src/jarabe/journal/palettes.py:75
msgid "Resume with"
msgstr "पुनरारम्भ सहित"
-#: ../src/jarabe/journal/palettes.py:77
+#: ../src/jarabe/journal/palettes.py:78
msgid "Start with"
msgstr "शुरु सहित"
-#: ../src/jarabe/journal/palettes.py:90 ../src/jarabe/journal/palettes.py:377
+#: ../src/jarabe/journal/palettes.py:91 ../src/jarabe/journal/palettes.py:388
msgid "No activity to start entry"
msgstr "सुरु गर्न कुनै क्रियाकलाप छैन"
-#: ../src/jarabe/journal/palettes.py:114
+#: ../src/jarabe/journal/palettes.py:115
msgid "Send to"
msgstr "पठाउनु"
-#: ../src/jarabe/journal/palettes.py:123
+#: ../src/jarabe/journal/palettes.py:124
msgid "View Details"
msgstr "वृत्तांत हेर"
-#: ../src/jarabe/journal/palettes.py:180
+#: ../src/jarabe/journal/palettes.py:181
msgid "Entries without a file cannot be sent."
msgstr "फाइल नभएको प्रविष्टिहरु पठाउन सकिदैन।"
-#: ../src/jarabe/journal/palettes.py:265 ../src/jarabe/journal/palettes.py:298
+#: ../src/jarabe/journal/palettes.py:276 ../src/jarabe/journal/palettes.py:309
#: ../src/jarabe/journal/volumestoolbar.py:300
msgid "Entries without a file cannot be copied."
msgstr "फाइल नभाको प्रविष्टिहरु कपि हुन सकेन।"
-#: ../src/jarabe/journal/palettes.py:287
+#: ../src/jarabe/journal/palettes.py:298
msgid "Clipboard"
msgstr "क्लिपबोर्ड"
-#: ../src/jarabe/journal/palettes.py:342
+#: ../src/jarabe/journal/palettes.py:353
msgid "No friends present"
msgstr "कुनै पनि साथीहरु हाजीर छैनन्"
-#: ../src/jarabe/journal/palettes.py:347
+#: ../src/jarabe/journal/palettes.py:358
msgid "No valid connection found"
msgstr "कुनै पनि सदर संयोग भेटिएन"
-#: ../src/jarabe/journal/palettes.py:375
+#: ../src/jarabe/journal/palettes.py:386
msgid "No activity to resume entry"
msgstr "पुनरारम्भ गर्न कुनै क्रियाकलाप छैन"
-#: ../src/jarabe/journal/volumestoolbar.py:210
-msgid "Documents"
-msgstr "कागजातहरु"
-
#: ../src/jarabe/journal/volumestoolbar.py:385
-#: ../src/jarabe/view/palettes.py:207 ../src/jarabe/view/palettes.py:269
+#: ../src/jarabe/view/palettes.py:226 ../src/jarabe/view/palettes.py:293
#, python-format
msgid "%(free_space)d MB Free"
msgstr "%(free_space)d MB खालि"
@@ -1754,31 +1756,31 @@ msgstr "ब्लूटूथ संयोजन असफल भयो वा
msgid "Unused."
msgstr "प्रयोग नभएको।"
-#: ../src/jarabe/view/buddymenu.py:67
+#: ../src/jarabe/view/buddymenu.py:73
msgid "Remove friend"
msgstr "साथी हटाऊ"
-#: ../src/jarabe/view/buddymenu.py:70
+#: ../src/jarabe/view/buddymenu.py:76
msgid "Make friend"
msgstr "साथी बनाऊ"
-#: ../src/jarabe/view/buddymenu.py:87
+#: ../src/jarabe/view/buddymenu.py:92
msgid "Shutdown"
msgstr "बन्द"
-#: ../src/jarabe/view/buddymenu.py:95
+#: ../src/jarabe/view/buddymenu.py:99
msgid "Restart"
msgstr "पून: सुरु"
-#: ../src/jarabe/view/buddymenu.py:101
+#: ../src/jarabe/view/buddymenu.py:105
msgid "Logout"
msgstr "लगआउट"
-#: ../src/jarabe/view/buddymenu.py:106
+#: ../src/jarabe/view/buddymenu.py:110
msgid "My Settings"
msgstr "मेरो सेटिंगहरु"
-#: ../src/jarabe/view/buddymenu.py:142
+#: ../src/jarabe/view/buddymenu.py:150
#, python-format
msgid "Invite to %s"
msgstr "%s मा निम्ता देऊ"
@@ -1788,55 +1790,55 @@ msgstr "%s मा निम्ता देऊ"
msgid "<b>%s</b> failed to start."
msgstr "<b>%s</b> सुरुहुन असफल।"
-#: ../src/jarabe/view/palettes.py:50
+#: ../src/jarabe/view/palettes.py:52
msgid "Starting..."
msgstr "शुरु हुदैछ..."
-#: ../src/jarabe/view/palettes.py:60
+#: ../src/jarabe/view/palettes.py:62
msgid "Activity failed to start"
msgstr "क्रियाकलाप सुरुहुन असफल"
#. TODO: share-with, keep
-#: ../src/jarabe/view/palettes.py:93
+#: ../src/jarabe/view/palettes.py:103
msgid "View Source"
msgstr "स्रोत दृश्य"
-#: ../src/jarabe/view/palettes.py:104
+#: ../src/jarabe/view/palettes.py:111
msgid "Stop"
msgstr "बन्द गर"
-#: ../src/jarabe/view/palettes.py:141
+#: ../src/jarabe/view/palettes.py:154
msgid "Start new"
msgstr "नयाँ सुरु गर।"
-#: ../src/jarabe/view/palettes.py:223
+#: ../src/jarabe/view/palettes.py:242
msgctxt "Volume"
msgid "Remove"
msgstr "हटाउनुहोस्"
-#: ../src/jarabe/view/viewsource.py:267
+#: ../src/jarabe/view/viewsource.py:268
msgid "Instance Source"
msgstr "दृष्टांत स्रोत"
-#: ../src/jarabe/view/viewsource.py:316
+#: ../src/jarabe/view/viewsource.py:317
msgid "Source"
msgstr "स्रोत"
-#: ../src/jarabe/view/viewsource.py:378
+#: ../src/jarabe/view/viewsource.py:379
msgid "Activity Bundle Source"
msgstr "क्रियाकलाप बन्डलको स्रोत"
-#: ../src/jarabe/view/viewsource.py:397
+#: ../src/jarabe/view/viewsource.py:398
msgid "Sugar Toolkit Source"
msgstr "सुगर टूलकिटको स्रोत"
-#: ../src/jarabe/view/viewsource.py:404
+#: ../src/jarabe/view/viewsource.py:405
#, python-format
#, python-format,
msgid "View source: %s"
msgstr "स्रोत दृश्य : %s"
-#: ../src/jarabe/view/viewsource.py:405
+#: ../src/jarabe/view/viewsource.py:406
#, python-format
msgid "View source: %r"
msgstr "स्रोत दृश्य : %r"
diff --git a/src/jarabe/desktop/activitieslist.py b/src/jarabe/desktop/activitieslist.py
index 9fdaa16..71f3c61 100644
--- a/src/jarabe/desktop/activitieslist.py
+++ b/src/jarabe/desktop/activitieslist.py
@@ -33,11 +33,13 @@ from sugar3.graphics.icon import Icon, CellRendererIcon
from sugar3.graphics.xocolor import XoColor
from sugar3.graphics.alert import Alert
from sugar3.graphics.palettemenu import PaletteMenuItem
+from sugar3.graphics.palettemenu import PaletteMenuItemSeparator
from jarabe.model import bundleregistry
from jarabe.view.palettes import ActivityPalette
from jarabe.journal import misc
from jarabe.util.normalize import normalize_string
+from jarabe.desktop.favoritesview import ActivityIconDatastoreListener
gconf_client = GConf.Client.get_default()
@@ -86,6 +88,7 @@ class ActivitiesTreeView(Gtk.TreeView):
column = Gtk.TreeViewColumn()
column.pack_start(cell_icon, True)
+ column.set_cell_data_func(cell_icon, self.__set_activity_icon_color)
column.add_attribute(cell_icon, 'file-name', ListModel.COLUMN_ICON)
self.append_column(column)
@@ -137,6 +140,19 @@ class ActivitiesTreeView(Gtk.TreeView):
def __erase_activated_cb(self, cell_renderer, bundle_id):
self.emit('erase-activated', bundle_id)
+ def __set_activity_icon_color(self, column, cell, model, tree_iter, data):
+ listener = model[tree_iter][ListModel.COLUMN_DATASTORE_LISTENER]
+ if len(listener._journal_entries) > 0:
+ xo_color = misc.get_icon_color(listener._journal_entries[0])
+ stroke_color = xo_color.get_stroke_color()
+ fill_color = xo_color.get_fill_color()
+ else:
+ stroke_color = style.COLOR_DESKTOP_ICON.get_svg()
+ fill_color = style.COLOR_TRANSPARENT.get_svg()
+
+ cell.props.stroke_color = stroke_color
+ cell.props.fill_color = fill_color
+
def __favorite_set_data_cb(self, column, cell, model, tree_iter, data):
favorite = model[tree_iter][ListModel.COLUMN_FAVORITE]
if favorite:
@@ -154,8 +170,20 @@ class ActivitiesTreeView(Gtk.TreeView):
not row[ListModel.COLUMN_FAVORITE],
True)
+ def _resume(self, journal_entry, activity_info):
+ if not journal_entry['activity_id']:
+ journal_entry['activity_id'] = activityfactory.create_activity_id()
+ misc.resume(journal_entry, activity_info.get_bundle_id())
+
def __icon_clicked_cb(self, cell, path):
- self._start_activity(path)
+ row = self.get_model()[path]
+ listener = row[ListModel.COLUMN_DATASTORE_LISTENER]
+
+ if listener._journal_entries:
+ self._resume(listener._journal_entries[0],
+ listener._activity_info)
+ else:
+ misc.launch(listener._activity_info)
def _start_activity(self, path):
row = self.get_model()[path]
@@ -196,9 +224,11 @@ class ListModel(Gtk.TreeModelSort):
COLUMN_VERSION_TEXT = 5
COLUMN_DATE = 6
COLUMN_DATE_TEXT = 7
+ COLUMN_DATASTORE_LISTENER = 8
def __init__(self):
- self._model = Gtk.ListStore(str, bool, str, str, str, str, int, str)
+ self._model = Gtk.ListStore(str, bool, str, str, str, str, int,
+ str, ActivityIconDatastoreListener)
self._model_filter = self._model.filter_new()
Gtk.TreeModelSort.__init__(self, model=self._model_filter)
self.set_sort_column_id(ListModel.COLUMN_TITLE, Gtk.SortType.ASCENDING)
@@ -289,7 +319,8 @@ class ListModel(Gtk.TreeModelSort):
version,
_('Version %s') % version,
int(timestamp),
- elapsed_string])
+ elapsed_string,
+ ActivityIconDatastoreListener(activity_info, self)])
def set_visible_func(self, func):
self._model_filter.set_visible_func(func)
@@ -297,6 +328,10 @@ class ListModel(Gtk.TreeModelSort):
def refilter(self):
self._model_filter.refilter()
+ def _update(self, force=False):
+ if force is True:
+ self.refresh_model()
+
class CellRendererFavorite(CellRendererIcon):
__gtype_name__ = 'SugarCellRendererFavorite'
@@ -325,6 +360,7 @@ class CellRendererActivityIcon(CellRendererIcon):
def __init__(self, tree_view):
CellRendererIcon.__init__(self, tree_view)
+ self._tree_view = tree_view
self.props.width = style.GRID_CELL_SIZE
self.props.height = style.GRID_CELL_SIZE
@@ -346,13 +382,19 @@ class CellRendererActivityIcon(CellRendererIcon):
bundle_id = row[ListModel.COLUMN_BUNDLE_ID]
registry = bundleregistry.get_registry()
- palette = ActivityListPalette(registry.get_bundle(bundle_id))
+ palette = ActivityListPalette(registry.get_bundle(bundle_id),
+ row[ListModel.COLUMN_DATASTORE_LISTENER]._journal_entries)
palette.connect('erase-activated', self.__erase_activated_cb)
+ palette.connect('entry-activate', self.__palette_entry_activate_cb)
return palette
def __erase_activated_cb(self, palette, bundle_id):
self.emit('erase-activated', bundle_id)
+ def __palette_entry_activate_cb(self, palette, metadata, activity_info):
+ self._tree_view._resume(metadata, activity_info)
+
+
class ClearMessageBox(Gtk.EventBox):
def __init__(self, message, button_callback):
@@ -528,14 +570,41 @@ class ActivityListPalette(ActivityPalette):
__gsignals__ = {
'erase-activated': (GObject.SignalFlags.RUN_FIRST, None,
([str])),
+ 'entry-activate': (GObject.SignalFlags.RUN_FIRST, None, ([object, object])),
+
}
- def __init__(self, activity_info):
+ def __init__(self, activity_info, journal_entries):
ActivityPalette.__init__(self, activity_info)
self._bundle_id = activity_info.get_bundle_id()
self._version = activity_info.get_activity_version()
+ if journal_entries:
+ title = journal_entries[0]['title']
+ self.props.secondary_text = GLib.markup_escape_text(title)
+
+ menu_items = []
+ for entry in journal_entries:
+ icon_file_name = misc.get_icon_name(entry)
+ color = misc.get_icon_color(entry)
+
+ menu_item = PaletteMenuItem(text_label=entry['title'],
+ file_name=icon_file_name,
+ xo_color=color)
+ menu_item.connect('activate', self.__resume_entry_cb,
+ entry, activity_info)
+ menu_items.append(menu_item)
+ menu_item.show()
+
+ if journal_entries:
+ separator = PaletteMenuItemSeparator()
+ menu_items.append(separator)
+ separator.show()
+
+ for i in range(0, len(menu_items)):
+ self.menu_box.pack_start(menu_items[i], True, True, 0)
+
registry = bundleregistry.get_registry()
self._favorite = registry.is_bundle_favorite(self._bundle_id,
self._version)
@@ -603,3 +672,7 @@ class ActivityListPalette(ActivityPalette):
def __erase_activate_cb(self, menu_item):
self.emit('erase-activated', self._bundle_id)
+
+ def __resume_entry_cb(self, menu_item, entry, activity_info):
+ if entry is not None:
+ self.emit('entry-activate', entry, activity_info)
diff --git a/src/jarabe/desktop/favoritesview.py b/src/jarabe/desktop/favoritesview.py
index ce3770b..3b07b4d 100644
--- a/src/jarabe/desktop/favoritesview.py
+++ b/src/jarabe/desktop/favoritesview.py
@@ -385,23 +385,17 @@ class FavoritesView(ViewContainer):
icon.set_resume_mode(self._resume_mode)
-class ActivityIcon(CanvasIcon):
- __gtype_name__ = 'SugarFavoriteActivityIcon'
-
- _BORDER_WIDTH = style.zoom(9)
+class ActivityIconDatastoreListener(GObject.GObject):
_MAX_RESUME_ENTRIES = 5
- def __init__(self, activity_info):
- CanvasIcon.__init__(self, cache=True,
- file_name=activity_info.get_icon())
+ def __init__(self, activity_info, container_instance):
+ GObject.GObject.__init__(self)
+ self._container_instance = container_instance
self._activity_info = activity_info
self._journal_entries = []
self._resume_mode = True
- self.connect_after('button-release-event',
- self.__button_release_event_cb)
-
datastore.updated.connect(self.__datastore_listener_updated_cb)
datastore.deleted.connect(self.__datastore_listener_deleted_cb)
@@ -438,23 +432,45 @@ class ActivityIcon(CanvasIcon):
# related to this activity.
checked_entries = []
for entry in entries:
- if entry['activity'] == self.bundle_id:
+ if entry['activity'] == self._activity_info.get_bundle_id():
checked_entries.append(entry)
self._journal_entries = checked_entries
- self._update()
+ self._update(True)
def __get_last_activity_error_handler_cb(self, error):
logging.error('Error retrieving most recent activities: %r', error)
- def _update(self):
- self.palette = None
- if not self._resume_mode or not self._journal_entries:
- xo_color = XoColor('%s,%s' % (style.COLOR_DESKTOP_ICON.get_svg(),
- style.COLOR_TRANSPARENT.get_svg()))
+ def _update(self, force=True):
+ self._container_instance._update()
+
+ def _resume(self, journal_entry):
+ if not journal_entry['activity_id']:
+ journal_entry['activity_id'] = activityfactory.create_activity_id()
+ misc.resume(journal_entry, self._activity_info.get_bundle_id())
+
+ def _activate(self):
+ if self.palette is not None:
+ self.palette.popdown(immediate=True)
+
+ if self._resume_mode and self._journal_entries:
+ self._resume(self._journal_entries[0])
else:
- xo_color = misc.get_icon_color(self._journal_entries[0])
- self.props.xo_color = xo_color
+ misc.launch(self._activity_info)
+
+
+class ActivityIcon(CanvasIcon, ActivityIconDatastoreListener):
+ __gtype_name__ = 'SugarFavoriteActivityIcon'
+
+ _BORDER_WIDTH = style.zoom(9)
+
+ def __init__(self, activity_info):
+ CanvasIcon.__init__(self, cache=True,
+ file_name=activity_info.get_icon())
+ ActivityIconDatastoreListener.__init__(self, activity_info, self)
+
+ self.connect_after('button-release-event',
+ self.__button_release_event_cb)
def create_palette(self):
palette = FavoritePalette(self._activity_info, self._journal_entries)
@@ -482,20 +498,6 @@ class ActivityIcon(CanvasIcon):
def __button_release_event_cb(self, icon, event):
self._activate()
- def _resume(self, journal_entry):
- if not journal_entry['activity_id']:
- journal_entry['activity_id'] = activityfactory.create_activity_id()
- misc.resume(journal_entry, self._activity_info.get_bundle_id())
-
- def _activate(self):
- if self.palette is not None:
- self.palette.popdown(immediate=True)
-
- if self._resume_mode and self._journal_entries:
- self._resume(self._journal_entries[0])
- else:
- misc.launch(self._activity_info)
-
def get_bundle_id(self):
return self._activity_info.get_bundle_id()
bundle_id = property(get_bundle_id, None)
@@ -520,6 +522,15 @@ class ActivityIcon(CanvasIcon):
self._resume_mode = resume_mode
self._update()
+ def _update(self, force=True):
+ self.palette = None
+ if not self._resume_mode or not self._journal_entries:
+ xo_color = XoColor('%s,%s' % (style.COLOR_DESKTOP_ICON.get_svg(),
+ style.COLOR_TRANSPARENT.get_svg()))
+ else:
+ xo_color = misc.get_icon_color(self._journal_entries[0])
+ self.props.xo_color = xo_color
+
class FavoritePalette(ActivityPalette):
__gtype_name__ = 'SugarFavoritePalette'
@@ -591,7 +602,7 @@ class CurrentActivityIcon(CanvasIcon):
window = self._home_model.get_active_activity().get_window()
window.activate(Gtk.get_current_event_time())
- def _update(self):
+ def _update(self, force=True):
self.props.file_name = self._home_activity.get_icon_path()
self.props.xo_color = self._home_activity.get_icon_color()
self.props.pixel_size = style.STANDARD_ICON_SIZE