mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2024-11-23 11:48:07 -06:00
Merge branch 'master' of https://github.com/manuelcortez/TWBlue
This commit is contained in:
commit
f36accf89b
@ -35,6 +35,7 @@ timelines = list(default=list())
|
||||
tweet_searches = list(default=list())
|
||||
lists = list(default=list())
|
||||
favourites_timelines = list(default=list())
|
||||
trending_topic_buffers = list(default=list())
|
||||
muted_buffers = list(default=list())
|
||||
autoread_buffers = list(default=list())
|
||||
|
||||
|
@ -15,7 +15,7 @@ class autocompletionUsers(object):
|
||||
try:
|
||||
pattern = text.split()[-1]
|
||||
except IndexError:
|
||||
output.speak(_(u"You have to start to write"))
|
||||
output.speak(_(u"You have to start writing"))
|
||||
return
|
||||
if pattern.startswith("@") == True:
|
||||
db = storage.storage()
|
||||
@ -26,6 +26,6 @@ class autocompletionUsers(object):
|
||||
self.window.PopupMenu(menu, self.window.text.GetPosition())
|
||||
menu.Destroy()
|
||||
else:
|
||||
output.speak(_(u"There is not results in your users database"))
|
||||
output.speak(_(u"There are not results in your users database"))
|
||||
else:
|
||||
output.speak(_(u"Autocompletion only works for users."))
|
@ -36,3 +36,17 @@ class autocompletionSettings(object):
|
||||
wx_settings.show_success_dialog()
|
||||
self.dialog.Destroy()
|
||||
|
||||
def execute_at_startup(window):
|
||||
database = storage.storage()
|
||||
if config.main["mysc"]["save_followers_in_autocompletion_db"] == True:
|
||||
buffer = window.search_buffer("people", "followers")
|
||||
for i in buffer.db.settings[buffer.name_buffer]:
|
||||
database.set_user(i["screen_name"], i["name"], 1)
|
||||
else:
|
||||
database.remove_by_buffer(1)
|
||||
if config.main["mysc"]["save_friends_in_autocompletion_db"] == True:
|
||||
buffer = window.search_buffer("people", "friends")
|
||||
for i in buffer.db.settings[buffer.name_buffer]:
|
||||
database.set_user(i["screen_name"], i["name"], 2)
|
||||
else:
|
||||
database.remove_by_buffer(2)
|
@ -20,4 +20,4 @@ class autocompletionSettingsDialog(wx.Dialog):
|
||||
self.SetClientSize(sizer.CalcMin())
|
||||
|
||||
def show_success_dialog():
|
||||
wx.MessageDialog(None, _(u"Users TwBlue-database has been updated with new users."), _(u"Done"), wx.OK).ShowModal()
|
||||
wx.MessageDialog(None, _(u"TWBlue's database of users has been updated."), _(u"Done"), wx.OK).ShowModal()
|
@ -8,3 +8,4 @@ from lists import *
|
||||
from people import *
|
||||
from tweet_searches import *
|
||||
from user_searches import *
|
||||
from trends import *
|
@ -150,7 +150,7 @@ class basePanel(wx.Panel):
|
||||
if config.main["general"]["relative_times"] == True:
|
||||
# On windows we need only put the new date on the column, but under linux and mac it isn't possible.
|
||||
if self.system == "Windows":
|
||||
original_date = datetime.datetime.strptime(tweet["created_at"], "%a %b %d %H:%M:%S +0000 %Y")
|
||||
original_date = datetime.datetime.strptime(self.db.settings[self.name_buffer][self.list.get_selected()]["created_at"], "%a %b %d %H:%M:%S +0000 %Y")
|
||||
date = original_date-datetime.timedelta(seconds=-self.db.settings["utc_offset"])
|
||||
ts = prettydate(original_date)
|
||||
self.list.list.SetStringItem(self.list.get_selected(), 2, ts)
|
||||
@ -159,7 +159,7 @@ class basePanel(wx.Panel):
|
||||
if twitter.utils.is_audio(tweet):
|
||||
sound.player.play("audio.ogg", False)
|
||||
if twitter.utils.is_geocoded(tweet):
|
||||
sound.player.play("geo.mp3", False)
|
||||
sound.player.play("geo.ogg", False)
|
||||
|
||||
def start_streams(self):
|
||||
if self.name_buffer == "sent":
|
||||
|
@ -20,18 +20,20 @@ import wx
|
||||
from multiplatform_widgets import widgets
|
||||
|
||||
class accountPanel(wx.Panel):
|
||||
def __init__(self, parent):
|
||||
def __init__(self, parent, name_buffer):
|
||||
super(accountPanel, self).__init__(parent=parent)
|
||||
self.type = "account"
|
||||
self.name_buffer = name_buffer
|
||||
sizer = wx.BoxSizer(wx.VERTICAL)
|
||||
self.list = widgets.list(self, _(u"Announce"))
|
||||
sizer.Add(self.list.list, 0, wx.ALL, 5)
|
||||
self.SetSizer(sizer)
|
||||
|
||||
class emptyPanel(accountPanel):
|
||||
def __init__(self, parent):
|
||||
super(emptyPanel, self).__init__(parent=parent)
|
||||
self.type = "empty"
|
||||
|
||||
def get_more_items(self):
|
||||
output.speak(_(u"This action is not supported for this buffer"))
|
||||
|
||||
class emptyPanel(accountPanel):
|
||||
def __init__(self, parent):
|
||||
super(emptyPanel, self).__init__(parent=parent, name_buffer="")
|
||||
self.type = "empty"
|
||||
|
||||
|
@ -17,35 +17,162 @@
|
||||
#
|
||||
############################################################
|
||||
import wx
|
||||
import sound
|
||||
import config
|
||||
import twitter
|
||||
import gui.dialogs
|
||||
import twitter
|
||||
import config
|
||||
import sound
|
||||
import logging as original_logger
|
||||
from base import basePanel
|
||||
import output
|
||||
import platform
|
||||
import menus
|
||||
from multiplatform_widgets import widgets
|
||||
from mysc.thread_utils import call_threaded
|
||||
log = original_logger.getLogger("buffers.base")
|
||||
|
||||
class trendPanel(basePanel):
|
||||
def __init__(self, parent, window, name_buffer, *args, **kwargs):
|
||||
super(searchPanel, self).__init__(parent, window, name_buffer, sound)
|
||||
self.type = "trend"
|
||||
self.args = kwargs
|
||||
class trendsPanel(wx.Panel):
|
||||
|
||||
def start_streams(self):
|
||||
num = twitter.starting.search(self.db, self.twitter, self.name_buffer, **self.args)
|
||||
if num > 0: sound.player.play("search_updated.ogg")
|
||||
self.put_items(num)
|
||||
return num
|
||||
def compose_function(self, trend):
|
||||
return [trend["name"]]
|
||||
|
||||
def bind_events(self):
|
||||
self.Bind(wx.EVT_LIST_ITEM_RIGHT_CLICK, self.showMenu, self.list.list)
|
||||
self.Bind(wx.EVT_LIST_KEY_DOWN, self.showMenuByKey, self.list.list)
|
||||
self.list.list.Bind(wx.EVT_CHAR_HOOK, self.interact)
|
||||
|
||||
def get_message(self, dialog=False):
|
||||
return self.compose_function(self.trends[self.list.get_selected()])[0]
|
||||
|
||||
|
||||
def create_list(self):
|
||||
self.list = widgets.list(self, _(u"Trending topic"), style=wx.LC_REPORT|wx.LC_SINGLE_SEL|wx.LC_VRULES)
|
||||
if self.system == "Windows":
|
||||
self.list.set_windows_size(0, 30)
|
||||
self.list.set_size()
|
||||
|
||||
def __init__(self, parent, window, name_buffer, argumento=None, sound=""):
|
||||
self.type = "trends"
|
||||
self.twitter = window.twitter
|
||||
self.name_buffer = name_buffer
|
||||
self.argumento = argumento
|
||||
self.sound = sound
|
||||
self.parent = window
|
||||
self.system = platform.system()
|
||||
wx.Panel.__init__(self, parent)
|
||||
self.trends = []
|
||||
self.sizer = wx.BoxSizer(wx.VERTICAL)
|
||||
self.create_list()
|
||||
self.btn = wx.Button(self, -1, _(u"Tweet"))
|
||||
self.btn.Bind(wx.EVT_BUTTON, self.post_status)
|
||||
self.tweetTrendBtn = wx.Button(self, -1, _(u"Tweet about this trend"))
|
||||
self.tweetTrendBtn.Bind(wx.EVT_BUTTON, self.onResponse)
|
||||
btnSizer = wx.BoxSizer(wx.HORIZONTAL)
|
||||
btnSizer.Add(self.btn, 0, wx.ALL, 5)
|
||||
btnSizer.Add(self.tweetTrendBtn, 0, wx.ALL, 5)
|
||||
self.sizer.Add(btnSizer, 0, wx.ALL, 5)
|
||||
self.sizer.Add(self.list.list, 0, wx.ALL, 5)
|
||||
self.bind_events()
|
||||
self.SetSizer(self.sizer)
|
||||
|
||||
def remove_buffer(self):
|
||||
dlg = wx.MessageDialog(self, _(u"Do you really want to delete this search term?"), _(u"Attention"), style=wx.ICON_QUESTION|wx.YES_NO)
|
||||
dlg = wx.MessageDialog(self, _(u"Do you really want to delete this buffer?"), _(u"Attention"), style=wx.ICON_QUESTION|wx.YES_NO)
|
||||
if dlg.ShowModal() == wx.ID_YES:
|
||||
names = config.main["other_buffers"]["tweet_searches"]
|
||||
user = self.name_buffer[:-7]
|
||||
log.info(u"Deleting %s's search term" % user)
|
||||
if user in names:
|
||||
names.remove(user)
|
||||
self.db.settings.pop(self.name_buffer)
|
||||
pos = self.db.settings["buffers"].index(self.name_buffer)
|
||||
self.db.settings["buffers"].remove(self.name_buffer)
|
||||
return pos
|
||||
topics = config.main["other_buffers"]["trending_topic_buffers"]
|
||||
topic = self.name_buffer
|
||||
log.info(u"Deleting %s's trending topics buffer" % topic)
|
||||
if topic in topics:
|
||||
topics.remove(topic)
|
||||
return 0
|
||||
|
||||
def start_streams(self):
|
||||
data = self.twitter.twitter.get_place_trends(id=self.argumento)
|
||||
self.trends = data[0]["trends"]
|
||||
sound.player.play(self.sound)
|
||||
return len(self.trends)
|
||||
|
||||
def get_more_items(self):
|
||||
output.speak(_(u"This action is not supported for this buffer"))
|
||||
|
||||
def put_items(self, num):
|
||||
selected_item = self.list.get_selected()
|
||||
if self.list.get_count() == 0:
|
||||
for i in self.trends:
|
||||
tweet = self.compose_function(i)
|
||||
self.list.insert_item(False, *tweet)
|
||||
self.set_list_position()
|
||||
elif self.list.get_count() > 0:
|
||||
if config.main["general"]["reverse_timelines"] == False:
|
||||
for i in self.trends:
|
||||
tweet = self.compose_function(i)
|
||||
self.list.insert_item(False, *tweet)
|
||||
else:
|
||||
for i in self.trends:
|
||||
tweet = self.compose_function(i)
|
||||
self.list.insert_item(True, *tweet)
|
||||
self.list.select_item(selected_item)
|
||||
|
||||
def post_status(self, ev=None):
|
||||
text = gui.dialogs.message.tweet(_(u"Write the tweet here"), _(u"Tweet"), "", self)
|
||||
if text.ShowModal() == wx.ID_OK:
|
||||
if text.image == None:
|
||||
call_threaded(self.twitter.api_call, call_name="update_status", _sound="tweet_send.ogg", status=text.text.GetValue())
|
||||
else:
|
||||
call_threaded(self.twitter.api_call, call_name="update_status_with_media", _sound="tweet_send.ogg", status=text.text.GetValue(), media=text.file)
|
||||
if ev != None: self.list.list.SetFocus()
|
||||
|
||||
def onRetweet(self, event=None): pass
|
||||
|
||||
def onResponse(self, ev):
|
||||
trend = self.trends[self.list.get_selected()]["name"]
|
||||
text = gui.dialogs.message.tweet(_(u"Write the tweet here"), _(u"Tweet"), trend, self)
|
||||
if text.ShowModal() == wx.ID_OK:
|
||||
if text.image == None:
|
||||
call_threaded(self.twitter.api_call, call_name="update_status", _sound="tweet_send.ogg", status=text.text.GetValue())
|
||||
else:
|
||||
call_threaded(self.twitter.api_call, call_name="update_status_with_media", _sound="tweet_send.ogg", status=text.text.GetValue(), media=text.file)
|
||||
if ev != None: self.list.list.SetFocus()
|
||||
|
||||
def interact(self, ev):
|
||||
if type(ev) is str: event = ev
|
||||
else:
|
||||
if ev.GetKeyCode() == wx.WXK_F5: event = "volume_down"
|
||||
elif ev.GetKeyCode() == wx.WXK_F6: event = "volume_up"
|
||||
elif ev.GetKeyCode() == wx.WXK_DELETE and ev.ShiftDown(): event = "clear_list"
|
||||
else:
|
||||
ev.Skip()
|
||||
return
|
||||
if event == "volume_down":
|
||||
if config.main["sound"]["volume"] > 0.05:
|
||||
config.main["sound"]["volume"] = config.main["sound"]["volume"]-0.05
|
||||
sound.player.play("volume_changed.ogg", False)
|
||||
if hasattr(self.parent, "audioStream"):
|
||||
self.parent.audioStream.stream.volume = config.main["sound"]["volume"]
|
||||
elif event == "volume_up":
|
||||
if config.main["sound"]["volume"] < 0.95:
|
||||
config.main["sound"]["volume"] = config.main["sound"]["volume"]+0.05
|
||||
sound.player.play("volume_changed.ogg", False)
|
||||
if hasattr(self.parent, "audioStream"):
|
||||
self.parent.audioStream.stream.volume = config.main["sound"]["volume"]
|
||||
elif event == "clear_list" and self.list.get_count() > 0:
|
||||
dlg = wx.MessageDialog(self, _(u"Do you really want to empty this buffer? It's items will be removed from the list"), _(u"Empty buffer"), wx.ICON_QUESTION|wx.YES_NO)
|
||||
if dlg.ShowModal() == wx.ID_YES:
|
||||
self.trends = []
|
||||
self.list.clear()
|
||||
try:
|
||||
ev.Skip()
|
||||
except:
|
||||
pass
|
||||
|
||||
def set_list_position(self):
|
||||
if config.main["general"]["reverse_timelines"] == False:
|
||||
self.list.select_item(len(self.trends)-1)
|
||||
else:
|
||||
self.list.select_item(0)
|
||||
|
||||
def showMenu(self, ev):
|
||||
if self.list.get_count() == 0: return
|
||||
self.PopupMenu(menus.trendsPanelMenu(self), ev.GetPosition())
|
||||
|
||||
def showMenuByKey(self, ev):
|
||||
if self.list.get_count() == 0: return
|
||||
if ev.GetKeyCode() == wx.WXK_WINDOWS_MENU:
|
||||
self.PopupMenu(menus.trendsPanelMenu(self), self.list.list.GetPosition())
|
||||
|
@ -1 +1 @@
|
||||
import message, urlList, follow, utils, show_user, update_profile, configuration, lists, search
|
||||
import message, urlList, follow, utils, show_user, update_profile, configuration, lists, search, trending
|
@ -19,24 +19,34 @@
|
||||
import wx
|
||||
|
||||
class trendingTopicsDialog(wx.Dialog):
|
||||
def __init__(self):
|
||||
super(searchDialog, self).__init__(None, -1)
|
||||
def __init__(self, information):
|
||||
super(trendingTopicsDialog, self).__init__(None, -1)
|
||||
self.countries = {}
|
||||
self.cities = {}
|
||||
self.information = information
|
||||
self.split_information()
|
||||
panel = wx.Panel(self)
|
||||
sizer = wx.BoxSizer(wx.VERTICAL)
|
||||
self.SetTitle(_(u"Search on Twitter"))
|
||||
label = wx.StaticText(panel, -1, _(u"Search"))
|
||||
self.term = wx.TextCtrl(panel, -1,)
|
||||
dc = wx.WindowDC(self.term)
|
||||
dc.SetFont(self.term.GetFont())
|
||||
self.term.SetSize(dc.GetTextExtent("0"*40))
|
||||
self.SetTitle(_(u"View trending topics"))
|
||||
label = wx.StaticText(panel, -1, _(u"Trending topics by"))
|
||||
sizer.Add(label, 0, wx.ALL, 5)
|
||||
sizer.Add(self.term, 0, wx.ALL, 5)
|
||||
self.tweets = wx.RadioButton(panel, -1, _(u"Tweets"), style=wx.RB_GROUP)
|
||||
self.users = wx.RadioButton(panel, -1, _(u"Users"))
|
||||
self.country = wx.RadioButton(panel, -1, _(u"Country"), style=wx.RB_GROUP)
|
||||
self.city = wx.RadioButton(panel, -1, _(u"City"))
|
||||
self.Bind(wx.EVT_RADIOBUTTON, self.get_places, self.country)
|
||||
self.Bind(wx.EVT_RADIOBUTTON, self.get_places, self.city)
|
||||
|
||||
radioSizer = wx.BoxSizer(wx.HORIZONTAL)
|
||||
radioSizer.Add(self.tweets, 0, wx.ALL, 5)
|
||||
radioSizer.Add(self.users, 0, wx.ALL, 5)
|
||||
radioSizer.Add(label, 0, wx.ALL, 5)
|
||||
radioSizer.Add(self.country, 0, wx.ALL, 5)
|
||||
radioSizer.Add(self.city, 0, wx.ALL, 5)
|
||||
sizer.Add(radioSizer, 0, wx.ALL, 5)
|
||||
label = wx.StaticText(panel, -1, _(u"Location"))
|
||||
self.location = wx.ListBox(panel, -1, choices=[], style=wx.CB_READONLY)
|
||||
self.get_places()
|
||||
locationBox = wx.BoxSizer(wx.HORIZONTAL)
|
||||
locationBox.Add(label, 0, wx.ALL, 5)
|
||||
locationBox.Add(self.location, 0, wx.ALL, 5)
|
||||
sizer.Add(locationBox, 0, wx.ALL, 5)
|
||||
ok = wx.Button(panel, wx.ID_OK, _(u"OK"))
|
||||
ok.SetDefault()
|
||||
cancel = wx.Button(panel, wx.ID_CANCEL, _(u"Close"))
|
||||
@ -46,3 +56,23 @@ class trendingTopicsDialog(wx.Dialog):
|
||||
sizer.Add(btnsizer, 0, wx.ALL, 5)
|
||||
panel.SetSizer(sizer)
|
||||
self.SetClientSize(sizer.CalcMin())
|
||||
|
||||
def split_information(self):
|
||||
for i in self.information:
|
||||
if i["placeType"]["name"] == "Country":
|
||||
self.countries[i["name"]] = i["woeid"]
|
||||
else:
|
||||
self.cities[i["name"]] = i["woeid"]
|
||||
|
||||
def get_places(self, event=None):
|
||||
values = []
|
||||
if self.country.GetValue() == True:
|
||||
for i in self.information:
|
||||
if i["placeType"]["name"] == "Country":
|
||||
values.append(i["name"])
|
||||
elif self.city.GetValue() == True:
|
||||
for i in self.information:
|
||||
if i["placeType"]["name"] != "Country":
|
||||
values.append(i["name"])
|
||||
self.location.Set(values)
|
||||
|
@ -34,6 +34,7 @@ import urllib2
|
||||
import sysTrayIcon
|
||||
import switchModule
|
||||
import languageHandler
|
||||
from extra.autocompletionUsers import settings as autocompletionUsersSettings
|
||||
import pygeocoder
|
||||
from pygeolib import GeocoderError
|
||||
from sessionmanager import manager
|
||||
@ -226,7 +227,7 @@ class mainFrame(wx.Frame):
|
||||
try:
|
||||
updater.update_manager.check_for_update()
|
||||
except:
|
||||
pass
|
||||
wx.MessageDialog(self, _(u"An error occurred while looking for an update. It may be due to any problem either on our server or on your DNS servers. Please, try again later."), _(u"Error!"), wx.OK|wx.ICON_ERROR).ShowModal()
|
||||
self.SetMenuBar(self.makeMenus())
|
||||
self.setup_twitter(panel)
|
||||
|
||||
@ -241,7 +242,7 @@ class mainFrame(wx.Frame):
|
||||
# Gets the tabs for home, mentions, send and direct messages.
|
||||
log.debug("Creating buffers...")
|
||||
self.db.settings["buffers"] = []
|
||||
account = buffers.accountPanel(self.nb)
|
||||
account = buffers.accountPanel(self.nb, self.db.settings["user_name"])
|
||||
self.nb.AddPage(account, self.db.settings["user_name"])
|
||||
self.db.settings["buffers"].append(self.db.settings["user_name"])
|
||||
account_index = self.db.settings["buffers"].index(self.db.settings["user_name"])
|
||||
@ -355,6 +356,7 @@ class mainFrame(wx.Frame):
|
||||
self.check_streams.start()
|
||||
# If all it's done, then play a nice sound saying that all it's OK.
|
||||
sound.player.play("ready.ogg")
|
||||
autocompletionUsersSettings.execute_at_startup(window=self)
|
||||
|
||||
def remove_list(self, id):
|
||||
for i in range(0, self.nb.GetPageCount()):
|
||||
@ -1016,6 +1018,21 @@ class mainFrame(wx.Frame):
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
def get_trending_topics(self, event=None):
|
||||
info = self.twitter.twitter.get_available_trends()
|
||||
trendingDialog = dialogs.trending.trendingTopicsDialog(info)
|
||||
if trendingDialog.ShowModal() == wx.ID_OK:
|
||||
if trendingDialog.country.GetValue() == True:
|
||||
woeid = trendingDialog.countries[trendingDialog.location.GetStringSelection()]
|
||||
elif trendingDialog.city.GetValue() == True:
|
||||
woeid = trendingDialog.cities[trendingDialog.location.GetStringSelection()]
|
||||
buff = buffers.trendsPanel(self.nb, self, "%s_tt" % (woeid,), argumento=woeid, sound="tweet_timeline.ogg")
|
||||
self.nb.InsertSubPage(self.db.settings["buffers"].index(self.db.settings["user_name"]), buff, _(u"Trending topics for %s") % (trendingDialog.location.GetStringSelection(),))
|
||||
timer = RepeatingTimer(180, buff.start_streams)
|
||||
timer.start()
|
||||
num = buff.start_streams()
|
||||
buff.put_items(num)
|
||||
|
||||
### Close App
|
||||
def Destroy(self):
|
||||
self.sysTray.Destroy()
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2014-11-08 16:42+Hora estándar central (México)\n"
|
||||
"POT-Creation-Date: 2014-12-05 11:32+Hora estándar central (México)\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -15,8 +15,8 @@ msgstr ""
|
||||
"Generated-By: pygettext.py 1.5\n"
|
||||
|
||||
|
||||
#: ../src\extra\AudioUploader\gui.py:31 ../src\gui\dialogs\message.py:173
|
||||
#: ../src\gui\dialogs\message.py:261
|
||||
#: ../src\extra\AudioUploader\gui.py:31 ../src\gui\dialogs\message.py:174
|
||||
#: ../src\gui\dialogs\message.py:271
|
||||
msgid "Attach audio"
|
||||
msgstr ""
|
||||
|
||||
@ -70,13 +70,13 @@ msgstr ""
|
||||
msgid "Stopped"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\extra\AudioUploader\gui.py:129 ../src\gui\dialogs\message.py:222
|
||||
#: ../src\extra\AudioUploader\gui.py:129 ../src\gui\dialogs\message.py:232
|
||||
#: ../src\gui\dialogs\update_profile.py:87
|
||||
msgid "Discarded"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\extra\AudioUploader\gui.py:139 ../src\gui\buffers\base.py:339
|
||||
#: ../src\gui\buffers\base.py:351
|
||||
#: ../src\extra\AudioUploader\gui.py:139 ../src\gui\buffers\base.py:356
|
||||
#: ../src\gui\buffers\base.py:368
|
||||
msgid "Playing..."
|
||||
msgstr ""
|
||||
|
||||
@ -297,8 +297,45 @@ msgstr ""
|
||||
msgid "The spelling review has finished."
|
||||
msgstr ""
|
||||
|
||||
#: ../src\extra\translator\gui.py:24 ../src\gui\dialogs\message.py:181
|
||||
#: ../src\gui\dialogs\message.py:269 ../src\gui\dialogs\message.py:355
|
||||
#: ../src\extra\autocompletionUsers\completion.py:18
|
||||
msgid "You have to start writing"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\extra\autocompletionUsers\completion.py:29
|
||||
msgid "There are not results in your users database"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\extra\autocompletionUsers\completion.py:31
|
||||
msgid "Autocompletion only works for users."
|
||||
msgstr ""
|
||||
|
||||
#: ../src\extra\autocompletionUsers\settings.py:22
|
||||
msgid "Updating database... You can close this window now. A message will tell you when the process finishes."
|
||||
msgstr ""
|
||||
|
||||
#: ../src\extra\autocompletionUsers\wx_settings.py:6
|
||||
msgid "Autocomplete users\342\200\231 settings"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\extra\autocompletionUsers\wx_settings.py:9
|
||||
msgid "Add users from followers buffer"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\extra\autocompletionUsers\wx_settings.py:10
|
||||
msgid "Add users from friends buffer"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\extra\autocompletionUsers\wx_settings.py:23
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\extra\autocompletionUsers\wx_settings.py:23
|
||||
msgid "TWBlue's database of users has been updated."
|
||||
msgstr ""
|
||||
|
||||
#: ../src\extra\translator\gui.py:24 ../src\gui\dialogs\message.py:182
|
||||
#: ../src\gui\dialogs\message.py:279 ../src\gui\dialogs\message.py:383
|
||||
#: ../src\gui\dialogs\message.py:470
|
||||
msgid "Translate message"
|
||||
msgstr ""
|
||||
|
||||
@ -678,131 +715,134 @@ msgstr ""
|
||||
msgid "autodetect"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:55
|
||||
#: ../src\gui\buffers\base.py:58
|
||||
msgid "Client"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:55
|
||||
#: ../src\gui\buffers\base.py:58
|
||||
msgid "Text"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:55 ../src\gui\buffers\events.py:61
|
||||
#: ../src\gui\buffers\base.py:58 ../src\gui\buffers\events.py:64
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:55 ../src\gui\buffers\people.py:41
|
||||
#: ../src\gui\buffers\base.py:58 ../src\gui\buffers\people.py:44
|
||||
#: ../src\gui\buffers\user_searches.py:31 ../src\gui\dialogs\utils.py:36
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:80 ../src\gui\buffers\base.py:228
|
||||
#: ../src\gui\buffers\events.py:62 ../src\gui\buffers\events.py:78
|
||||
#: ../src\gui\dialogs\message.py:337
|
||||
#: ../src\gui\buffers\base.py:83 ../src\gui\buffers\base.py:233
|
||||
#: ../src\gui\buffers\events.py:65 ../src\gui\buffers\events.py:81
|
||||
#: ../src\gui\buffers\trends.py:64 ../src\gui\buffers\trends.py:114
|
||||
#: ../src\gui\buffers\trends.py:126 ../src\gui\dialogs\message.py:347
|
||||
msgid "Tweet"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:82 ../src\gui\buffers\base.py:240
|
||||
#: ../src\gui\buffers\base.py:243
|
||||
#: ../src\gui\buffers\base.py:85 ../src\gui\buffers\base.py:245
|
||||
#: ../src\gui\buffers\base.py:248
|
||||
msgid "Retweet"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:84 ../src\gui\buffers\base.py:259
|
||||
#: ../src\gui\buffers\base.py:87 ../src\gui\buffers\base.py:264
|
||||
msgid "Reply"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:86
|
||||
#: ../src\gui\buffers\base.py:89
|
||||
msgid "Direct message"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:100
|
||||
#: ../src\gui\buffers\base.py:103
|
||||
msgid "Do you really want to delete this timeline?"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:100 ../src\gui\buffers\favourites.py:41
|
||||
#: ../src\gui\buffers\lists.py:46 ../src\gui\buffers\trends.py:41
|
||||
#: ../src\gui\buffers\base.py:103 ../src\gui\buffers\favourites.py:41
|
||||
#: ../src\gui\buffers\lists.py:46 ../src\gui\buffers\trends.py:77
|
||||
#: ../src\gui\buffers\tweet_searches.py:45
|
||||
#: ../src\gui\buffers\user_searches.py:56
|
||||
msgid "Attention"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:112
|
||||
#: ../src\gui\buffers\base.py:115
|
||||
msgid "This buffer is not a timeline; it can't be deleted."
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:196 ../src\gui\buffers\people.py:114
|
||||
#: ../src\gui\buffers\base.py:201 ../src\gui\buffers\people.py:117
|
||||
msgid "%s items retrieved"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:220 ../src\gui\buffers\dm.py:44
|
||||
#: ../src\gui\buffers\people.py:56
|
||||
#: ../src\gui\buffers\base.py:225 ../src\gui\buffers\dm.py:46
|
||||
#: ../src\gui\buffers\people.py:59
|
||||
msgid "Direct message to %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:220 ../src\gui\buffers\dm.py:44
|
||||
#: ../src\gui\buffers\people.py:56
|
||||
#: ../src\gui\buffers\base.py:225 ../src\gui\buffers\dm.py:46
|
||||
#: ../src\gui\buffers\people.py:59
|
||||
msgid "New direct message"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:228 ../src\gui\buffers\events.py:78
|
||||
#: ../src\gui\buffers\base.py:233 ../src\gui\buffers\events.py:81
|
||||
#: ../src\gui\buffers\trends.py:114 ../src\gui\buffers\trends.py:126
|
||||
msgid "Write the tweet here"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:240
|
||||
#: ../src\gui\buffers\base.py:245
|
||||
msgid "Would you like to add a comment to this tweet?"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:243
|
||||
#: ../src\gui\buffers\base.py:248
|
||||
msgid "Add your comment to the tweet"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:259
|
||||
#: ../src\gui\buffers\base.py:264
|
||||
msgid "Reply to %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:304
|
||||
#: ../src\gui\buffers\base.py:319
|
||||
msgid "Opening URL..."
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:321 ../src\gui\buffers\events.py:122
|
||||
#: ../src\gui\buffers\base.py:338 ../src\gui\buffers\events.py:125
|
||||
msgid "Do you really want to empty this buffer? It's tweets will be removed from the list but not from Twitter"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:321 ../src\gui\buffers\events.py:122
|
||||
#: ../src\gui\buffers\base.py:338 ../src\gui\buffers\events.py:125
|
||||
#: ../src\gui\buffers\trends.py:156
|
||||
msgid "Empty buffer"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:326 ../src\gui\buffers\events.py:126
|
||||
#: ../src\gui\buffers\base.py:343 ../src\gui\buffers\events.py:129
|
||||
msgid "Do you really want to delete this message?"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:326 ../src\gui\buffers\events.py:126
|
||||
#: ../src\gui\buffers\base.py:343 ../src\gui\buffers\events.py:129
|
||||
#: ../src\gui\dialogs\lists.py:107
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:346 ../src\gui\buffers\base.py:357
|
||||
#: ../src\gui\buffers\base.py:363 ../src\gui\buffers\base.py:374
|
||||
msgid "Unable to play audio."
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\base.py:348
|
||||
#: ../src\gui\buffers\base.py:365
|
||||
msgid "Audio stopped."
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\events.py:35 ../src\gui\buffers\panels.py:37
|
||||
#: ../src\gui\buffers\tweet_searches.py:58
|
||||
#: ../src\gui\buffers\events.py:36 ../src\gui\buffers\panels.py:33
|
||||
#: ../src\gui\buffers\trends.py:93 ../src\gui\buffers\tweet_searches.py:58
|
||||
#: ../src\gui\buffers\user_searches.py:64
|
||||
msgid "This action is not supported for this buffer"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\events.py:44
|
||||
#: ../src\gui\buffers\events.py:47
|
||||
msgid "Empty"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\events.py:61
|
||||
#: ../src\gui\buffers\events.py:64
|
||||
msgid "Event"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\events.py:64
|
||||
#: ../src\gui\buffers\events.py:67
|
||||
msgid "Remove event"
|
||||
msgstr ""
|
||||
|
||||
@ -814,222 +854,313 @@ msgstr ""
|
||||
msgid "Do you really want to delete this list?"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\panels.py:27
|
||||
#: ../src\gui\buffers\menus.py:8
|
||||
msgid "&Retweet"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\menus.py:11 ../src\gui\buffers\menus.py:43
|
||||
msgid "Re&ply"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\menus.py:14
|
||||
msgid "Add to &favourites"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\menus.py:17
|
||||
msgid "Remove from favo&urites"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\menus.py:20 ../src\gui\buffers\menus.py:46
|
||||
#: ../src\gui\buffers\menus.py:69
|
||||
msgid "&Open URL"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\menus.py:23 ../src\gui\buffers\menus.py:49
|
||||
#: ../src\gui\buffers\menus.py:72
|
||||
msgid "&Play audio"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\menus.py:26 ../src\gui\buffers\menus.py:75
|
||||
msgid "&Show tweet"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\menus.py:29 ../src\gui\buffers\menus.py:55
|
||||
#: ../src\gui\buffers\menus.py:78 ../src\gui\buffers\menus.py:92
|
||||
#: ../src\gui\buffers\menus.py:115
|
||||
msgid "&Copy to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\menus.py:32 ../src\gui\buffers\menus.py:58
|
||||
#: ../src\gui\buffers\menus.py:81 ../src\gui\buffers\menus.py:95
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\menus.py:35 ../src\gui\buffers\menus.py:61
|
||||
#: ../src\gui\buffers\menus.py:118
|
||||
msgid "&User actions..."
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\menus.py:52
|
||||
msgid "&Show direct message"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\menus.py:89
|
||||
msgid "&Show event"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\menus.py:103
|
||||
msgid "&Mention"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\menus.py:106
|
||||
msgid "&View lists"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\menus.py:109
|
||||
msgid "Show user &profile"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\menus.py:112
|
||||
msgid "&Show user"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\panels.py:28
|
||||
msgid "Announce"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\people.py:46 ../src\gui\buffers\people.py:64
|
||||
#: ../src\gui\buffers\people.py:49 ../src\gui\buffers\people.py:67
|
||||
msgid "Mention"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\people.py:64
|
||||
#: ../src\gui\buffers\people.py:67
|
||||
msgid "Mention to %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\trends.py:41 ../src\gui\buffers\tweet_searches.py:45
|
||||
#: ../src\gui\buffers\trends.py:47
|
||||
msgid "Trending topic"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\trends.py:66
|
||||
msgid "Tweet about this trend"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\trends.py:77
|
||||
msgid "Do you really want to delete this buffer?"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\trends.py:156
|
||||
msgid "Do you really want to empty this buffer? It's items will be removed from the list"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\buffers\tweet_searches.py:45
|
||||
#: ../src\gui\buffers\user_searches.py:56
|
||||
msgid "Do you really want to delete this search term?"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:39
|
||||
#: ../src\gui\dialogs\configuration.py:40
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:53
|
||||
msgid "ask before exiting TwBlue?"
|
||||
#: ../src\gui\dialogs\configuration.py:54
|
||||
msgid "Set the autocomplete function"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:56
|
||||
msgid "ask before exiting TwBlue?"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:59
|
||||
msgid "Relative times"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:60
|
||||
#: ../src\gui\dialogs\configuration.py:63
|
||||
msgid "Activate Sapi5 when any other screen reader is not being run"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:63
|
||||
#: ../src\gui\dialogs\configuration.py:66
|
||||
msgid "Activate the auto-start of the invisible interface"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:67
|
||||
#: ../src\gui\dialogs\configuration.py:70
|
||||
msgid "API calls when the stream is started (One API call equals to 200 tweetts, two API calls equals 400 tweets, etc):"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:75
|
||||
#: ../src\gui\dialogs\configuration.py:78
|
||||
msgid "Items on each API call"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:82
|
||||
#: ../src\gui\dialogs\configuration.py:85
|
||||
msgid "Inverted buffers: The newest tweets will be shown at the beginning of the lists while the oldest at the end"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:97
|
||||
#: ../src\gui\dialogs\configuration.py:101
|
||||
msgid "Show followers"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:100
|
||||
#: ../src\gui\dialogs\configuration.py:104
|
||||
msgid "Show friends"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:103
|
||||
#: ../src\gui\dialogs\configuration.py:107
|
||||
msgid "Show favourites"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:106
|
||||
#: ../src\gui\dialogs\configuration.py:110
|
||||
msgid "Show blocked users"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:109
|
||||
#: ../src\gui\dialogs\configuration.py:113
|
||||
msgid "Show muted users"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:112
|
||||
#: ../src\gui\dialogs\configuration.py:116
|
||||
msgid "Show events"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:122
|
||||
#: ../src\gui\dialogs\configuration.py:270
|
||||
#: ../src\gui\dialogs\configuration.py:126
|
||||
#: ../src\gui\dialogs\configuration.py:275
|
||||
msgid "Ignored clients"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:128
|
||||
#: ../src\gui\dialogs\configuration.py:132
|
||||
msgid "Add client"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:129
|
||||
#: ../src\gui\dialogs\configuration.py:133
|
||||
msgid "Remove client"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:140
|
||||
#: ../src\gui\dialogs\configuration.py:144
|
||||
msgid "Add a new ignored client"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:140
|
||||
#: ../src\gui\dialogs\configuration.py:144
|
||||
msgid "Enter the name of the client here"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:157
|
||||
#: ../src\gui\dialogs\configuration.py:161
|
||||
msgid "Volume"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:166
|
||||
#: ../src\gui\dialogs\configuration.py:170
|
||||
msgid "Global mute"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:170
|
||||
#: ../src\gui\dialogs\configuration.py:174
|
||||
msgid "Output device"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:179
|
||||
#: ../src\gui\dialogs\configuration.py:183
|
||||
msgid "Input device"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:190
|
||||
#: ../src\gui\dialogs\configuration.py:194
|
||||
msgid "Sound pack"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:203
|
||||
#: ../src\gui\dialogs\configuration.py:207
|
||||
msgid "If you've got a SndUp account, enter your API Key here. Whether the API Key is wrong, the App will fail to upload anything to the server. Whether there's no API Key here, then the audio files will be uploaded anonimously"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:216
|
||||
#: ../src\gui\dialogs\configuration.py:240
|
||||
#: ../src\gui\dialogs\configuration.py:220
|
||||
#: ../src\gui\dialogs\configuration.py:244
|
||||
msgid "Unlink your Dropbox account"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:218
|
||||
#: ../src\gui\dialogs\configuration.py:235
|
||||
#: ../src\gui\dialogs\configuration.py:243
|
||||
#: ../src\gui\dialogs\configuration.py:222
|
||||
#: ../src\gui\dialogs\configuration.py:239
|
||||
#: ../src\gui\dialogs\configuration.py:247
|
||||
#: ../src\gui\dialogs\configuration.py:254
|
||||
#: ../src\gui\dialogs\configuration.py:251
|
||||
#: ../src\gui\dialogs\configuration.py:258
|
||||
msgid "Link your Dropbox account"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:228
|
||||
#: ../src\gui\dialogs\configuration.py:232
|
||||
msgid "Authorisation"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:228
|
||||
#: ../src\gui\dialogs\configuration.py:232
|
||||
msgid "The authorisation request will be shown on your browser. Copy the code tat Dropbox will provide and, in the text box that will appear on TW Blue, paste it. This code is necessary to continue. You only need to do it once."
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:230
|
||||
#: ../src\gui\dialogs\configuration.py:234
|
||||
msgid "Enter the code here."
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:230
|
||||
#: ../src\gui\dialogs\configuration.py:234
|
||||
msgid "Verification code"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:242
|
||||
#: ../src\gui\dialogs\configuration.py:246
|
||||
msgid "Error during authorisation. Try again later."
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:242
|
||||
#: ../src\gui\dialogs\configuration.py:246
|
||||
msgid "Error!"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:261
|
||||
#: ../src\gui\dialogs\configuration.py:265
|
||||
msgid "TW Blue preferences"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:265
|
||||
#: ../src\gui\dialogs\configuration.py:269
|
||||
msgid "General"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:268
|
||||
#: ../src\gui\dialogs\configuration.py:273
|
||||
msgid "Show other buffers"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:272
|
||||
#: ../src\gui\dialogs\configuration.py:277
|
||||
msgid "Sound"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:274
|
||||
#: ../src\gui\dialogs\configuration.py:279
|
||||
msgid "Audio Services"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:277
|
||||
#: ../src\gui\dialogs\configuration.py:282
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:280 ../src\gui\dialogs\follow.py:64
|
||||
#: ../src\gui\dialogs\message.py:186 ../src\gui\dialogs\message.py:274
|
||||
#: ../src\gui\dialogs\message.py:357 ../src\gui\dialogs\search.py:42
|
||||
#: ../src\gui\dialogs\show_user.py:42 ../src\gui\dialogs\trending.py:42
|
||||
#: ../src\gui\dialogs\update_profile.py:56 ../src\gui\dialogs\utils.py:42
|
||||
#: ../src\gui\dialogs\configuration.py:285 ../src\gui\dialogs\follow.py:64
|
||||
#: ../src\gui\dialogs\message.py:189 ../src\gui\dialogs\message.py:284
|
||||
#: ../src\gui\dialogs\message.py:385 ../src\gui\dialogs\message.py:472
|
||||
#: ../src\gui\dialogs\search.py:42 ../src\gui\dialogs\show_user.py:42
|
||||
#: ../src\gui\dialogs\trending.py:52 ../src\gui\dialogs\update_profile.py:56
|
||||
#: ../src\gui\dialogs\utils.py:42
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:293
|
||||
#: ../src\gui\dialogs\configuration.py:301
|
||||
msgid "Followers"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:307
|
||||
#: ../src\gui\dialogs\configuration.py:315
|
||||
msgid "friends"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:321
|
||||
#: ../src\gui\dialogs\configuration.py:329
|
||||
msgid "Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:335
|
||||
#: ../src\gui\dialogs\configuration.py:343
|
||||
msgid "Events"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:346
|
||||
#: ../src\gui\dialogs\configuration.py:354
|
||||
msgid "Blocked users"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:360
|
||||
#: ../src\gui\dialogs\configuration.py:368
|
||||
msgid "Muted users"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:420
|
||||
#: ../src\gui\dialogs\configuration.py:428
|
||||
msgid "Restart TW Blue"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\configuration.py:420
|
||||
#: ../src\gui\dialogs\configuration.py:428
|
||||
msgid "The application requires to be restarted to save these changes. Press OK to do it now."
|
||||
msgstr ""
|
||||
|
||||
@ -1066,7 +1197,7 @@ msgid "Report as spam"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\follow.py:61 ../src\gui\dialogs\search.py:40
|
||||
#: ../src\gui\dialogs\trending.py:40 ../src\gui\dialogs\utils.py:39
|
||||
#: ../src\gui\dialogs\trending.py:50 ../src\gui\dialogs\utils.py:39
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
@ -1178,105 +1309,128 @@ msgstr ""
|
||||
msgid "Select a list to remove the user"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:43 ../src\gui\dialogs\message.py:146
|
||||
#: ../src\gui\dialogs\message.py:44 ../src\gui\dialogs\message.py:147
|
||||
msgid "%s - %s of 140 characters"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:77
|
||||
#: ../src\gui\dialogs\message.py:78
|
||||
msgid "Attaching..."
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:78
|
||||
#: ../src\gui\dialogs\message.py:79
|
||||
msgid "Uploading..."
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:100
|
||||
#: ../src\gui\dialogs\message.py:101
|
||||
msgid "Unable to upload the audio"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:114 ../src\gui\dialogs\message.py:400
|
||||
#: ../src\gui\dialogs\message.py:115 ../src\gui\dialogs\message.py:428
|
||||
#: ../src\gui\dialogs\message.py:513
|
||||
msgid "Translated"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:126
|
||||
#: ../src\gui\dialogs\message.py:127
|
||||
msgid "There's no URL to be shortened"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:129
|
||||
#: ../src\gui\dialogs\message.py:130
|
||||
msgid "URL shortened"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:137 ../src\gui\dialogs\message.py:412
|
||||
#: ../src\gui\dialogs\message.py:138 ../src\gui\dialogs\message.py:440
|
||||
#: ../src\gui\dialogs\message.py:525
|
||||
msgid "There's no URL to be expanded"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:140 ../src\gui\dialogs\message.py:415
|
||||
#: ../src\gui\dialogs\message.py:141 ../src\gui\dialogs\message.py:443
|
||||
#: ../src\gui\dialogs\message.py:528
|
||||
msgid "URL expanded"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:168 ../src\gui\dialogs\message.py:223
|
||||
#: ../src\gui\dialogs\message.py:169 ../src\gui\dialogs\message.py:233
|
||||
#: ../src\gui\dialogs\update_profile.py:51
|
||||
#: ../src\gui\dialogs\update_profile.py:88
|
||||
msgid "Upload a picture"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:171 ../src\gui\dialogs\message.py:259
|
||||
#: ../src\gui\dialogs\message.py:350
|
||||
#: ../src\gui\dialogs\message.py:172 ../src\gui\dialogs\message.py:269
|
||||
#: ../src\gui\dialogs\message.py:378 ../src\gui\dialogs\message.py:465
|
||||
msgid "Spelling correction"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:175 ../src\gui\dialogs\message.py:263
|
||||
#: ../src\gui\dialogs\message.py:176 ../src\gui\dialogs\message.py:273
|
||||
msgid "Shorten URL"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:177 ../src\gui\dialogs\message.py:265
|
||||
#: ../src\gui\dialogs\message.py:352
|
||||
#: ../src\gui\dialogs\message.py:178 ../src\gui\dialogs\message.py:275
|
||||
#: ../src\gui\dialogs\message.py:380 ../src\gui\dialogs\message.py:467
|
||||
msgid "Expand URL"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:183 ../src\gui\dialogs\message.py:271
|
||||
#: ../src\gui\dialogs\message.py:184 ../src\gui\dialogs\message.py:281
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:219 ../src\gui\dialogs\message.py:230
|
||||
#: ../src\gui\dialogs\message.py:187
|
||||
msgid "&Autocomplete users"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:229 ../src\gui\dialogs\message.py:240
|
||||
#: ../src\gui\dialogs\update_profile.py:84
|
||||
#: ../src\gui\dialogs\update_profile.py:95
|
||||
msgid "Discard image"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:225 ../src\gui\dialogs\update_profile.py:90
|
||||
#: ../src\gui\dialogs\message.py:235 ../src\gui\dialogs\update_profile.py:90
|
||||
msgid "Image files (*.png, *.jpg, *.gif)|*.png; *.jpg; *.gif"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:225 ../src\gui\dialogs\update_profile.py:90
|
||||
#: ../src\gui\dialogs\message.py:235 ../src\gui\dialogs\update_profile.py:90
|
||||
msgid "Select the picture to be uploaded"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:253
|
||||
#: ../src\gui\dialogs\message.py:263
|
||||
msgid "Recipient"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:308
|
||||
msgid "Mention to all"
|
||||
#: ../src\gui\dialogs\message.py:318
|
||||
msgid "Mention &to all"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:335
|
||||
#: ../src\gui\dialogs\message.py:345
|
||||
msgid "Tweet - %i characters "
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\search.py:26 ../src\gui\dialogs\trending.py:26
|
||||
#: ../src\gui\dialogs\message.py:363
|
||||
msgid "Retweets: "
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:368
|
||||
msgid "Favourites: "
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:451
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\message.py:453
|
||||
msgid "Item"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\search.py:26
|
||||
msgid "Search on Twitter"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\search.py:27 ../src\gui\dialogs\trending.py:27
|
||||
#: ../src\gui\dialogs\search.py:27
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\search.py:34 ../src\gui\dialogs\trending.py:34
|
||||
#: ../src\gui\dialogs\search.py:34
|
||||
msgid "Tweets"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\search.py:35 ../src\gui\dialogs\trending.py:35
|
||||
#: ../src\gui\dialogs\search.py:35
|
||||
msgid "Users"
|
||||
msgstr ""
|
||||
|
||||
@ -1349,6 +1503,26 @@ msgstr ""
|
||||
msgid "Favourites: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\trending.py:30
|
||||
msgid "View trending topics"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\trending.py:31
|
||||
msgid "Trending topics by"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\trending.py:33
|
||||
msgid "Country"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\trending.py:34
|
||||
msgid "City"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\trending.py:43 ../src\gui\dialogs\update_profile.py:35
|
||||
msgid "Location"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\update_profile.py:27
|
||||
msgid "Update your profile"
|
||||
msgstr ""
|
||||
@ -1357,10 +1531,6 @@ msgstr ""
|
||||
msgid "Name (20 characters maximum)"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\update_profile.py:35
|
||||
msgid "Location"
|
||||
msgstr ""
|
||||
|
||||
#: ../src\gui\dialogs\update_profile.py:40
|
||||
msgid "Website"
|
||||
msgstr ""
|
||||
|
743
tools/twblue.pot
743
tools/twblue.pot
File diff suppressed because it is too large
Load Diff
@ -1 +1 @@
|
||||
Subproject commit 739034e207994b3a05e59e6d7836e68a0a1b6983
|
||||
Subproject commit ddcbbd21d35995a4877df5b7cd03db12b31bee84
|
Loading…
Reference in New Issue
Block a user