Changeset 38705
- Timestamp:
- 12/05/10 17:39:53 (3 years ago)
- Location:
- websites/twicli
- Files:
-
- 1 added
- 11 modified
-
lang.js (added)
-
plugins/favotter.js (modified) (4 diffs)
-
plugins/followers.js (modified) (2 diffs)
-
plugins/lists.js (modified) (5 diffs)
-
plugins/regexp.js (modified) (5 diffs)
-
plugins/search.js (modified) (2 diffs)
-
plugins/search2.js (modified) (2 diffs)
-
plugins/sound.js (modified) (2 diffs)
-
plugins/ssl.js (modified) (1 diff)
-
plugins/translate.js (modified) (3 diffs)
-
twicli.html (modified) (3 diffs)
-
twicli.js (modified) (14 diffs)
Legend:
- Unmodified
- Added
- Removed
-
websites/twicli/plugins/favotter.js
r38624 r38705 1 langResources['Favotter / new'] = ['ふぁぼったー / 新着']; 2 langResources['Favotter / tweet'] = ['ふぁぼったー / ツイート']; 3 langResources['Favotter / fav'] = ['ふぁぼったー / ふぁぼり']; 4 1 5 var twFavPlugin = { 2 6 fav_update: null, … … 44 48 a.target = 'favotter'; 45 49 a.id = 'favotter_link_user'; 46 a.innerHTML = 'Favotter / New';50 a.innerHTML = _('Favotter / new'); 47 51 $('popup').appendChild(a) 48 52 … … 50 54 a.target = 'favotter'; 51 55 a.id = 'favotter_link_status'; 52 a.innerHTML = 'Favotter / Status';56 a.innerHTML = _('Favotter / tweet'); 53 57 $('popup').appendChild(a) 54 58 … … 56 60 a.target = 'favotter'; 57 61 a.id = 'favotter_link_fav'; 58 a.innerHTML = 'Favotter / fav';62 a.innerHTML = _('Favotter / fav'); 59 63 $('popup').appendChild(a) 60 64 -
websites/twicli/plugins/followers.js
r38666 r38705 1 langResources['Color followers'] = ['フォロワーを色付け']; 2 langResources['Tweets coloring'] = ['ツイートが次のように色付けされます']; 3 langResources['follower: black non-follower: blue'] = ['フォロワー: 黒 非フォロワー: 青']; 4 1 5 var followers_ids_list = (readCookie('followers_ids') || ''); 2 6 followers_ids_list = followers_ids_list != '' ? followers_ids_list.split(',') : []; … … 8 12 miscTab: function(ele) { 9 13 var e = document.createElement("div"); 10 e.innerHTML = '<form onSubmit="twfcFollwersIDsRenew(); return false;"> Color followers: <span id="followers_status">'+(followers_ids_list.length?"on("+followers_ids_list.length+")":"off")+'</span> <input type="submit" value="Renew"><input type="button" onClick="twfcFollwersIDsClear()" value="Off"> <a href="javascript:alert(\'Status Coloring:\\n follower: black non-follower: blue\')">[?]</a></form>';14 e.innerHTML = '<form onSubmit="twfcFollwersIDsRenew(); return false;">'+_('Color followers')+': <span id="followers_status">'+(followers_ids_list.length?"on("+followers_ids_list.length+")":"off")+'</span> <input type="submit" value="Renew"><input type="button" onClick="twfcFollwersIDsClear()" value="Off"> <a href="javascript:alert(\''+_('Tweets coloring')+':\\n '+_('follower: black non-follower: blue')+'\')">[?]</a></form>'; 11 15 ele.appendChild(e); 12 16 var hr = document.createElement("hr"); -
websites/twicli/plugins/lists.js
r38197 r38705 1 langResources['Add'] = ['追加']; 2 langResources['get all tweets'] = ['全ツイートを取得']; 3 langResources['Please specify a list like "@user/list".'] = ['リストを"@user/list"の形式で指定して下さい。']; 4 langResources['Lists'] = ['リスト']; 5 langResources['subscribing lists by twicli'] = ['twicliで購読中のリスト']; 6 langResources['Initialization failed; regexp.js may not be loaded.'] = ['初期化に失敗しました。regexp.jsがロードされていないようです。']; 7 8 1 9 var last_list = ['','']; 2 10 var twl_page = 0; … … 32 40 function twlSubscribeList(name) { 33 41 if (name.indexOf('/') < 0) 34 return alert( 'Please specify a list like "@user/list"');42 return alert(_('Please specify a list like "@user/list".')); 35 43 if (name[0] == "@") name = name.substr(1); 36 44 for (var i = 0; i < lists_to_get.length; i++) // avoid duplication … … 138 146 } else if (!init_failed) { 139 147 init_failed = true; 140 alert( "lists.js: Initialization failed; regexp.js may not be loaded.");148 alert('lists.js: '+_('Initialization failed; regexp.js may not be loaded.')); 141 149 } 142 150 twlUpdateMisc(); … … 171 179 miscTab: function(ele) { 172 180 var e = document.createElement("div"); 173 e.innerHTML = '<a href="javascript:var s = $(\'lists_pref\').style; s.display = s.display==\'block\'?\'none\':\'block\';void(0)"><b>▼ Lists</b></a>' +181 e.innerHTML = '<a href="javascript:var s = $(\'lists_pref\').style; s.display = s.display==\'block\'?\'none\':\'block\';void(0)"><b>▼'+_('Lists')+'</b></a>' + 174 182 '<form id="lists_pref" style="display:none" onSubmit="twlSubscribeList($(\'newList\').value); return false;">' + 175 'subscribing lists by twicli:<ul id="lists_list">' +183 _('subscribing lists by twicli')+':<ul id="lists_list">' + 176 184 '</ul><ul><li><input type="text" size="15" id="newList" value="">' + 177 '<input type="submit" value=" Add"></li></ul></form>';185 '<input type="submit" value="'+_('Add')+'"></li></ul></form>'; 178 186 $("pref").appendChild(e); 179 187 twlUpdateMisc(); … … 185 193 if (!tab.info || tab.info.indexOf('list#') != 0) return; 186 194 var a = tab.info.substr(5); 187 $('tw2h').innerHTML = '<div style="background-color: #ccc; text-align: right"><a style="size: small; color: green" href="javascript:void(twlGetListStatus(\''+a+'\'))"> get all tweets</a></div>';195 $('tw2h').innerHTML = '<div style="background-color: #ccc; text-align: right"><a style="size: small; color: green" href="javascript:void(twlGetListStatus(\''+a+'\'))">'+_('get all tweets')+'</a></div>'; 188 196 } 189 197 }); -
websites/twicli/plugins/regexp.js
r38051 r38705 1 langResources['remove tab'] = ['タブを閉じる']; 2 langResources['Are you sure to close this tab?'] = ['このタブを閉じてもよろしいですか?']; 3 langResources['Pickup Pattern'] = ['抽出条件']; 4 langResources['(TabName:ID:Tweet:TLFilter)'] = ['(タブ名:ユーザID:ツイート:TL非表示)']; 5 langResources['Apply'] = ['適用']; 6 langResources['Pickup this user'] = ['このユーザを抽出']; 7 8 1 9 var pickup_regexp = readCookie('pickup_regexp') || ''; 2 10 var pickup_regexp_ex = ''; // 他プラグインからの検索条件 … … 17 25 switchTo(tab.id); 18 26 if (!tab.no_close) 19 $('tw2h').innerHTML = '<div style="background-color: #ccc; text-align: right"><a style="size: small; color: red" href="javascript:closeRegexp(\''+tab.name+'\')">[x] remove tab</a></div>';27 $('tw2h').innerHTML = '<div style="background-color: #ccc; text-align: right"><a style="size: small; color: red" href="javascript:closeRegexp(\''+tab.name+'\')">[x] '+_('remove tab')+'</a></div>'; 20 28 // メインTLから該当する発言を抽出 21 29 var tl = $('tw').childNodes; … … 50 58 // タブを削除 51 59 function closeRegexp(tab) { 52 if (!confirm( "Are you sure to close this tab?")) return;60 if (!confirm(_('Are you sure to close this tab?'))) return; 53 61 var list = pickup_regexp.split(/[\r\n]/); 54 62 var list2 = []; … … 108 116 miscTab: function(ele) { 109 117 var e = document.createElement("div"); 110 e.innerHTML = 'Pickup Pattern <small>(TabName:ID:Status:TLFilter)</small> : <br><form onSubmit="setRegexp($(\'pickup_regexp\').value); return false;"><textarea cols="30" rows="4" id="pickup_regexp">' + pickup_regexp + '</textarea><br><input type="submit" value="Apply"></form>';118 e.innerHTML = _('Pickup Pattern')+' <small>'+_('(TabName:ID:Tweet:TLFilter)')+'</small> : <br><form onSubmit="setRegexp($(\'pickup_regexp\').value); return false;"><textarea cols="30" rows="4" id="pickup_regexp">' + pickup_regexp + '</textarea><br><input type="submit" value="'+_('Apply')+'"></form>'; 111 119 ele.appendChild(e); 112 120 var hr = document.createElement("hr"); … … 153 161 a.target = 'twitter'; 154 162 a.id = 'regexp_add_ID'; 155 a.innerHTML = 'Pickup this user';163 a.innerHTML = _('Pickup this user'); 156 164 a.href = '#'; 157 165 a.onclick = function() { addIDRegexp(popup_user, popup_id); return false; } -
websites/twicli/plugins/search.js
r38518 r38705 1 langResources['Twitter search'] = ['Twitter検索']; 2 3 1 4 var tws_page = 0; 2 5 var tws_rpp = 50; /* results per page */ … … 95 98 miscTab: function(ele) { 96 99 var e = document.createElement("div"); 97 e.innerHTML = '<form onSubmit="return twsSearch($(\'search_q\').value);"> Twitter search: <input type="text" size="15" id="search_q"><input type="image" src="images/go.png"></form>';100 e.innerHTML = '<form onSubmit="return twsSearch($(\'search_q\').value);"><a href="http://search.twitter.com/" target="_blank">'+_('Twitter search')+'</a> : <input type="text" size="15" id="search_q"><input type="image" src="images/go.png"></form>'; 98 101 ele.appendChild(e); 99 102 var hr = document.createElement("hr"); -
websites/twicli/plugins/search2.js
r38051 r38705 1 langResources['Twitter search (yats)'] = ['Twitter検索(yats)']; 2 1 3 var test_n = 0; 2 4 var twsj_page = 0; … … 33 35 miscTab: function(ele) { 34 36 var e = document.createElement("div"); 35 e.innerHTML = '<form onSubmit="twsjSearch($(\'searchj_q\').value); return false;"><a target="twitter" href="http://pcod.no-ip.org/yats/"> Twitter search (yats)</a>: <input type="text" size="15" id="searchj_q"><input type="image" src="images/go.png"></form>';37 e.innerHTML = '<form onSubmit="twsjSearch($(\'searchj_q\').value); return false;"><a target="twitter" href="http://pcod.no-ip.org/yats/">'+_('Twitter search (yats)')+'</a>: <input type="text" size="15" id="searchj_q"><input type="image" src="images/go.png"></form>'; 36 38 ele.appendChild(e); 37 39 var hr = document.createElement("hr"); -
websites/twicli/plugins/sound.js
r38175 r38705 1 langResources['Sound'] = ['音']; 2 langResources['on TL update'] = ['TL新着音']; 3 langResources['on new Reply'] = ['@新着音']; 4 1 5 var twsd_html5 = twsd_mp3 = true; 2 6 try { … … 16 20 miscTab: function(ele) { 17 21 var e = document.createElement("div"); 18 e.innerHTML = '<a href="javascript:var s = $(\'sound_pref\').style; s.display = s.display==\'block\'?\'none\':\'block\';void(0)"><b>▼ Sound</b></a>' +22 e.innerHTML = '<a href="javascript:var s = $(\'sound_pref\').style; s.display = s.display==\'block\'?\'none\':\'block\';void(0)"><b>▼'+_('Sound')+'</b></a>' + 19 23 '<form id="sound_pref" style="display:none" onSubmit="setSoundNames([$(\'sound0\').value,$(\'sound1\').value]); return false;">' + 20 'on TL update: <input type="text" size="15" id="sound0" value="'+sound_name[0]+'"><br>' +21 'on new Reply: <input type="text" size="15" id="sound1" value="'+sound_name[1]+'"><br>' +24 _('on TL update')+': <input type="text" size="15" id="sound0" value="'+sound_name[0]+'"><br>' + 25 _('on new Reply')+': <input type="text" size="15" id="sound1" value="'+sound_name[1]+'"><br>' + 22 26 '<input type="submit" value="Apply"></form>'; 23 27 $("pref").appendChild(e); -
websites/twicli/plugins/ssl.js
r38051 r38705 1 twitterURL = 'https://twitter.com/';1 //twitterURL = 'https://twitter.com/'; 2 2 twitterAPI = 'https://api.twitter.com/1/'; -
websites/twicli/plugins/translate.js
r38051 r38705 1 langResources['Translate'] = ['翻訳']; 2 langResources['translate language'] = ['翻訳先の言語']; 3 langResources['Choose "translate" from ▼ to translate the tweet.'] = ['翻訳するにはツイートの▼メニューから"翻訳"を選んで下さい。']; 4 5 1 6 var translateLang = readCookie("lang") || "ja"; 2 7 function setTranslateLang(lang) { 3 8 translateLang = lang; 4 9 writeCookie("lang", lang, 3652); 5 alert( "Choose \"translate\" from ▼ to translate tweet into " + lang + ".");10 alert(_('Choose "translate" from ▼ to translate the tweet.')); 6 11 } 7 12 … … 9 14 miscTab: function(ele) { 10 15 var e = document.createElement("div"); 11 e.innerHTML = '<a href="javascript:var s = $(\'translate_pref\').style; s.display = s.display==\'block\'?\'none\':\'block\';void(0)"><b>▼ Translate</b></a>' +16 e.innerHTML = '<a href="javascript:var s = $(\'translate_pref\').style; s.display = s.display==\'block\'?\'none\':\'block\';void(0)"><b>▼'+_('Translate')+'</b></a>' + 12 17 '<form id="translate_pref" style="display:none" onSubmit="setTranslateLang($(\'translateLang\').value); return false;">' + 13 'translate language: <input type="text" size="15" id="translateLang" value="'+translateLang+'">' +18 _('translate language')+': <input type="text" size="15" id="translateLang" value="'+translateLang+'">' + 14 19 '<input type="image" src="images/go.png"></form>'; 15 20 $("pref").appendChild(e); … … 49 54 a = document.createElement('a'); 50 55 a.id = 'translate_status'; 51 a.innerHTML = 'Translate';56 a.innerHTML = _('Translate'); 52 57 $('popup').appendChild(a) -
websites/twicli/twicli.html
r38635 r38705 14 14 <script type="text/javascript" src="oauth/oauth.js"></script> 15 15 <script type="text/javascript" src="oauth/consumer.js"></script> 16 <script type="text/javascript" src="lang.js"></script> 16 17 <script type="text/javascript" src="twicli.js"></script> 17 18 </head> … … 44 45 <div id="option"></div> 45 46 <!--メニュー--> 46 <div id="menu"><div id='menu2'><a id="TL" class="sel" href="javascript:void switchTL()">TL</a><a id="reply" href="javascript:void switchReply()"> Re</a><a id="user" href="javascript:void switchUser()">user</a><a id="direct" href="javascript:void switchDirect()">D</a><a id="misc" href="javascript:void switchMisc()">+</a></div></div>47 <div id="menu"><div id='menu2'><a id="TL" class="sel" href="javascript:void switchTL()">TL</a><a id="reply" href="javascript:void switchReply()">@</a><a id="user" href="javascript:void switchUser()">user</a><a id="direct" href="javascript:void switchDirect()">D</a><a id="misc" href="javascript:void switchMisc()">+</a></div></div> 47 48 </div> 48 49 <!--メインタイムライン--> … … 57 58 <!--ポップアップメニュー--> 58 59 <div id="popup" onClick="popup_hide()"> 59 <a id="popup_link_user" href="" target="twitter">Twitter / User</a> 60 <a id="popup_link_status" href="" target="twitter">Twitter / Status</a> 61 <a id="popup_status_delete" href="#" onClick="return deleteStatus()">Delete Status</a> 60 <a id="popup_status_delete" href="#" onClick="return deleteStatus()">Delete tweet</a> 62 61 <a id="popup_status_retweet" href="#" onClick="return retweetStatus()">Retweet</a> 63 62 <a id="popup_status_quote" href="#" onClick="return quoteStatus()">Quote with RT:</a> 63 <a id="popup_link_user" href="" target="twitter">Twitter / user</a> 64 <a id="popup_link_status" href="" target="twitter">Twitter / tweet</a> 64 65 </div> 65 66 <!--ポップアップメニュー非表示用--> -
websites/twicli/twicli.js
r38686 r38705 7 7 ele.innerHTML = s; 8 8 return ele.firstChild.nodeValue; 9 } 10 // 言語リソースをルックアップ 11 var browserLang = navigator.browserLanguage || navigator.language || navigator.userLanguage; 12 browserLang = browserLang ? browserLang.split('-')[0] : 'en'; 13 var lang; 14 for (lang = 0; lang < langList.length; lang++) 15 if (langList[lang] == browserLang) break; 16 function _(key) { 17 if (!langResources[key]) 18 alert("no langResource\n\n"+key); 19 else 20 key = langResources[key][lang] || key; 21 var args = arguments; 22 return key.replace(/\$(\d+)/, function(x,n){ return args[parseInt(n)] }); 9 23 } 10 24 // フォームをシリアライズ … … 354 368 355 369 function logout() { 356 if (!confirm( 'Are you sure to logout? You need to re-authenticate twicli at next launch.'))370 if (!confirm(_('Are you sure to logout? You need to re-authenticate twicli at next launch.'))) 357 371 return; 358 372 deleteCookie('access_token'); … … 388 402 } 389 403 if (st.value.length + footer.length > 140) { 390 alert( "This tweet is too long.");404 alert(_("This tweet is too long.")); 391 405 return false; 392 406 } … … 553 567 switchUser(user_pick1 + "," + user_pick2); 554 568 } 569 // ポップアップメニューの初期化 570 function popup_init() { 571 var popup_id_list = ['popup_link_user', 'popup_link_status', 'popup_status_delete', 572 'popup_status_retweet', 'popup_status_quote']; 573 for (var x = 0; x < popup_id_list.length; x++) 574 $(popup_id_list[x]).innerHTML = _($(popup_id_list[x]).innerHTML); 575 } 555 576 // ポップアップメニューを表示 556 577 function popup_menu(user, id, ele) { … … 584 605 return false; 585 606 } 586 if (!confirm( "Retweet to your followers?")) return false;607 if (!confirm(_("Retweet to your followers?"))) return false; 587 608 $("loading").style.display = "block"; 588 609 var target_ele = popup_ele; … … 599 620 function quoteStatus() { 600 621 if (!popup_id) return false; 601 if ($('lock-' + popup_id) && !confirm( "This tweet is protected; Are you sure to retweet?")) return false;622 if ($('lock-' + popup_id) && !confirm(_("This tweet is protected; Are you sure to retweet?"))) return false; 602 623 var tw = !display_as_rt && popup_ele.tw.retweeted_status || popup_ele.tw; 603 624 $('fst').value = "RT @"+popup_user+": " + charRef(tw.text); … … 608 629 function deleteStatus() { 609 630 if (!popup_id) return false; 610 if (!confirm( "Are you sure to delete this tweet (@"+popup_user+" / "+popup_id+")?")) return false;631 if (!confirm(_('Are you sure to delete this tweet?')+" (@"+popup_user+" / "+popup_id+")")) return false; 611 632 $("loading").style.display = "block"; 612 633 if ($("text" + popup_id)) $("text" + popup_id).style.textDecoration = "line-through"; … … 701 722 (user.protected ? '<img alt="lock" src="http://assets0.twitter.com/images/icon_lock.gif">' : '') + 702 723 '<b>' + user.screen_name + '</b> / <b>' + user.name + '</b></div>' + 703 (user.location ? '<div><b> Location</b>: ' + user.location + '</div>' : '') +704 (user.url ? '<div><b> URL</b>: <a target="_blank" href="' + user.url + '" onclick="return link(this);">' + user.url + '</a></div>' : '') +724 (user.location ? '<div><b>'+_('Location')+'</b>: ' + user.location + '</div>' : '') + 725 (user.url ? '<div><b>'+_('URL')+'</b>: <a target="_blank" href="' + user.url + '" onclick="return link(this);">' + user.url + '</a></div>' : '') + 705 726 '<div>' + (user.description ? user.description : '<br>') + 706 '</div><b><a href="javascript:switchFollowing()">' + user.friends_count + '<small> following</small></a> / ' +707 '<a href="javascript:switchFollower()">' + user.followers_count + '<small> followers</small></a>' +708 '<br><a href="javascript:switchStatus()">' + user.statuses_count + '<small> updates</small></a> / ' +709 '<a href="javascript:switchFav()">' + user.favourites_count + '<small> favs</small></a></b>' +727 '</div><b><a href="javascript:switchFollowing()">' + user.friends_count + '<small>'+_('following')+'</small></a> / ' + 728 '<a href="javascript:switchFollower()">' + user.followers_count + '<small>'+_('followers')+'</small></a>' + 729 '<br><a href="javascript:switchStatus()">' + user.statuses_count + '<small>'+_('tweets')+'</small></a> / ' + 730 '<a href="javascript:switchFav()">' + user.favourites_count + '<small>'+_('favs')+'</small></a></b>' + 710 731 '</td></tr></table><a target="twitter" href="' + twitterURL + user.screen_name + '">[Twitter]</a> ' 711 732 } … … 738 759 // followとremove 739 760 function follow(f) { 740 if (!f && !confirm( "Are you sure to remove " + last_user + "?")) return;761 if (!f && !confirm(_("Are you sure to remove $1?", last_user))) return; 741 762 enqueuePost(twitterAPI + 'friendships/' + (f ? 'create' : 'destroy') + '/' + last_user + '.xml', switchUser); 742 763 $("loading").style.display = "block"; … … 808 829 function twLimit(lim) { 809 830 $("loading").style.display = "none"; 810 $("tw2c").innerHTML = "<b>Twitter API status:</b><br>"+811 "hourly limit : " + lim.remaining_hits + " / "+ lim.hourly_limit + "<br>" +812 "reset at : "+ dateFmt(lim.reset_time);831 $("tw2c").innerHTML = '<b>'+_('Twitter API status')+':</b><br>' + 832 _('hourly limit')+' : ' + lim.remaining_hits + ' / ' + lim.hourly_limit + "<br>" + 833 _('reset at')+' : ' + dateFmt(lim.reset_time); 813 834 } 814 835 function twLimit2(lim) { … … 1178 1199 $("tw2h").innerHTML = '<br><a target="twitter" href="index.html"><b>twicli</b></a> : A browser-based Twitter client<br><small>Copyright © 2008-2010 NeoCat</small><hr class="spacer">' + 1179 1200 '<form onSubmit="switchUser($(\'user_id\').value); return false;">'+ 1180 'show user info: @<input type="text" size="15" id="user_id" value="' + myname + '"><input type="image" src="images/go.png"></form>' +1181 '<a href="javascript:logout()"><b> Log out</b></a><hr class="spacer">' +1182 '<div id="pref"><a href="javascript:togglePreps()">▼<b> Preferences</b></a>' +1201 _('show user info')+' : @<input type="text" size="15" id="user_id" value="' + myname + '"><input type="image" src="images/go.png"></form>' + 1202 '<a href="javascript:logout()"><b>'+_('Log out')+'</b></a><hr class="spacer">' + 1203 '<div id="pref"><a href="javascript:togglePreps()">▼<b>'+_('Preferences')+'</b></a>' + 1183 1204 '<form id="preps" onSubmit="setPreps(this); return false;" style="display: none;">' + 1184 'max #msgs in TL: <input name="limit" size="5" value="' + nr_limit + '"><br>' +1185 '#msgs in TL on update (max=200): <input name="maxc" size="3" value="' + max_count + '"><br>' +1186 '#msgs in user on update (max=200): <input name="maxu" size="3" value="' + max_count_u + '"><br>' +1187 'update interval: <input name="interval" size="3" value="' + updateInterval + '"> sec<br>' +1188 '<input type="checkbox" name="auto_update"' + (auto_update?" checked":"") + '> Update after post<br>' +1189 '<input type="checkbox" name="since_check"' + (no_since_id?"":" checked") + '> since_id check<br>' +1190 '<input type="checkbox" name="replies_in_tl"' + (replies_in_tl?" checked":"") + '> Show not-following replies in TL<br>' +1191 '<input type="checkbox" name="display_as_rt"' + (display_as_rt?" checked":"") + '> Show retweets in "RT:" form<br>' +1192 '<input type="checkbox" name="counter"' + (no_counter?"":" checked") + '> Post length counter<br>' +1193 '<input type="checkbox" name="resize_fst"' + (no_resize_fst?"":" checked") + '> Auto-resize field<br>' +1194 '<input type="checkbox" name="decr_enter"' + (decr_enter?" checked":"") + '> Post with ctrl/shift+enter<br>' +1195 '<input type="checkbox" name="geotag"' + (no_geotag?"":" checked") + '> Enable GeoTagging<br>' +1196 'Footer: <input name="footer" size="10" value="' + footer + '"><br>' +1197 'Plugins:<br><textarea cols="30" rows="4" name="list">' + pluginstr + '</textarea><br>' +1198 'user stylesheet:<br><textarea cols="30" rows="4" name="user_style">' + user_style + '</textarea><br>' +1205 _('max #msgs in TL')+': <input name="limit" size="5" value="' + nr_limit + '"><br>' + 1206 _('#msgs in TL on update (max=200)')+': <input name="maxc" size="3" value="' + max_count + '"><br>' + 1207 _('#msgs in user on update (max=200)')+': <input name="maxu" size="3" value="' + max_count_u + '"><br>' + 1208 _('update interval')+': <input name="interval" size="3" value="' + updateInterval + '"> sec<br>' + 1209 '<input type="checkbox" name="auto_update"' + (auto_update?" checked":"") + '>'+_('Update after post')+'<br>' + 1210 '<input type="checkbox" name="since_check"' + (no_since_id?"":" checked") + '>'+_('since_id check')+'<br>' + 1211 '<input type="checkbox" name="replies_in_tl"' + (replies_in_tl?" checked":"") + '>'+_('Show not-following replies in TL')+'<br>' + 1212 '<input type="checkbox" name="display_as_rt"' + (display_as_rt?" checked":"") + '>'+_('Show retweets in "RT:" form')+'<br>' + 1213 '<input type="checkbox" name="counter"' + (no_counter?"":" checked") + '>'+_('Post length counter')+'<br>' + 1214 '<input type="checkbox" name="resize_fst"' + (no_resize_fst?"":" checked") + '>'+_('Auto-resize field')+'<br>' + 1215 '<input type="checkbox" name="decr_enter"' + (decr_enter?" checked":"") + '>'+_('Post with ctrl/shift+enter')+'<br>' + 1216 '<input type="checkbox" name="geotag"' + (no_geotag?"":" checked") + '>'+_('Enable GeoTagging')+'<br>' + 1217 _('Footer')+': <input name="footer" size="20" value="' + footer + '"><br>' + 1218 _('Plugins')+':<br><textarea cols="30" rows="4" name="list">' + pluginstr + '</textarea><br>' + 1219 _('user stylesheet')+':<br><textarea cols="30" rows="4" name="user_style">' + user_style + '</textarea><br>' + 1199 1220 '<input type="submit" value="Save"></form></div><hr class="spacer">'; 1200 1221 callPlugins("miscTab", $("tw2h")); 1201 1222 $("loading").style.display = "block"; 1202 1223 if (ratelimit_reset_time && new Date < ratelimit_reset_time) 1203 $("tw2c").innerHTML = "<b>Twitter API status:</b><br>"+1204 "hourly limit : 0<br>reset at : "+ dateFmt(ratelimit_reset_time);1224 $("tw2c").innerHTML = '<b>'+_('Twitter API status')+':</b><br>' + 1225 _('hourly limit')+' : 0<br>'+_('reset at')+': ' + dateFmt(ratelimit_reset_time); 1205 1226 else 1206 1227 update_ele2 = loadXDomainScript(twitterAPI + 'account/rate_limit_status.json' + … … 1214 1235 for (var i = 0; i < ps.length; i++) 1215 1236 if (ps[i].indexOf("/") >= 0) 1216 if (!confirm( "An external plugin is specified. This plugin can fully access to your account.\nAre you sure to load this?\n\n" + ps[i]))1237 if (!confirm(_('An external plugin is specified. This plugin can fully access to your account.\nAre you sure to load this?')+"\n\n" + ps[i])) 1217 1238 return; 1218 1239 … … 1248 1269 writeCookie('user_style', new String(frm.user_style.value), 3652); 1249 1270 callPlugins('savePrefs', frm); 1250 alert( "Your settings are saved. Please reload to apply plugins and CSS.");1271 alert(_("Your settings are saved. Please reload to apply plugins and CSS.")); 1251 1272 } 1252 1273 // 初期化 1253 1274 function init() { 1275 popup_init(); 1254 1276 selected_menu = $("TL"); 1255 1277 setTimeout(function(){scrollTo(0, 1)}, 0); … … 1274 1296 plugins[i][name].apply(plugins[i], args); 1275 1297 } catch (e) { 1276 alert( "Plugin error: "+ e);1298 alert(_('Plugin error')+': ' + e); 1277 1299 } 1278 1300 }
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)