mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2025-08-25 09:29:22 +00:00
Compare commits
16 Commits
snapshot10
...
snapshot10
Author | SHA1 | Date | |
---|---|---|---|
ce1f8b2cc3 | |||
5933323beb | |||
22b1b0a149 | |||
e71afeb10f | |||
98f026156d | |||
cbee57aa30 | |||
fd9e4dc05d | |||
6022cecad1 | |||
89e39e2168 | |||
a69bf99c1a | |||
d34ef81324 | |||
a3c050195a | |||
3623eafacd | |||
![]() |
2bd3f0a1d1 | ||
f1f828522e | |||
51e4898346 |
@@ -405,19 +405,21 @@ documentation.append(_(u"""We would also like to thank the translators of TWBlue
|
||||
documentation.append(_(u"""
|
||||
"""))
|
||||
documentation.append(_(u"""* English: [Bryner Villalobos](https://twitter.com/Bry_StarkCR) and [Bill Dengler](https://twitter.com/codeofdusk)."""))
|
||||
documentation.append(_(u"""* Arabic: Mohammed Al Shara."""))
|
||||
documentation.append(_(u"""* Arabic: [Mohammed Al Shara](https://twitter.com/mohammed0204)."""))
|
||||
documentation.append(_(u"""* Catalan: [Joan Rabat](https://twitter.com/joanrabat) and Juan Carlos Rivilla."""))
|
||||
documentation.append(_(u"""* Spanish: [Manuel Cortéz](https://twitter.com/manuelcortez00)."""))
|
||||
documentation.append(_(u"""* Basque: [Sukil Etxenike](https://twitter.com/sukil2011)."""))
|
||||
documentation.append(_(u"""* Finnish: Jani Kinnunen."""))
|
||||
documentation.append(_(u"""* French: Rémi Ruiz."""))
|
||||
documentation.append(_(u"""* Finnish: [Jani Kinnunen](https://twitter.com/jani_kinnunen)."""))
|
||||
documentation.append(_(u"""* French: [Rémi Ruiz](https://twitter.com/blindhelp38)."""))
|
||||
documentation.append(_(u"""* Galician: [Alba Kinteiro](https://twitter.com/albasmileforeve)."""))
|
||||
documentation.append(_(u"""* German: Steffen Schultz."""))
|
||||
documentation.append(_(u"""* German: [Steffen Schultz](https://twitter.com/schulle4u)."""))
|
||||
documentation.append(_(u"""* Croatian: [Zvonimir Stanečić](https://twitter.com/zvonimirek222)."""))
|
||||
documentation.append(_(u"""* Hungarian: Robert Osztolykan."""))
|
||||
documentation.append(_(u"""* Italian: [Christian Leo Mameli](https://twitter.com/llajta2012)."""))
|
||||
documentation.append(_(u"""* Polish: Pawel Masarczyk."""))
|
||||
documentation.append(_(u"""* Portuguese: Odenilton Júnior Santos."""))
|
||||
documentation.append(_(u"""* Russian: Alexander Jaszyn."""))
|
||||
documentation.append(_(u"""* Turkish: Burak."""))
|
||||
documentation.append(_(u"""* Russian: [Александр Яшин](https://twitter.com/radovest)."""))
|
||||
documentation.append(_(u"""* Turkish: [Burak Yüksek](https://twitter.com/burakyuksek)."""))
|
||||
documentation.append(_(u"""
|
||||
"""))
|
||||
documentation.append(_(u"""Many thanks also to the people who worked on the documentation. Initially, [Manuel Cortez](https://twitter.com/manuelcortez00) did the documentation in Spanish, and translated to English by [Bryner Villalobos](https://twitter.com/Bry_StarkCR), [Robert Spangler](https://twitter.com/glasscity1837), [Sussan Rey](https://twitter.com/sussanrey17), [Anibal Hernandez](https://twitter.com/anibalmetal), and [Holly Scott-Gardner](https://twitter.com/holly1994). It was updated by [Sukil Etxenike](https://twitter.com/sukil2011), with some valuable corrections by [Brian Hartgen](https://twitter.com/brianhartgen) and [Bill Dengler](https://twitter.com/codeofdusk)."""))
|
||||
|
@@ -8,7 +8,7 @@ language = string(default="system")
|
||||
hide_gui = boolean(default=False)
|
||||
voice_enabled = boolean(default=False)
|
||||
ask_at_exit = boolean(default=True)
|
||||
handle_longtweets = boolean(default=False)
|
||||
handle_longtweets = boolean(default=True)
|
||||
use_invisible_keyboard_shorcuts = boolean(default=True)
|
||||
play_ready_sound = boolean(default=True)
|
||||
speak_ready_msg = boolean(default=True)
|
||||
|
@@ -5,7 +5,7 @@ if snapshot == False:
|
||||
version = "0.80"
|
||||
update_url = 'http://twblue.es/updates/twblue_ngen.json'
|
||||
else:
|
||||
version = "10.6"
|
||||
version = "10.8"
|
||||
update_url = 'http://twblue.es/updates/snapshots_ngen.json'
|
||||
author = u"Manuel Cortéz, Bill Dengler"
|
||||
authorEmail = "manuel@manuelcortez.net"
|
||||
|
@@ -231,7 +231,8 @@ class baseBufferController(bufferController):
|
||||
return self.get_message()
|
||||
|
||||
def get_message(self):
|
||||
return " ".join(self.compose_function(self.get_right_tweet(), self.session.db, self.session.settings["general"]["relative_times"]))
|
||||
tweet = self.get_right_tweet()
|
||||
return " ".join(self.compose_function(tweet, self.session.db, self.session.settings["general"]["relative_times"]))
|
||||
|
||||
def get_full_tweet(self):
|
||||
tweet = self.get_right_tweet()
|
||||
@@ -604,6 +605,26 @@ class baseBufferController(bufferController):
|
||||
user.profileController(session=self.session, user=dlg.get_user())
|
||||
if hasattr(dlg, "destroy"): dlg.destroy()
|
||||
|
||||
def get_quoted_tweet(self, tweet):
|
||||
# try:
|
||||
quoted_tweet = self.session.twitter.twitter.show_status(id=tweet["id"])
|
||||
urls = utils.find_urls_in_text(quoted_tweet["text"])
|
||||
for url in range(0, len(urls)):
|
||||
try: quoted_tweet["text"] = quoted_tweet["text"].replace(urls[url], quoted_tweet["entities"]["urls"][url]["expanded_url"])
|
||||
except IndexError: pass
|
||||
# except TwythonError as e:
|
||||
# utils.twitter_error(e)
|
||||
# return
|
||||
l = tweets.is_long(quoted_tweet)
|
||||
id = tweets.get_id(l)
|
||||
# try:
|
||||
original_tweet = self.session.twitter.twitter.show_status(id=id)
|
||||
urls = utils.find_urls_in_text(original_tweet["text"])
|
||||
for url in range(0, len(urls)):
|
||||
try: original_tweet["text"] = original_tweet["text"].replace(urls[url], original_tweet["entities"]["urls"][url]["expanded_url"])
|
||||
except IndexError: pass
|
||||
return compose.compose_quoted_tweet(quoted_tweet, original_tweet, self.session.db, self.session.settings["general"]["relative_times"])
|
||||
|
||||
class listBufferController(baseBufferController):
|
||||
def __init__(self, parent, function, name, sessionObject, account, sound=None, bufferType=None, list_id=None, *args, **kwargs):
|
||||
super(listBufferController, self).__init__(parent, function, name, sessionObject, account, sound=None, bufferType=None, *args, **kwargs)
|
||||
@@ -887,6 +908,7 @@ class trendsBufferController(bufferController):
|
||||
self.buffer.name = name
|
||||
self.compose_function = self.compose_function_
|
||||
self.get_formatted_message = self.get_message
|
||||
self.reply = self.search_topic
|
||||
|
||||
def start_stream(self):
|
||||
try:
|
||||
@@ -913,10 +935,12 @@ class trendsBufferController(bufferController):
|
||||
def bind_events(self):
|
||||
log.debug("Binding events...")
|
||||
self.buffer.list.list.Bind(wx.EVT_CHAR_HOOK, self.get_event)
|
||||
# widgetUtils.connect_event(self.buffer, widgetUtils.BUTTON_PRESSED, self.post_tweet, self.buffer.tweet)
|
||||
widgetUtils.connect_event(self.buffer, widgetUtils.BUTTON_PRESSED, self.post_tweet, self.buffer.tweet)
|
||||
widgetUtils.connect_event(self.buffer, widgetUtils.BUTTON_PRESSED, self.tweet_about_this_trend, self.buffer.tweetTrendBtn)
|
||||
|
||||
# widgetUtils.connect_event(self.buffer, widgetUtils.BUTTON_PRESSED, self.retweet, self.buffer.retweet)
|
||||
# widgetUtils.connect_event(self.buffer, widgetUtils.BUTTON_PRESSED, self.direct_message, self.buffer.dm)
|
||||
# widgetUtils.connect_event(self.buffer, widgetUtils.BUTTON_PRESSED, self.reply, self.buffer.reply)
|
||||
widgetUtils.connect_event(self.buffer, widgetUtils.BUTTON_PRESSED, self.search_topic, self.buffer.search_topic)
|
||||
widgetUtils.connect_event(self.buffer.list.list, wx.EVT_LIST_ITEM_RIGHT_CLICK, self.show_menu)
|
||||
widgetUtils.connect_event(self.buffer.list.list, wx.EVT_LIST_KEY_DOWN, self.show_menu_by_key)
|
||||
|
||||
@@ -933,11 +957,13 @@ class trendsBufferController(bufferController):
|
||||
elif dlg == widgetUtils.NO:
|
||||
return False
|
||||
|
||||
def interact(self, *args, **kwargs):
|
||||
self.searchfunction(value=self.get_message())
|
||||
def search_topic(self, *args, **kwargs):
|
||||
topic = self.trends[self.buffer.list.get_selected()]["name"]
|
||||
pub.sendMessage("search", term=topic)
|
||||
|
||||
def show_menu(self, ev, pos=0, *args, **kwargs):
|
||||
menu = menus.trendsPanelMenu()
|
||||
widgetUtils.connect_event(menu, widgetUtils.MENU, self.search_topic, menuitem=menu.search_topic)
|
||||
widgetUtils.connect_event(menu, widgetUtils.MENU, self.tweet_about_this_trend, menuitem=menu.tweetThisTrend)
|
||||
widgetUtils.connect_event(menu, widgetUtils.MENU, self.view, menuitem=menu.view)
|
||||
widgetUtils.connect_event(menu, widgetUtils.MENU, self.copy, menuitem=menu.copy)
|
||||
|
@@ -15,12 +15,22 @@ class listsController(object):
|
||||
self.dialog.populate_list(self.get_all_lists())
|
||||
widgetUtils.connect_event(self.dialog.createBtn, widgetUtils.BUTTON_PRESSED, self.create_list)
|
||||
widgetUtils.connect_event(self.dialog.editBtn, widgetUtils.BUTTON_PRESSED, self.edit_list)
|
||||
widgetUtils.connect_event(self.dialog.deleteBtn, widgetUtils.BUTTON_PRESSED, self.remove_list)
|
||||
widgetUtils.connect_event(self.dialog.view, widgetUtils.BUTTON_PRESSED, self.open_list_as_buffer)
|
||||
else:
|
||||
self.dialog = lists.userListViewer(user)
|
||||
self.dialog.populate_list(self.get_user_lists(user))
|
||||
widgetUtils.connect_event(self.dialog.createBtn, widgetUtils.BUTTON_PRESSED, self.subscribe)
|
||||
widgetUtils.connect_event(self.dialog.deleteBtn, widgetUtils.BUTTON_PRESSED, self.unsubscribe)
|
||||
self.dialog.get_response()
|
||||
|
||||
def get_all_lists(self):
|
||||
return [compose.compose_list(item) for item in self.session.db["lists"]]
|
||||
|
||||
def get_user_lists(self, user):
|
||||
self.lists = self.session.twitter.twitter.show_lists(reverse=True, screen_name=user)
|
||||
return [compose.compose_list(item) for item in self.lists]
|
||||
|
||||
def create_list(self, *args, **kwargs):
|
||||
dialog = lists.createListDialog()
|
||||
if dialog.get_response() == widgetUtils.OK:
|
||||
@@ -73,4 +83,23 @@ class listsController(object):
|
||||
def open_list_as_buffer(self, *args, **kwargs):
|
||||
if self.dialog.lista.get_count() == 0: return
|
||||
list = self.session.db["lists"][self.dialog.get_item()]
|
||||
pub.sendMessage("create-new-buffer", buffer="list", account=self.session.db["user_name"], create=list["name"])
|
||||
pub.sendMessage("create-new-buffer", buffer="list", account=self.session.db["user_name"], create=list["name"])
|
||||
|
||||
def subscribe(self, *args, **kwargs):
|
||||
if self.dialog.lista.get_count() == 0: return
|
||||
list_id = self.lists[self.dialog.get_item()]["id"]
|
||||
try:
|
||||
list = self.session.twitter.twitter.subscribe_to_list(list_id=list_id)
|
||||
item = utils.find_item(list["id"], self.session.db["lists"])
|
||||
self.session.db.settings["lists"].append(list)
|
||||
except TwythonError as e:
|
||||
output.speak("error %s: %s" % (e.status_code, e.msg))
|
||||
|
||||
def unsubscribe(self, *args, **kwargs):
|
||||
if self.dialog.lista.get_count() == 0: return
|
||||
list_id = self.lists[self.dialog.get_item()]["id"]
|
||||
try:
|
||||
list = self.session.twitter.twitter.unsubscribe_from_list(list_id=list_id)
|
||||
self.session.db.settings["lists"].remove(list)
|
||||
except TwythonError as e:
|
||||
output.speak("error %s: %s" % (e.status_code, e.msg))
|
||||
|
@@ -129,6 +129,7 @@ class Controller(object):
|
||||
pub.subscribe(self.create_new_buffer, "create-new-buffer")
|
||||
pub.subscribe(self.restart_streams, "restart-streams")
|
||||
pub.subscribe(self.execute_action, "execute-action")
|
||||
pub.subscribe(self.search_topic, "search")
|
||||
if system == "Windows":
|
||||
pub.subscribe(self.invisible_shorcuts_changed, "invisible-shorcuts-changed")
|
||||
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.show_hide, menuitem=self.view.show_hide)
|
||||
@@ -156,6 +157,7 @@ class Controller(object):
|
||||
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.delete, self.view.delete)
|
||||
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.follow, menuitem=self.view.follow)
|
||||
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.send_dm, self.view.dm)
|
||||
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.view_user_lists, menuitem=self.view.viewLists)
|
||||
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.get_more_items, menuitem=self.view.load_previous_items)
|
||||
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.clear_buffer, menuitem=self.view.clear)
|
||||
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.remove_buffer, self.view.deleteTl)
|
||||
@@ -394,7 +396,11 @@ class Controller(object):
|
||||
self.buffers.remove(buffer)
|
||||
del buffer
|
||||
|
||||
def search(self, value="", *args, **kwargs):
|
||||
def search_topic(self, term):
|
||||
self.search(value=term)
|
||||
|
||||
|
||||
def search(self, event=None, value="", *args, **kwargs):
|
||||
""" Searches words or users in twitter. This creates a new buffer containing the search results."""
|
||||
log.debug("Creating a new search...")
|
||||
dlg = dialogs.search.searchDialog(value)
|
||||
@@ -468,8 +474,20 @@ class Controller(object):
|
||||
buffer = self.get_best_buffer()
|
||||
SoundsTutorial.soundsTutorial(buffer.session)
|
||||
|
||||
def view_user_lists(self, users):
|
||||
pass
|
||||
def view_user_lists(self, *args, **kwargs):
|
||||
buff = self.get_best_buffer()
|
||||
if not hasattr(buff, "get_right_tweet"): return
|
||||
tweet = buff.get_right_tweet()
|
||||
if buff.type != "people":
|
||||
users = utils.get_all_users(tweet, buff.session.db)
|
||||
else:
|
||||
users = [tweet["screen_name"]]
|
||||
dlg = dialogs.utils.selectUserDialog(_(u"Select the user"), users)
|
||||
if dlg.get_response() == widgetUtils.OK:
|
||||
user = dlg.get_user()
|
||||
else:
|
||||
return
|
||||
l = listsController.listsController(buff.session, user=user)
|
||||
|
||||
def add_to_list(self, *args, **kwargs):
|
||||
buff = self.get_best_buffer()
|
||||
|
@@ -74,10 +74,10 @@ class audioUploader(object):
|
||||
def on_pause(self, *args, **kwargs):
|
||||
if self.dialog.get("pause") == _(u"Pause"):
|
||||
self.recording.pause()
|
||||
self.dialog.set("pause", _(u"Resume"))
|
||||
self.dialog.set("pause", _(u"&Resume"))
|
||||
elif self.dialog.get("pause") == _(u"Resume"):
|
||||
self.recording.play()
|
||||
self.dialog.set("pause", _(U"Pause"))
|
||||
self.dialog.set("pause", _(U"&Pause"))
|
||||
|
||||
def on_record(self, *args, **kwargs):
|
||||
if self.recording != None:
|
||||
@@ -92,7 +92,7 @@ class audioUploader(object):
|
||||
self.file = tempfile.mktemp(suffix='.wav')
|
||||
self.recording = sound.recording(self.file)
|
||||
self.recording.play()
|
||||
self.dialog.set("record", _(u"Stop"))
|
||||
self.dialog.set("record", _(u"&Stop"))
|
||||
output.speak(_(u"Recording"))
|
||||
|
||||
def stop_recording(self):
|
||||
@@ -100,11 +100,11 @@ class audioUploader(object):
|
||||
self.recording.free()
|
||||
output.speak(_(u"Stopped"))
|
||||
self.recorded = True
|
||||
self.dialog.set("record", _(u"Record"))
|
||||
self.dialog.set("record", _(u"&Record"))
|
||||
self.file_attached()
|
||||
|
||||
def file_attached(self):
|
||||
self.dialog.set("pause", _(u"Pause"))
|
||||
self.dialog.set("pause", _(u"&Pause"))
|
||||
self.dialog.disable_control("record")
|
||||
self.dialog.enable_control("play")
|
||||
self.dialog.enable_control("discard")
|
||||
@@ -137,11 +137,11 @@ class audioUploader(object):
|
||||
# try:
|
||||
self.playing = sound_lib.stream.FileStream(file=unicode(self.file), flags=sound_lib.stream.BASS_UNICODE)
|
||||
self.playing.play()
|
||||
self.dialog.set("play", _(u"Stop"))
|
||||
self.dialog.set("play", _(u"&Stop"))
|
||||
try:
|
||||
while self.playing.is_playing:
|
||||
pass
|
||||
self.dialog.set("play", _(u"Play"))
|
||||
self.dialog.set("play", _(u"&Play"))
|
||||
self.playing.free()
|
||||
self.playing = None
|
||||
except:
|
||||
@@ -151,7 +151,7 @@ class audioUploader(object):
|
||||
output.speak(_(u"Stopped"))
|
||||
self.playing.stop()
|
||||
self.playing.free()
|
||||
self.dialog.set("play", _(u"Play"))
|
||||
self.dialog.set("play", _(u"&Play"))
|
||||
self.playing = None
|
||||
|
||||
def postprocess(self):
|
||||
|
@@ -31,14 +31,14 @@ class audioDialog(widgetUtils.BaseDialog):
|
||||
btnSizer = wx.BoxSizer(wx.HORIZONTAL)
|
||||
btnSizer2 = wx.BoxSizer(wx.HORIZONTAL)
|
||||
|
||||
self.play = wx.Button(panel, -1, _(u"Play"))
|
||||
self.play = wx.Button(panel, -1, _(u"&Play"))
|
||||
self.play.Disable()
|
||||
self.pause = wx.Button(panel, -1, _(u"Pause"))
|
||||
self.pause = wx.Button(panel, -1, _(u"&Pause"))
|
||||
self.pause.Disable()
|
||||
self.record = wx.Button(panel, -1, _(u"Record"))
|
||||
self.record = wx.Button(panel, -1, _(u"&Record"))
|
||||
self.record.SetFocus()
|
||||
self.attach_exists = wx.Button(panel, -1, _(u"Add an existing file"))
|
||||
self.discard = wx.Button(panel, -1, _(u"Discard"))
|
||||
self.attach_exists = wx.Button(panel, -1, _(u"&Add an existing file"))
|
||||
self.discard = wx.Button(panel, -1, _(u"&Discard"))
|
||||
self.discard.Disable()
|
||||
label = wx.StaticText(panel, -1, _(u"Upload to"))
|
||||
self.services = wx.ComboBox(panel, -1, choices=services, value=services[0], style=wx.CB_READONLY)
|
||||
@@ -47,7 +47,7 @@ class audioDialog(widgetUtils.BaseDialog):
|
||||
servicesBox.Add(self.services, 0, wx.ALL, 5)
|
||||
self.attach = wx.Button(panel, wx.ID_OK, _(u"Attach"))
|
||||
self.attach.Disable()
|
||||
cancel = wx.Button(panel, wx.ID_CANCEL, _(u"Cancel"))
|
||||
cancel = wx.Button(panel, wx.ID_CANCEL, _(u"&Cancel"))
|
||||
btnSizer.Add(self.play, 0, wx.ALL, 5)
|
||||
btnSizer.Add(self.pause, 0, wx.ALL, 5)
|
||||
btnSizer.Add(self.record, 0, wx.ALL, 5)
|
||||
|
@@ -11,9 +11,17 @@ def fix():
|
||||
locales.BasqueLocale = BasqueLocale
|
||||
locales.TurkishLocale.names[-1] = "tr_tr"
|
||||
locales.ArabicLocale.names[-1] = "ar_eg"
|
||||
# insert a modified function so if there is no language available in arrow, returns English locale.
|
||||
locales.get_locale = get_locale
|
||||
# We need to reassign the locales list for updating the list with our new contents.
|
||||
locales._locales = locales._map_locales()
|
||||
|
||||
def get_locale(name):
|
||||
locale_cls = locales._locales.get(name.lower())
|
||||
if locale_cls is None:
|
||||
return locales.EnglishLocale()
|
||||
return locale_cls()
|
||||
|
||||
class CatalaLocale(Locale):
|
||||
names = ['ca', 'ca_ca']
|
||||
past = 'Fa {0}'
|
||||
|
@@ -1,6 +1,5 @@
|
||||
import win32com.client
|
||||
|
||||
|
||||
def fix():
|
||||
if win32com.client.gencache.is_readonly == True:
|
||||
win32com.client.gencache.is_readonly = False
|
||||
|
@@ -69,6 +69,7 @@ def getLanguageDescription(language):
|
||||
"ar":pgettext("languageName","Arabic"),
|
||||
"ne":pgettext("languageName","Nepali"),
|
||||
"sr":pgettext("languageName","Serbian (Latin)"),
|
||||
"ja":pgettext("languageName","Japanese"),
|
||||
}.get(language,None)
|
||||
return desc
|
||||
|
||||
@@ -195,10 +196,13 @@ def langToWindowsLocale(lang):
|
||||
"gl": "glc",
|
||||
"eu": "euq",
|
||||
"hu": "hun",
|
||||
"hr": "hrv",
|
||||
"it": "ita",
|
||||
"ja": "jpn",
|
||||
"pl": "plk",
|
||||
"pt": "ptb",
|
||||
"ru": "rus",
|
||||
"tr": "trk"
|
||||
"tr": "trk",
|
||||
"sr": "eng",
|
||||
}
|
||||
return languages[lang]
|
||||
|
File diff suppressed because it is too large
Load Diff
BIN
src/locales/EU/LC_MESSAGES/twblue_old.mo
Normal file
BIN
src/locales/EU/LC_MESSAGES/twblue_old.mo
Normal file
Binary file not shown.
2896
src/locales/EU/LC_MESSAGES/twblue_old.po
Normal file
2896
src/locales/EU/LC_MESSAGES/twblue_old.po
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -1,8 +1,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: TW Blue 0.51\n"
|
||||
"POT-Creation-Date: 2015-08-04 13:37+Hora de verano central (Mxico)\n"
|
||||
"PO-Revision-Date: 2015-08-04 23:07+0200\n"
|
||||
"POT-Creation-Date: 2015-09-04 08:51+Hora de verano central (Mxico)\n"
|
||||
"PO-Revision-Date: 2015-09-04 16:45+0200\n"
|
||||
"Last-Translator: Steffen Schultz <schulle3o@yahoo.de>\n"
|
||||
"Language-Team: Steffen Schultz <schulle3o@yahoo.de>\n"
|
||||
"Language: de\n"
|
||||
@@ -19,174 +19,176 @@ msgstr ""
|
||||
msgid "This action is not supported for this buffer"
|
||||
msgstr "Diese Aktion ist in dieser Ansicht nicht verfügbar."
|
||||
|
||||
#: ../src\controller\buffersController.py:128 ../src\wxUI\buffers\base.py:24
|
||||
#: ../src\controller\buffersController.py:128
|
||||
#: ../src\controller\buffersController.py:957 ../src\wxUI\buffers\base.py:24
|
||||
#: ../src\wxUI\buffers\events.py:14 ../src\wxUI\buffers\trends.py:17
|
||||
#: ../src\wxUI\dialogs\message.py:250 ../src\wxUI\sysTrayIcon.py:33
|
||||
#: ../src\wxUI\dialogs\message.py:251 ../src\wxUI\sysTrayIcon.py:33
|
||||
msgid "Tweet"
|
||||
msgstr "Tweet"
|
||||
|
||||
#: ../src\controller\buffersController.py:129
|
||||
#: ../src\controller\buffersController.py:958
|
||||
msgid "Write the tweet here"
|
||||
msgstr "Gib deinen Tweet hier ein"
|
||||
|
||||
#: ../src\controller\buffersController.py:297
|
||||
#: ../src\controller\buffersController.py:667
|
||||
#: ../src\controller\buffersController.py:312
|
||||
#: ../src\controller\buffersController.py:753
|
||||
msgid "%s items retrieved"
|
||||
msgstr "%s Einträge abgerufen"
|
||||
|
||||
#: ../src\controller\buffersController.py:317
|
||||
#: ../src\controller\buffersController.py:332
|
||||
msgid "This buffer is not a timeline; it can't be deleted."
|
||||
msgstr "Diese Ansicht ist keine Zeitleiste und kann nicht gelöscht werden."
|
||||
|
||||
#: ../src\controller\buffersController.py:378
|
||||
#: ../src\controller\buffersController.py:448
|
||||
msgid "Reply to %s"
|
||||
msgstr "Antwort an %s"
|
||||
|
||||
#: ../src\controller\buffersController.py:378
|
||||
#: ../src\controller\buffersController.py:448
|
||||
#: ../src\keystrokeEditor\constants.py:11 ../src\wxUI\buffers\base.py:26
|
||||
msgid "Reply"
|
||||
msgstr "Antwort"
|
||||
|
||||
#: ../src\controller\buffersController.py:405
|
||||
#: ../src\controller\buffersController.py:475
|
||||
msgid "Direct message to %s"
|
||||
msgstr "Direktnachricht an %s"
|
||||
|
||||
#: ../src\controller\buffersController.py:405
|
||||
#: ../src\controller\mainController.py:1105
|
||||
#: ../src\controller\buffersController.py:475
|
||||
#: ../src\controller\mainController.py:1125
|
||||
msgid "New direct message"
|
||||
msgstr "Neue Direktnachricht"
|
||||
|
||||
#: ../src\controller\buffersController.py:426
|
||||
#: ../src\controller\buffersController.py:496
|
||||
msgid "Add your comment to the tweet"
|
||||
msgstr "Gib deinen Kommentar ein."
|
||||
|
||||
#: ../src\controller\buffersController.py:426
|
||||
#: ../src\controller\buffersController.py:496
|
||||
#: ../src\keystrokeEditor\constants.py:12 ../src\wxUI\buffers\base.py:25
|
||||
#: ../src\wxUI\commonMessageDialogs.py:9 ../src\wxUI\dialogs\message.py:126
|
||||
msgid "Retweet"
|
||||
msgstr "Retweet"
|
||||
|
||||
#: ../src\controller\buffersController.py:498
|
||||
#: ../src\controller\buffersController.py:567
|
||||
msgid "Opening URL..."
|
||||
msgstr "URL wird geöffnet..."
|
||||
|
||||
#: ../src\controller\buffersController.py:533
|
||||
#: ../src\controller\buffersController.py:602
|
||||
msgid "User details"
|
||||
msgstr "Benutzerdetails"
|
||||
|
||||
#: ../src\controller\buffersController.py:582
|
||||
#: ../src\controller\buffersController.py:651
|
||||
msgid "Empty"
|
||||
msgstr "Leer"
|
||||
|
||||
#: ../src\controller\buffersController.py:626
|
||||
#: ../src\controller\buffersController.py:712
|
||||
msgid "Mention to %s"
|
||||
msgstr "Erwähnung an %s"
|
||||
|
||||
#: ../src\controller\buffersController.py:626 ../src\wxUI\buffers\people.py:15
|
||||
#: ../src\controller\buffersController.py:712 ../src\wxUI\buffers\people.py:15
|
||||
msgid "Mention"
|
||||
msgstr "Erwähnung"
|
||||
|
||||
#: ../src\controller\mainController.py:250
|
||||
#: ../src\controller\mainController.py:254
|
||||
msgid "Ready"
|
||||
msgstr "Bereit"
|
||||
|
||||
#: ../src\controller\mainController.py:281
|
||||
#: ../src\controller\mainController.py:286
|
||||
msgid "Home"
|
||||
msgstr "Start"
|
||||
|
||||
#: ../src\controller\mainController.py:285
|
||||
#: ../src\controller\mainController.py:290
|
||||
msgid "Mentions"
|
||||
msgstr "Erwähnungen"
|
||||
|
||||
#: ../src\controller\mainController.py:289
|
||||
#: ../src\controller\mainController.py:294
|
||||
msgid "Direct messages"
|
||||
msgstr "Direktnachrichten"
|
||||
|
||||
#: ../src\controller\mainController.py:293
|
||||
#: ../src\controller\mainController.py:298
|
||||
msgid "Sent direct messages"
|
||||
msgstr "Gesendete Direktnachrichten"
|
||||
|
||||
#: ../src\controller\mainController.py:297
|
||||
#: ../src\controller\mainController.py:302
|
||||
msgid "Sent tweets"
|
||||
msgstr "Gesendete Tweets"
|
||||
|
||||
#: ../src\controller\mainController.py:302
|
||||
#: ../src\controller\mainController.py:1221
|
||||
#: ../src\wxUI\dialogs\userSelection.py:18
|
||||
#: ../src\controller\mainController.py:307
|
||||
#: ../src\controller\mainController.py:1248
|
||||
#: ../src\wxUI\dialogs\userSelection.py:20
|
||||
msgid "Favourites"
|
||||
msgstr "Favoriten"
|
||||
|
||||
#: ../src\controller\mainController.py:306
|
||||
#: ../src\controller\mainController.py:1226
|
||||
#: ../src\controller\mainController.py:311
|
||||
#: ../src\controller\mainController.py:1253
|
||||
msgid "Followers"
|
||||
msgstr "Folger"
|
||||
|
||||
#: ../src\controller\mainController.py:310
|
||||
#: ../src\controller\mainController.py:1231
|
||||
#: ../src\controller\mainController.py:315
|
||||
#: ../src\controller\mainController.py:1258
|
||||
msgid "Friends"
|
||||
msgstr "Freunde"
|
||||
|
||||
#: ../src\controller\mainController.py:314
|
||||
#: ../src\controller\mainController.py:1236
|
||||
#: ../src\controller\mainController.py:319
|
||||
#: ../src\controller\mainController.py:1263
|
||||
msgid "Blocked users"
|
||||
msgstr "Blockierte Benutzer"
|
||||
|
||||
#: ../src\controller\mainController.py:318
|
||||
#: ../src\controller\mainController.py:1241
|
||||
#: ../src\controller\mainController.py:323
|
||||
#: ../src\controller\mainController.py:1268
|
||||
msgid "Muted users"
|
||||
msgstr "Stummgeschaltete Benutzer"
|
||||
|
||||
#: ../src\controller\mainController.py:322
|
||||
#: ../src\controller\mainController.py:1246
|
||||
#: ../src\controller\mainController.py:327
|
||||
#: ../src\controller\mainController.py:1273
|
||||
msgid "Events"
|
||||
msgstr "Ereignisse"
|
||||
|
||||
#: ../src\controller\mainController.py:325
|
||||
#: ../src\controller\mainController.py:330
|
||||
msgid "Timelines"
|
||||
msgstr "Zeitleisten"
|
||||
|
||||
#: ../src\controller\mainController.py:329
|
||||
#: ../src\controller\mainController.py:737
|
||||
#: ../src\controller\mainController.py:334
|
||||
#: ../src\controller\mainController.py:756
|
||||
msgid "Timeline for {}"
|
||||
msgstr "Zeitleiste für {}"
|
||||
|
||||
#: ../src\controller\mainController.py:332
|
||||
#: ../src\controller\mainController.py:337
|
||||
msgid "Favourites timelines"
|
||||
msgstr "Favoritenzeitleisten"
|
||||
|
||||
#: ../src\controller\mainController.py:336
|
||||
#: ../src\controller\mainController.py:749
|
||||
#: ../src\controller\mainController.py:341
|
||||
#: ../src\controller\mainController.py:771
|
||||
msgid "Favourites timeline for {}"
|
||||
msgstr "Favoritenzeitleiste für {}"
|
||||
|
||||
#: ../src\controller\mainController.py:341 ../src\wxUI\dialogs\lists.py:12
|
||||
#: ../src\controller\mainController.py:346 ../src\wxUI\dialogs\lists.py:12
|
||||
msgid "Lists"
|
||||
msgstr "Listen"
|
||||
|
||||
#: ../src\controller\mainController.py:346
|
||||
#: ../src\controller\mainController.py:1256
|
||||
#: ../src\controller\mainController.py:351
|
||||
#: ../src\controller\mainController.py:1284
|
||||
msgid "List for {}"
|
||||
msgstr "Liste für {}"
|
||||
|
||||
#: ../src\controller\mainController.py:349
|
||||
#: ../src\controller\mainController.py:354
|
||||
msgid "Searches"
|
||||
msgstr "Suchen"
|
||||
|
||||
#: ../src\controller\mainController.py:353
|
||||
#: ../src\controller\mainController.py:424
|
||||
#: ../src\controller\mainController.py:358
|
||||
#: ../src\controller\mainController.py:416
|
||||
msgid "Search for {}"
|
||||
msgstr "Suche nach {}"
|
||||
|
||||
#: ../src\controller\mainController.py:361
|
||||
#: ../src\controller\mainController.py:795
|
||||
#: ../src\controller\mainController.py:368
|
||||
#: ../src\controller\mainController.py:817
|
||||
msgid "Trending topics for %s"
|
||||
msgstr "Trends für %s"
|
||||
|
||||
#: ../src\controller\mainController.py:443
|
||||
#: ../src\controller\mainController.py:890
|
||||
#: ../src\controller\mainController.py:909
|
||||
#: ../src\controller\mainController.py:929
|
||||
#: ../src\controller\mainController.py:949
|
||||
#: ../src\controller\mainController.py:435
|
||||
#: ../src\controller\mainController.py:912
|
||||
#: ../src\controller\mainController.py:931
|
||||
#: ../src\controller\mainController.py:950
|
||||
#: ../src\controller\mainController.py:969
|
||||
msgid ""
|
||||
"No session is currently in focus. Focus a session with the next or previous "
|
||||
"session shortcut."
|
||||
@@ -194,98 +196,99 @@ msgstr ""
|
||||
"Derzeit ist keine Sitzung im Fokus. Bitte benutze die Tastenkombinationen "
|
||||
"vorherige und nächste Sitzung, um eine Sitzung zu fokussieren."
|
||||
|
||||
#: ../src\controller\mainController.py:447
|
||||
#: ../src\controller\mainController.py:439
|
||||
msgid "Empty buffer."
|
||||
msgstr "Leere Ansicht."
|
||||
|
||||
#: ../src\controller\mainController.py:454
|
||||
#: ../src\controller\mainController.py:446
|
||||
msgid "{0} not found."
|
||||
msgstr "{0} nicht gefunden."
|
||||
|
||||
#: ../src\controller\mainController.py:490
|
||||
#: ../src\controller\mainController.py:482
|
||||
#: ../src\controller\mainController.py:509
|
||||
msgid "Select the user"
|
||||
msgstr "Wähle den Benutzer"
|
||||
|
||||
#: ../src\controller\mainController.py:768
|
||||
#: ../src\controller\mainController.py:790
|
||||
msgid "Conversation with {0}"
|
||||
msgstr "Unterhaltung mit {0}"
|
||||
|
||||
#: ../src\controller\mainController.py:812
|
||||
#: ../src\controller\mainController.py:831
|
||||
#: ../src\controller\mainController.py:834
|
||||
#: ../src\controller\mainController.py:853
|
||||
msgid "There are no coordinates in this tweet"
|
||||
msgstr "Dieser Tweet hat keine Koordinaten."
|
||||
|
||||
#: ../src\controller\mainController.py:814
|
||||
#: ../src\controller\mainController.py:833
|
||||
#: ../src\controller\mainController.py:836
|
||||
#: ../src\controller\mainController.py:855
|
||||
msgid "There are no results for the coordinates in this tweet"
|
||||
msgstr "Keine Ergebnisse für die Koordinaten in diesem Tweet."
|
||||
|
||||
#: ../src\controller\mainController.py:816
|
||||
#: ../src\controller\mainController.py:835
|
||||
#: ../src\controller\mainController.py:838
|
||||
#: ../src\controller\mainController.py:857
|
||||
msgid "Error decoding coordinates. Try again later."
|
||||
msgstr ""
|
||||
"Fehler beim Umwandeln der Koordinaten. Bitte versuche es später erneut."
|
||||
|
||||
#: ../src\controller\mainController.py:940
|
||||
#: ../src\controller\mainController.py:959
|
||||
#: ../src\controller\mainController.py:960
|
||||
#: ../src\controller\mainController.py:979
|
||||
msgid "%s, %s of %s"
|
||||
msgstr "%s, %s von %s"
|
||||
|
||||
#: ../src\controller\mainController.py:942
|
||||
#: ../src\controller\mainController.py:961
|
||||
#: ../src\controller\mainController.py:982
|
||||
#: ../src\controller\mainController.py:1003
|
||||
#: ../src\controller\mainController.py:962
|
||||
#: ../src\controller\mainController.py:981
|
||||
#: ../src\controller\mainController.py:1002
|
||||
#: ../src\controller\mainController.py:1023
|
||||
msgid "%s. Empty"
|
||||
msgstr "%s. Leer"
|
||||
|
||||
#: ../src\controller\mainController.py:974
|
||||
#: ../src\controller\mainController.py:994
|
||||
msgid "{0}: This account is not logged into Twitter."
|
||||
msgstr "{0}: Dieser Account ist nicht bei Twitter eingeloggt."
|
||||
|
||||
#: ../src\controller\mainController.py:980
|
||||
#: ../src\controller\mainController.py:1001
|
||||
#: ../src\controller\mainController.py:1000
|
||||
#: ../src\controller\mainController.py:1021
|
||||
msgid "%s. %s, %s of %s"
|
||||
msgstr "%s. %s, %s von %s"
|
||||
|
||||
#: ../src\controller\mainController.py:995
|
||||
#: ../src\controller\mainController.py:1015
|
||||
msgid "{0}: This account is not logged into twitter."
|
||||
msgstr "{0}: Dieser Account ist nicht bei Twitter eingeloggt."
|
||||
|
||||
#: ../src\controller\mainController.py:1096
|
||||
#: ../src\controller\mainController.py:1116
|
||||
msgid "One mention from %s "
|
||||
msgstr "Eine Erwähnung von %s"
|
||||
|
||||
#: ../src\controller\mainController.py:1185
|
||||
#: ../src\controller\mainController.py:1194
|
||||
#: ../src\controller\mainController.py:1205
|
||||
#: ../src\controller\mainController.py:1214
|
||||
msgid "One tweet from %s"
|
||||
msgstr "Ein Tweet von %s"
|
||||
|
||||
#: ../src\controller\mainController.py:1251
|
||||
#: ../src\controller\mainController.py:1278
|
||||
msgid "This list is already opened"
|
||||
msgstr "Diese Liste ist bereits geöffnet."
|
||||
|
||||
#: ../src\controller\mainController.py:1309
|
||||
#: ../src\controller\mainController.py:1337
|
||||
msgid "The auto-reading of new tweets is enabled for this buffer"
|
||||
msgstr "Das automatische Vorlesen von Tweets ist für diese Ansicht aktiv."
|
||||
|
||||
#: ../src\controller\mainController.py:1312
|
||||
#: ../src\controller\mainController.py:1340
|
||||
msgid "The auto-reading of new tweets is disabled for this buffer"
|
||||
msgstr ""
|
||||
"Das automatische Vorlesen von Tweets ist für diese Ansicht deaktiviert."
|
||||
|
||||
#: ../src\controller\mainController.py:1318
|
||||
#: ../src\controller\mainController.py:1346
|
||||
msgid "Session mute on"
|
||||
msgstr "Sitzung stummgeschaltet"
|
||||
|
||||
#: ../src\controller\mainController.py:1321
|
||||
#: ../src\controller\mainController.py:1349
|
||||
msgid "Session mute off"
|
||||
msgstr "Sitzung nicht stummgeschaltet"
|
||||
|
||||
#: ../src\controller\mainController.py:1328
|
||||
#: ../src\controller\mainController.py:1356
|
||||
msgid "Buffer mute on"
|
||||
msgstr "Stummschaltung ein"
|
||||
|
||||
#: ../src\controller\mainController.py:1331
|
||||
#: ../src\controller\mainController.py:1359
|
||||
msgid "Buffer mute off"
|
||||
msgstr "Stummschaltung aus"
|
||||
|
||||
@@ -293,73 +296,73 @@ msgstr "Stummschaltung aus"
|
||||
msgid "Copied"
|
||||
msgstr "Kopiert"
|
||||
|
||||
#: ../src\controller\messages.py:43
|
||||
#: ../src\controller\messages.py:44
|
||||
msgid "Translated"
|
||||
msgstr "Übersetzt"
|
||||
|
||||
#: ../src\controller\messages.py:50
|
||||
#: ../src\controller\messages.py:51
|
||||
msgid "There's no URL to be shortened"
|
||||
msgstr "Es gibt keine URL zum Kürzen."
|
||||
|
||||
#: ../src\controller\messages.py:54 ../src\controller\messages.py:61
|
||||
#: ../src\controller\messages.py:55 ../src\controller\messages.py:62
|
||||
msgid "URL shortened"
|
||||
msgstr "URL gekürzt"
|
||||
|
||||
#: ../src\controller\messages.py:67
|
||||
#: ../src\controller\messages.py:68
|
||||
msgid "There's no URL to be expanded"
|
||||
msgstr "Es gibt keine URL zum Expandieren."
|
||||
|
||||
#: ../src\controller\messages.py:71 ../src\controller\messages.py:78
|
||||
#: ../src\controller\messages.py:72 ../src\controller\messages.py:79
|
||||
msgid "URL expanded"
|
||||
msgstr "URL expandiert"
|
||||
|
||||
#: ../src\controller\messages.py:89
|
||||
#: ../src\controller\messages.py:90
|
||||
msgid "%s - %s of %d characters"
|
||||
msgstr "%s - %s von %d Zeichen"
|
||||
|
||||
#: ../src\controller\messages.py:93
|
||||
#: ../src\controller\messages.py:94
|
||||
msgid "%s - %s characters"
|
||||
msgstr "%s - %s Zeichen"
|
||||
|
||||
#: ../src\controller\messages.py:109
|
||||
#: ../src\controller\messages.py:111
|
||||
msgid "Unable to upload the audio"
|
||||
msgstr "Audio kann nicht hochgeladen werden."
|
||||
|
||||
#: ../src\controller\messages.py:124 ../src\controller\messages.py:132
|
||||
#: ../src\controller\messages.py:127 ../src\controller\messages.py:135
|
||||
#: ../src\wxUI\dialogs\update_profile.py:77
|
||||
msgid "Discard image"
|
||||
msgstr "Bild verwerfen"
|
||||
|
||||
#: ../src\controller\messages.py:127 ../src\controller\user.py:53
|
||||
#: ../src\controller\messages.py:130 ../src\controller\user.py:53
|
||||
#: ../src\extra\AudioUploader\audioUploader.py:127
|
||||
msgid "Discarded"
|
||||
msgstr "Verworfen"
|
||||
|
||||
#: ../src\controller\messages.py:128 ../src\wxUI\dialogs\message.py:133
|
||||
#: ../src\controller\messages.py:131 ../src\wxUI\dialogs\message.py:133
|
||||
#: ../src\wxUI\dialogs\update_profile.py:32
|
||||
#: ../src\wxUI\dialogs\update_profile.py:75
|
||||
msgid "Upload a picture"
|
||||
msgstr "Ein Bild hochladen"
|
||||
|
||||
#: ../src\controller\settings.py:119 ../src\controller\settings.py:178
|
||||
#: ../src\controller\settings.py:121 ../src\controller\settings.py:180
|
||||
#: ../src\wxUI\dialogs\configuration.py:100
|
||||
msgid "Ask"
|
||||
msgstr "Fragen"
|
||||
|
||||
#: ../src\controller\settings.py:121 ../src\controller\settings.py:180
|
||||
#: ../src\controller\settings.py:123 ../src\controller\settings.py:182
|
||||
#: ../src\wxUI\dialogs\configuration.py:100
|
||||
msgid "Retweet without comments"
|
||||
msgstr "Retweet ohne Kommentar"
|
||||
|
||||
#: ../src\controller\settings.py:123 ../src\wxUI\dialogs\configuration.py:100
|
||||
#: ../src\controller\settings.py:125 ../src\wxUI\dialogs\configuration.py:100
|
||||
msgid "Retweet with comments"
|
||||
msgstr "Retweet mit Kommentar"
|
||||
|
||||
#: ../src\controller\settings.py:155
|
||||
#: ../src\controller\settings.py:157
|
||||
msgid "Account settings for %s"
|
||||
msgstr "Account-Einstellungen für %s"
|
||||
|
||||
#: ../src\controller\settings.py:263 ../src\wxUI\dialogs\configuration.py:291
|
||||
#: ../src\controller\settings.py:265 ../src\wxUI\dialogs\configuration.py:291
|
||||
msgid "Connect your Pocket account"
|
||||
msgstr "Pocket-Account verbinden"
|
||||
|
||||
@@ -419,7 +422,7 @@ msgstr "Tweets: %s\n"
|
||||
msgid "Favourites: %s"
|
||||
msgstr "Favoriten: %s"
|
||||
|
||||
#: ../src\controller\userActionsController.py:69
|
||||
#: ../src\controller\userActionsController.py:75
|
||||
msgid "You can't ignore direct messages"
|
||||
msgstr "Du kannst keine Direktnachrichten ignorieren."
|
||||
|
||||
@@ -705,6 +708,8 @@ msgstr ""
|
||||
#: ../src\extra\SpellChecker\wx_ui.py:76 ../src\issueReporter\wx_ui.py:83
|
||||
#: ../src\issueReporter\wx_ui.py:86 ../src\wxUI\commonMessageDialogs.py:38
|
||||
#: ../src\wxUI\commonMessageDialogs.py:50
|
||||
#: ../src\wxUI\commonMessageDialogs.py:57
|
||||
#: ../src\wxUI\commonMessageDialogs.py:60
|
||||
msgid "Error"
|
||||
msgstr "Fehler"
|
||||
|
||||
@@ -1169,8 +1174,8 @@ msgid "autodetect"
|
||||
msgstr "Automatisch"
|
||||
|
||||
#: ../src\extra\translator\wx_ui.py:25 ../src\wxUI\dialogs\message.py:140
|
||||
#: ../src\wxUI\dialogs\message.py:201 ../src\wxUI\dialogs\message.py:279
|
||||
#: ../src\wxUI\dialogs\message.py:334
|
||||
#: ../src\wxUI\dialogs\message.py:201 ../src\wxUI\dialogs\message.py:280
|
||||
#: ../src\wxUI\dialogs\message.py:335
|
||||
msgid "Translate message"
|
||||
msgstr "Nachricht übersetzen"
|
||||
|
||||
@@ -1506,7 +1511,7 @@ msgid "Keystroke"
|
||||
msgstr "Tastenkombination"
|
||||
|
||||
#: ../src\keystrokeEditor\wx_ui.py:13 ../src\wxUI\dialogs\userActions.py:9
|
||||
#: ../src\wxUI\dialogs\userActions.py:16
|
||||
#: ../src\wxUI\dialogs\userActions.py:18
|
||||
msgid "Action"
|
||||
msgstr "Aktion"
|
||||
|
||||
@@ -1514,57 +1519,61 @@ msgstr "Aktion"
|
||||
msgid "Edit"
|
||||
msgstr "Bearbeiten"
|
||||
|
||||
#: ../src\keystrokeEditor\wx_ui.py:20
|
||||
msgid "Execute action"
|
||||
msgstr "Aktion ausführen"
|
||||
|
||||
#: ../src\keystrokeEditor\wx_ui.py:21 ../src\wxUI\dialogs\configuration.py:349
|
||||
#: ../src\wxUI\dialogs\message.py:84 ../src\wxUI\dialogs\message.py:144
|
||||
#: ../src\wxUI\dialogs\message.py:204 ../src\wxUI\dialogs\message.py:280
|
||||
#: ../src\wxUI\dialogs\message.py:335 ../src\wxUI\dialogs\search.py:26
|
||||
#: ../src\wxUI\dialogs\message.py:204 ../src\wxUI\dialogs\message.py:281
|
||||
#: ../src\wxUI\dialogs\message.py:336 ../src\wxUI\dialogs\search.py:26
|
||||
#: ../src\wxUI\dialogs\show_user.py:17 ../src\wxUI\dialogs\trends.py:28
|
||||
#: ../src\wxUI\dialogs\update_profile.py:35
|
||||
#: ../src\wxUI\dialogs\userActions.py:40
|
||||
#: ../src\wxUI\dialogs\userSelection.py:28 ../src\wxUI\dialogs\utils.py:35
|
||||
#: ../src\wxUI\dialogs\userActions.py:42
|
||||
#: ../src\wxUI\dialogs\userSelection.py:30 ../src\wxUI\dialogs\utils.py:37
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
|
||||
#: ../src\keystrokeEditor\wx_ui.py:43
|
||||
#: ../src\keystrokeEditor\wx_ui.py:45
|
||||
msgid "Editing keystroke"
|
||||
msgstr "Bearbeite Tastenkombination"
|
||||
|
||||
#: ../src\keystrokeEditor\wx_ui.py:46
|
||||
#: ../src\keystrokeEditor\wx_ui.py:48
|
||||
msgid "Control"
|
||||
msgstr "STRG"
|
||||
|
||||
#: ../src\keystrokeEditor\wx_ui.py:47
|
||||
#: ../src\keystrokeEditor\wx_ui.py:49
|
||||
msgid "Alt"
|
||||
msgstr "Alt"
|
||||
|
||||
#: ../src\keystrokeEditor\wx_ui.py:48
|
||||
#: ../src\keystrokeEditor\wx_ui.py:50
|
||||
msgid "Shift"
|
||||
msgstr "Umschalt"
|
||||
|
||||
#: ../src\keystrokeEditor\wx_ui.py:49
|
||||
#: ../src\keystrokeEditor\wx_ui.py:51
|
||||
msgid "Windows"
|
||||
msgstr "Windows"
|
||||
|
||||
#: ../src\keystrokeEditor\wx_ui.py:55
|
||||
#: ../src\keystrokeEditor\wx_ui.py:57
|
||||
msgid "Key"
|
||||
msgstr "Taste"
|
||||
|
||||
#: ../src\keystrokeEditor\wx_ui.py:60 ../src\wxUI\dialogs\find.py:18
|
||||
#: ../src\keystrokeEditor\wx_ui.py:62 ../src\wxUI\dialogs\find.py:18
|
||||
#: ../src\wxUI\dialogs\search.py:24 ../src\wxUI\dialogs\trends.py:26
|
||||
#: ../src\wxUI\dialogs\userActions.py:38
|
||||
#: ../src\wxUI\dialogs\userSelection.py:26 ../src\wxUI\dialogs\utils.py:32
|
||||
#: ../src\wxUI\dialogs\userActions.py:40
|
||||
#: ../src\wxUI\dialogs\userSelection.py:28 ../src\wxUI\dialogs\utils.py:34
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: ../src\keystrokeEditor\wx_ui.py:73
|
||||
#: ../src\keystrokeEditor\wx_ui.py:75
|
||||
msgid "You need to use the Windows key"
|
||||
msgstr "Du musst die Windows-Taste verwenden."
|
||||
|
||||
#: ../src\keystrokeEditor\wx_ui.py:73 ../src\keystrokeEditor\wx_ui.py:76
|
||||
#: ../src\keystrokeEditor\wx_ui.py:75 ../src\keystrokeEditor\wx_ui.py:78
|
||||
msgid "Invalid keystroke"
|
||||
msgstr "Ungültige Tastenkombination"
|
||||
|
||||
#: ../src\keystrokeEditor\wx_ui.py:76
|
||||
#: ../src\keystrokeEditor\wx_ui.py:78
|
||||
msgid "You must provide a character for the keystroke"
|
||||
msgstr "Du musst ein Zeichen für die Tastenkombination angeben."
|
||||
|
||||
@@ -1572,11 +1581,11 @@ msgstr "Du musst ein Zeichen für die Tastenkombination angeben."
|
||||
msgid "User default"
|
||||
msgstr "Benutzerstandard"
|
||||
|
||||
#: ../src\sessionmanager\session.py:185
|
||||
#: ../src\sessionmanager\session.py:186
|
||||
msgid "%s failed. Reason: %s"
|
||||
msgstr "%s fehlgeschlagen. Grund: %s"
|
||||
|
||||
#: ../src\sessionmanager\session.py:191
|
||||
#: ../src\sessionmanager\session.py:192
|
||||
msgid "%s succeeded."
|
||||
msgstr "%s erfolgreich."
|
||||
|
||||
@@ -1844,7 +1853,7 @@ msgstr "Datum"
|
||||
#: ../src\wxUI\buffers\base.py:11 ../src\wxUI\buffers\people.py:10
|
||||
#: ../src\wxUI\buffers\user_searches.py:9
|
||||
#: ../src\wxUI\dialogs\userActions.py:10
|
||||
#: ../src\wxUI\dialogs\userSelection.py:10 ../src\wxUI\dialogs\utils.py:29
|
||||
#: ../src\wxUI\dialogs\userSelection.py:10 ../src\wxUI\dialogs\utils.py:30
|
||||
msgid "User"
|
||||
msgstr "Benutzer"
|
||||
|
||||
@@ -1900,7 +1909,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Möchtest du diesen Tweet wirklich löschen? Er wird auch auf Twitter gelöscht."
|
||||
|
||||
#: ../src\wxUI\commonMessageDialogs.py:12 ../src\wxUI\dialogs\lists.py:133
|
||||
#: ../src\wxUI\commonMessageDialogs.py:12 ../src\wxUI\dialogs\lists.py:134
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
@@ -2020,6 +2029,17 @@ msgstr ""
|
||||
msgid "We need your help"
|
||||
msgstr "Wir brauchen deine Hilfe"
|
||||
|
||||
#: ../src\wxUI\commonMessageDialogs.py:57
|
||||
msgid "This user has no tweets. {0} can't create a timeline."
|
||||
msgstr ""
|
||||
"Dieser Benutzer hat keine Tweets, {0} kann daher keine Zeitleiste erstellen."
|
||||
|
||||
#: ../src\wxUI\commonMessageDialogs.py:60
|
||||
msgid "This user has no favorited tweets. {0} can't create a timeline."
|
||||
msgstr ""
|
||||
"Dieser Benutzer hat keine Favoriten. {0} kann daher keine Zeitleiste "
|
||||
"erstellen."
|
||||
|
||||
#: ../src\wxUI\dialogs\configuration.py:14
|
||||
msgid "Language"
|
||||
msgstr "Sprache"
|
||||
@@ -2333,7 +2353,7 @@ msgstr "Hinzufügen"
|
||||
msgid "Select a list to remove the user"
|
||||
msgstr "Wähle eine Liste zum Entfernen des Benutzers."
|
||||
|
||||
#: ../src\wxUI\dialogs\lists.py:133
|
||||
#: ../src\wxUI\dialogs\lists.py:134
|
||||
msgid "Do you really want to delete this list?"
|
||||
msgstr "Möchtest du diese Liste wirklich löschen?"
|
||||
|
||||
@@ -2359,8 +2379,8 @@ msgid "Shorten URL"
|
||||
msgstr "URL kürzen"
|
||||
|
||||
#: ../src\wxUI\dialogs\message.py:77 ../src\wxUI\dialogs\message.py:137
|
||||
#: ../src\wxUI\dialogs\message.py:198 ../src\wxUI\dialogs\message.py:277
|
||||
#: ../src\wxUI\dialogs\message.py:332
|
||||
#: ../src\wxUI\dialogs\message.py:198 ../src\wxUI\dialogs\message.py:278
|
||||
#: ../src\wxUI\dialogs\message.py:333
|
||||
msgid "Expand URL"
|
||||
msgstr "URL expandieren"
|
||||
|
||||
@@ -2369,7 +2389,8 @@ msgid "Translate..."
|
||||
msgstr "Übersetzen..."
|
||||
|
||||
#: ../src\wxUI\dialogs\message.py:81 ../src\wxUI\dialogs\message.py:141
|
||||
#: ../src\wxUI\dialogs\message.py:186
|
||||
#: ../src\wxUI\dialogs\message.py:186 ../src\wxUI\dialogs\userActions.py:13
|
||||
#: ../src\wxUI\dialogs\userSelection.py:13 ../src\wxUI\dialogs\utils.py:29
|
||||
msgid "&Autocomplete users"
|
||||
msgstr "&Auto-Vervollständigung der Benutzer"
|
||||
|
||||
@@ -2389,7 +2410,7 @@ msgid "Select the picture to be uploaded"
|
||||
msgstr "Wähle das hochzuladende Bild aus."
|
||||
|
||||
#: ../src\wxUI\dialogs\message.py:134 ../src\wxUI\dialogs\message.py:195
|
||||
#: ../src\wxUI\dialogs\message.py:276 ../src\wxUI\dialogs\message.py:331
|
||||
#: ../src\wxUI\dialogs\message.py:277 ../src\wxUI\dialogs\message.py:332
|
||||
msgid "Spelling correction"
|
||||
msgstr "Rechtschreibprüfung"
|
||||
|
||||
@@ -2397,27 +2418,27 @@ msgstr "Rechtschreibprüfung"
|
||||
msgid "Recipient"
|
||||
msgstr "Empfänger"
|
||||
|
||||
#: ../src\wxUI\dialogs\message.py:236
|
||||
#: ../src\wxUI\dialogs\message.py:237
|
||||
msgid "Men&tion to all"
|
||||
msgstr "Alle er&wähnen"
|
||||
|
||||
#: ../src\wxUI\dialogs\message.py:245
|
||||
#: ../src\wxUI\dialogs\message.py:246
|
||||
msgid "Tweet - %i characters "
|
||||
msgstr "Tweet - %i Zeichen "
|
||||
|
||||
#: ../src\wxUI\dialogs\message.py:262
|
||||
#: ../src\wxUI\dialogs\message.py:263
|
||||
msgid "Retweets: "
|
||||
msgstr "Retweets: "
|
||||
|
||||
#: ../src\wxUI\dialogs\message.py:267
|
||||
#: ../src\wxUI\dialogs\message.py:268
|
||||
msgid "Favourites: "
|
||||
msgstr "Favoriten: "
|
||||
|
||||
#: ../src\wxUI\dialogs\message.py:317
|
||||
#: ../src\wxUI\dialogs\message.py:318
|
||||
msgid "View"
|
||||
msgstr "Ansehen"
|
||||
|
||||
#: ../src\wxUI\dialogs\message.py:319
|
||||
#: ../src\wxUI\dialogs\message.py:320
|
||||
msgid "Item"
|
||||
msgstr "Eintrag"
|
||||
|
||||
@@ -2429,7 +2450,7 @@ msgstr "Auf Twitter suchen"
|
||||
msgid "Search"
|
||||
msgstr "Suchen"
|
||||
|
||||
#: ../src\wxUI\dialogs\search.py:18 ../src\wxUI\dialogs\userSelection.py:17
|
||||
#: ../src\wxUI\dialogs\search.py:18 ../src\wxUI\dialogs\userSelection.py:19
|
||||
msgid "Tweets"
|
||||
msgstr "Tweets"
|
||||
|
||||
@@ -2489,35 +2510,35 @@ msgstr "Profil aktualisieren"
|
||||
msgid "Select URL"
|
||||
msgstr "Wähle eine URL"
|
||||
|
||||
#: ../src\wxUI\dialogs\userActions.py:17
|
||||
#: ../src\wxUI\dialogs\userActions.py:19
|
||||
msgid "Follow"
|
||||
msgstr "Folgen"
|
||||
|
||||
#: ../src\wxUI\dialogs\userActions.py:18
|
||||
#: ../src\wxUI\dialogs\userActions.py:20
|
||||
msgid "Unfollow"
|
||||
msgstr "Entfolgen"
|
||||
|
||||
#: ../src\wxUI\dialogs\userActions.py:19
|
||||
#: ../src\wxUI\dialogs\userActions.py:21
|
||||
msgid "Mute"
|
||||
msgstr "Stummschalten"
|
||||
|
||||
#: ../src\wxUI\dialogs\userActions.py:20
|
||||
#: ../src\wxUI\dialogs\userActions.py:22
|
||||
msgid "Unmute"
|
||||
msgstr "Stummschaltung aufheben"
|
||||
|
||||
#: ../src\wxUI\dialogs\userActions.py:21
|
||||
#: ../src\wxUI\dialogs\userActions.py:23
|
||||
msgid "Block"
|
||||
msgstr "Blockieren"
|
||||
|
||||
#: ../src\wxUI\dialogs\userActions.py:22
|
||||
#: ../src\wxUI\dialogs\userActions.py:24
|
||||
msgid "Unblock"
|
||||
msgstr "Blockierung aufheben"
|
||||
|
||||
#: ../src\wxUI\dialogs\userActions.py:23
|
||||
#: ../src\wxUI\dialogs\userActions.py:25
|
||||
msgid "Report as spam"
|
||||
msgstr "Als Spam melden"
|
||||
|
||||
#: ../src\wxUI\dialogs\userActions.py:24
|
||||
#: ../src\wxUI\dialogs\userActions.py:26
|
||||
msgid "Ignore tweets from this client"
|
||||
msgstr "Tweets dieses Clients ignorieren"
|
||||
|
||||
@@ -2525,10 +2546,84 @@ msgstr "Tweets dieses Clients ignorieren"
|
||||
msgid "Timeline for %s"
|
||||
msgstr "Zeitleiste von %s"
|
||||
|
||||
#: ../src\wxUI\dialogs\userSelection.py:16
|
||||
#: ../src\wxUI\dialogs\userSelection.py:18
|
||||
msgid "Buffer type"
|
||||
msgstr "Ansichts-Typ"
|
||||
|
||||
#: ../src\wxUI\menus.py:7 ../src\wxUI\view.py:29
|
||||
msgid "&Retweet"
|
||||
msgstr "&Retweet"
|
||||
|
||||
#: ../src\wxUI\menus.py:9 ../src\wxUI\menus.py:31 ../src\wxUI\view.py:28
|
||||
msgid "Re&ply"
|
||||
msgstr "Ant&worten"
|
||||
|
||||
#: ../src\wxUI\menus.py:11 ../src\wxUI\view.py:30
|
||||
msgid "Add to &favourites"
|
||||
msgstr "Zu &Favoriten hinzufügen"
|
||||
|
||||
#: ../src\wxUI\menus.py:13 ../src\wxUI\view.py:31
|
||||
msgid "Remove from favo&urites"
|
||||
msgstr "Aus Fav&oriten entfernen"
|
||||
|
||||
#: ../src\wxUI\menus.py:15 ../src\wxUI\menus.py:33 ../src\wxUI\menus.py:49
|
||||
msgid "&Open URL"
|
||||
msgstr "URL &öffnen"
|
||||
|
||||
#: ../src\wxUI\menus.py:17 ../src\wxUI\menus.py:35 ../src\wxUI\menus.py:51
|
||||
msgid "&Play audio"
|
||||
msgstr "Audio abs&pielen"
|
||||
|
||||
#: ../src\wxUI\menus.py:19 ../src\wxUI\menus.py:53 ../src\wxUI\view.py:32
|
||||
msgid "&Show tweet"
|
||||
msgstr "Tweet an&sehen"
|
||||
|
||||
#: ../src\wxUI\menus.py:21 ../src\wxUI\menus.py:39 ../src\wxUI\menus.py:55
|
||||
#: ../src\wxUI\menus.py:65 ../src\wxUI\menus.py:82 ../src\wxUI\menus.py:94
|
||||
msgid "&Copy to clipboard"
|
||||
msgstr "in Zwischenablage &kopieren"
|
||||
|
||||
#: ../src\wxUI\menus.py:23 ../src\wxUI\menus.py:41 ../src\wxUI\menus.py:57
|
||||
#: ../src\wxUI\menus.py:67 ../src\wxUI\view.py:35
|
||||
msgid "&Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: ../src\wxUI\menus.py:25 ../src\wxUI\menus.py:43 ../src\wxUI\menus.py:84
|
||||
msgid "&User actions..."
|
||||
msgstr "Ben&utzeraktionen"
|
||||
|
||||
#: ../src\wxUI\menus.py:37
|
||||
msgid "&Show direct message"
|
||||
msgstr "Direktnachricht an&sehen"
|
||||
|
||||
#: ../src\wxUI\menus.py:63
|
||||
msgid "&Show event"
|
||||
msgstr "Ereignis an&sehen"
|
||||
|
||||
#: ../src\wxUI\menus.py:73
|
||||
msgid "Direct &message"
|
||||
msgstr "Direkt&nachricht"
|
||||
|
||||
#: ../src\wxUI\menus.py:75 ../src\wxUI\view.py:44
|
||||
msgid "&View lists"
|
||||
msgstr "Listen &ansehen"
|
||||
|
||||
#: ../src\wxUI\menus.py:78 ../src\wxUI\view.py:46
|
||||
msgid "Show user &profile"
|
||||
msgstr "Benutzer&profil ansehen"
|
||||
|
||||
#: ../src\wxUI\menus.py:80
|
||||
msgid "&Show user"
|
||||
msgstr "Benutzer an&sehen"
|
||||
|
||||
#: ../src\wxUI\menus.py:90
|
||||
msgid "&Tweet about this trend"
|
||||
msgstr "Über diesen &Trend twittern"
|
||||
|
||||
#: ../src\wxUI\menus.py:92
|
||||
msgid "&Show item"
|
||||
msgstr "Eintrag an&sehen"
|
||||
|
||||
#: ../src\wxUI\sysTrayIcon.py:34 ../src\wxUI\view.py:22
|
||||
msgid "&Global settings"
|
||||
msgstr "&Globale Einstellungen"
|
||||
@@ -2545,7 +2640,7 @@ msgstr "&Profil aktualisieren"
|
||||
msgid "&Show / hide"
|
||||
msgstr "&Zeigen / verbergen"
|
||||
|
||||
#: ../src\wxUI\sysTrayIcon.py:38 ../src\wxUI\view.py:63
|
||||
#: ../src\wxUI\sysTrayIcon.py:38 ../src\wxUI\view.py:62
|
||||
msgid "&Documentation"
|
||||
msgstr "Dokumentation^"
|
||||
|
||||
@@ -2585,30 +2680,10 @@ msgstr "Tasten&kombinationen bearbeiten"
|
||||
msgid "E&xit"
|
||||
msgstr "&Beenden"
|
||||
|
||||
#: ../src\wxUI\view.py:27 ../src\wxUI\view.py:74
|
||||
#: ../src\wxUI\view.py:27 ../src\wxUI\view.py:73
|
||||
msgid "&Tweet"
|
||||
msgstr "&Tweet"
|
||||
|
||||
#: ../src\wxUI\view.py:28
|
||||
msgid "Re&ply"
|
||||
msgstr "Ant&worten"
|
||||
|
||||
#: ../src\wxUI\view.py:29
|
||||
msgid "&Retweet"
|
||||
msgstr "&Retweet"
|
||||
|
||||
#: ../src\wxUI\view.py:30
|
||||
msgid "Add to &favourites"
|
||||
msgstr "Zu &Favoriten hinzufügen"
|
||||
|
||||
#: ../src\wxUI\view.py:31
|
||||
msgid "Remove from favo&urites"
|
||||
msgstr "Aus Fav&oriten entfernen"
|
||||
|
||||
#: ../src\wxUI\view.py:32
|
||||
msgid "&Show tweet"
|
||||
msgstr "Tweet an&sehen"
|
||||
|
||||
#: ../src\wxUI\view.py:33
|
||||
msgid "View &address"
|
||||
msgstr "&Adresse abrufen"
|
||||
@@ -2617,10 +2692,6 @@ msgstr "&Adresse abrufen"
|
||||
msgid "View conversa&tion"
|
||||
msgstr "Konversa&tion anzeigen"
|
||||
|
||||
#: ../src\wxUI\view.py:35
|
||||
msgid "&Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: ../src\wxUI\view.py:39
|
||||
msgid "&Actions..."
|
||||
msgstr "&Aktionen..."
|
||||
@@ -2641,95 +2712,87 @@ msgstr "Zur L&iste hinzufügen"
|
||||
msgid "R&emove from list"
|
||||
msgstr "Aus Liste &entfernen"
|
||||
|
||||
#: ../src\wxUI\view.py:45
|
||||
msgid "&View lists"
|
||||
msgstr "Listen &ansehen"
|
||||
|
||||
#: ../src\wxUI\view.py:47
|
||||
msgid "Show user &profile"
|
||||
msgstr "Benutzer&profil ansehen"
|
||||
|
||||
#: ../src\wxUI\view.py:48
|
||||
msgid "V&iew favourites"
|
||||
msgstr "Favor&iten ansehen"
|
||||
|
||||
#: ../src\wxUI\view.py:52
|
||||
#: ../src\wxUI\view.py:51
|
||||
msgid "New &trending topics buffer..."
|
||||
msgstr "Neue &Trends-Ansicht"
|
||||
|
||||
#: ../src\wxUI\view.py:53
|
||||
#: ../src\wxUI\view.py:52
|
||||
msgid "Find a string in the currently focused buffer..."
|
||||
msgstr "Eine Zeichenkette im der momentan fokussierten Ansicht suchen..."
|
||||
|
||||
#: ../src\wxUI\view.py:54
|
||||
#: ../src\wxUI\view.py:53
|
||||
msgid "&Load previous items"
|
||||
msgstr "Vorhergehende Einträge &laden"
|
||||
|
||||
#: ../src\wxUI\view.py:56
|
||||
#: ../src\wxUI\view.py:55
|
||||
msgid "&Mute"
|
||||
msgstr "Stu&mmschalten"
|
||||
|
||||
#: ../src\wxUI\view.py:57
|
||||
#: ../src\wxUI\view.py:56
|
||||
msgid "&Autoread"
|
||||
msgstr "&Automatisch vorlesen"
|
||||
|
||||
#: ../src\wxUI\view.py:58
|
||||
#: ../src\wxUI\view.py:57
|
||||
msgid "&Clear buffer"
|
||||
msgstr "Ansicht l&eeren"
|
||||
|
||||
#: ../src\wxUI\view.py:59
|
||||
#: ../src\wxUI\view.py:58
|
||||
msgid "&Destroy"
|
||||
msgstr "&Löschen"
|
||||
|
||||
#: ../src\wxUI\view.py:64
|
||||
#: ../src\wxUI\view.py:63
|
||||
msgid "Sounds &tutorial"
|
||||
msgstr "Sounds &erlernen"
|
||||
|
||||
#: ../src\wxUI\view.py:65
|
||||
#: ../src\wxUI\view.py:64
|
||||
msgid "&What's new in this version?"
|
||||
msgstr "&Was ist neu in dieser Version?"
|
||||
|
||||
#: ../src\wxUI\view.py:67
|
||||
#: ../src\wxUI\view.py:66
|
||||
msgid "&Check for updates"
|
||||
msgstr "Nach &Updates suchen"
|
||||
|
||||
#: ../src\wxUI\view.py:68
|
||||
#: ../src\wxUI\view.py:67
|
||||
msgid "&Report an error"
|
||||
msgstr "Fehle&r melden"
|
||||
|
||||
#: ../src\wxUI\view.py:69
|
||||
#: ../src\wxUI\view.py:68
|
||||
msgid "{0}'s &website"
|
||||
msgstr "{0}-&Webseite"
|
||||
|
||||
#: ../src\wxUI\view.py:70
|
||||
#: ../src\wxUI\view.py:69
|
||||
msgid "About &{0}"
|
||||
msgstr "Über &{0}"
|
||||
|
||||
#: ../src\wxUI\view.py:73
|
||||
#: ../src\wxUI\view.py:72
|
||||
msgid "&Application"
|
||||
msgstr "&Anwendung"
|
||||
|
||||
#: ../src\wxUI\view.py:75
|
||||
#: ../src\wxUI\view.py:74
|
||||
msgid "&User"
|
||||
msgstr "Ben&utzer"
|
||||
|
||||
#: ../src\wxUI\view.py:76
|
||||
#: ../src\wxUI\view.py:75
|
||||
msgid "&Buffer"
|
||||
msgstr "A&nsicht"
|
||||
|
||||
#: ../src\wxUI\view.py:77
|
||||
#: ../src\wxUI\view.py:76
|
||||
msgid "&Help"
|
||||
msgstr "&Hilfe"
|
||||
|
||||
#: ../src\wxUI\view.py:158
|
||||
#: ../src\wxUI\view.py:159
|
||||
msgid "Address"
|
||||
msgstr "Adresse"
|
||||
|
||||
#: ../src\wxUI\view.py:181
|
||||
#: ../src\wxUI\view.py:182
|
||||
msgid "Update"
|
||||
msgstr "Update"
|
||||
|
||||
#: ../src\wxUI\view.py:181
|
||||
#: ../src\wxUI\view.py:182
|
||||
msgid "Your {0} version is up to date"
|
||||
msgstr "Deine {0}-Version ist aktuell"
|
||||
|
||||
|
BIN
src/locales/de/LC_MESSAGES/twblue_old.mo
Normal file
BIN
src/locales/de/LC_MESSAGES/twblue_old.mo
Normal file
Binary file not shown.
2854
src/locales/de/LC_MESSAGES/twblue_old.po
Normal file
2854
src/locales/de/LC_MESSAGES/twblue_old.po
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
2871
src/locales/fi/LC_MESSAGES/twblue_old.po
Normal file
2871
src/locales/fi/LC_MESSAGES/twblue_old.po
Normal file
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
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
src/locales/ja/lc_messages/twblue.mo
Normal file
BIN
src/locales/ja/lc_messages/twblue.mo
Normal file
Binary file not shown.
2794
src/locales/ja/lc_messages/twblue.po
Normal file
2794
src/locales/ja/lc_messages/twblue.po
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
BIN
src/locales/sr/LC_MESSAGES/twblue.mo
Normal file
BIN
src/locales/sr/LC_MESSAGES/twblue.mo
Normal file
Binary file not shown.
2794
src/locales/sr/LC_MESSAGES/twblue.po
Normal file
2794
src/locales/sr/LC_MESSAGES/twblue.po
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
2882
src/locales/tr/LC_MESSAGES/twblue_old.po
Normal file
2882
src/locales/tr/LC_MESSAGES/twblue_old.po
Normal file
File diff suppressed because it is too large
Load Diff
@@ -16,6 +16,7 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
############################################################
|
||||
from twitter import utils
|
||||
|
||||
def get_id(url):
|
||||
return url.split("/")[-1]
|
||||
@@ -25,4 +26,9 @@ def is_long(tweet):
|
||||
for url in range(0, len(tweet["entities"]["urls"])):
|
||||
if "twitter.com" in tweet["entities"]["urls"][url]["expanded_url"]:
|
||||
long = get_id(tweet["entities"]["urls"][url]["expanded_url"])
|
||||
return long
|
||||
return long
|
||||
|
||||
def clear_url(tweet):
|
||||
urls = utils.find_urls_in_text(tweet["text"])
|
||||
tweet["message"] = tweet["message"].replace(urls[-1]+".", "")
|
||||
return tweet
|
@@ -9,7 +9,7 @@ import output
|
||||
import time
|
||||
import sound
|
||||
import logging
|
||||
from twitter import utils
|
||||
from twitter import utils, compose
|
||||
from twython import TwythonError, TwythonRateLimitError, TwythonAuthError
|
||||
import config_utils
|
||||
import shelve
|
||||
@@ -18,6 +18,7 @@ import os
|
||||
from mysc.thread_utils import stream_threaded
|
||||
from pubsub import pub
|
||||
log = logging.getLogger("sessionmanager.session")
|
||||
from long_tweets import tweets
|
||||
|
||||
sessions = {}
|
||||
|
||||
@@ -61,6 +62,7 @@ class Session(object):
|
||||
self.db[name] = []
|
||||
for i in data:
|
||||
if utils.find_item(i["id"], self.db[name]) == None and utils.is_allowed(i, self.settings["twitter"]["ignored_clients"]) == True:
|
||||
i = self.check_quoted_status(i)
|
||||
if self.settings["general"]["reverse_timelines"] == False: self.db[name].append(i)
|
||||
else: self.db[name].insert(0, i)
|
||||
num = num+1
|
||||
@@ -413,3 +415,27 @@ class Session(object):
|
||||
os.remove(shelfname)
|
||||
except:
|
||||
pass
|
||||
|
||||
def check_quoted_status(self, tweet):
|
||||
status = tweets.is_long(tweet)
|
||||
if status != False:
|
||||
tweet["quoted"] = 1
|
||||
tweet = self.get_quoted_tweet(tweet)
|
||||
return tweet
|
||||
|
||||
|
||||
def get_quoted_tweet(self, tweet):
|
||||
quoted_tweet = self.twitter.twitter.show_status(id=tweet["id"])
|
||||
urls = utils.find_urls_in_text(quoted_tweet["text"])
|
||||
for url in range(0, len(urls)):
|
||||
try: quoted_tweet["text"] = quoted_tweet["text"].replace(urls[url], quoted_tweet["entities"]["urls"][url]["expanded_url"])
|
||||
except IndexError: pass
|
||||
l = tweets.is_long(quoted_tweet)
|
||||
id = tweets.get_id(l)
|
||||
original_tweet = self.twitter.twitter.show_status(id=id)
|
||||
urls = utils.find_urls_in_text(original_tweet["text"])
|
||||
for url in range(0, len(urls)):
|
||||
try: original_tweet["text"] = original_tweet["text"].replace(urls[url], original_tweet["entities"]["urls"][url]["expanded_url"])
|
||||
except IndexError: pass
|
||||
return compose.compose_quoted_tweet(quoted_tweet, original_tweet)
|
||||
|
||||
|
@@ -30,6 +30,10 @@ class timelinesStreamer(TwythonStreamer):
|
||||
def check_tls(self, data):
|
||||
for i in self.session.settings["other_buffers"]["timelines"]:
|
||||
if data["user"]["screen_name"] == i:
|
||||
if utils.find_item(data["id"], self.session.db["%s-timeline" % (i,)]) != None:
|
||||
log.error("duplicated tweet. Ignoring it...")
|
||||
return
|
||||
data = self.session.check_quoted_status(data)
|
||||
if self.session.settings["general"]["reverse_timelines"] == False: self.session.db["%s-timeline" % (i,)].append(data)
|
||||
else: self.session.db["%s-timeline" % (i,)].insert(0, data)
|
||||
pub.sendMessage("item-in-timeline", data= data, user= self.session.db["user_name"], who= i)
|
||||
@@ -38,6 +42,7 @@ class timelinesStreamer(TwythonStreamer):
|
||||
i.users.index(data["user"]["id"])
|
||||
usr = data["in_reply_to_user_id"]
|
||||
if (usr != None and usr in self.friends) or data.has_key("retweeted_status"):
|
||||
data = self.session.check_quoted_status(data)
|
||||
if self.session.settings["general"]["reverse_timelines"] == False: self.session.db["%s" % (i.name,)].append(data)
|
||||
else: self.session.db["%s" % (i,)].insert(0, data)
|
||||
pub.sendMessage("item-in-list", data= data, user= self.session.db["user_name"], where= i.name)
|
||||
|
@@ -33,6 +33,10 @@ class streamer(TwythonStreamer):
|
||||
|
||||
def put_data(self, place, data):
|
||||
if self.session.db.has_key(place):
|
||||
if utils.find_item(data["id"], self.session.db[place]) != None:
|
||||
log.error("duplicated tweet. Ignoring it...")
|
||||
return
|
||||
data = self.session.check_quoted_status(data)
|
||||
if self.session.settings["general"]["reverse_timelines"] == False:
|
||||
self.session.db[place].append(data)
|
||||
else:
|
||||
|
@@ -10,7 +10,7 @@ import languageHandler
|
||||
import arrow
|
||||
import logging
|
||||
import config
|
||||
from long_tweets import twishort
|
||||
from long_tweets import twishort, tweets
|
||||
log = logging.getLogger("compose")
|
||||
|
||||
def StripChars(s):
|
||||
@@ -60,11 +60,33 @@ def compose_tweet(tweet, db, relative_times):
|
||||
try:
|
||||
oldtext=text
|
||||
text=twishort.get_full_text(tweet['long_uri'])
|
||||
try: text = "rt @%s: %s" % (tweet["retweeted_status"]["user"]["screen_name"], StripChars(text))
|
||||
except KeyError: pass
|
||||
except:
|
||||
text=oldtext
|
||||
if tweet.has_key("message"):
|
||||
text = tweet["message"]
|
||||
return [user+", ", text, ts+", ", source]
|
||||
|
||||
tweet["text"] = text
|
||||
return [user+", ", tweet["text"], ts+", ", source]
|
||||
|
||||
def compose_quoted_tweet(quoted_tweet, original_tweet):
|
||||
""" It receives a tweet and returns a list with the user, text for the tweet or message, date and the client where user is."""
|
||||
text = StripChars(quoted_tweet["text"])
|
||||
quoting_user = quoted_tweet["user"]["name"]
|
||||
source = re.sub(r"(?s)<.*?>", "", quoted_tweet["source"])
|
||||
try: text = "rt @%s: %s" % (quoted_tweet["retweeted_status"]["user"]["screen_name"], StripChars(quoted_tweet["retweeted_status"]["text"]))
|
||||
except KeyError: text = "%s" % (StripChars(quoted_tweet["text"]))
|
||||
if text[-1] in chars: text=text+"."
|
||||
original_user = original_tweet["user"]["screen_name"]
|
||||
original_text = StripChars(original_tweet["text"])
|
||||
try: original_text = "rt @%s: %s" % (original_tweet["retweeted_status"]["user"]["screen_name"], StripChars(original_tweet["retweeted_status"]["text"]))
|
||||
except KeyError: original_text = "%s" % (StripChars(original_tweet["text"]))
|
||||
quoted_tweet["message"] = _(u"{0}. Quoted tweet from @{1}: {2}").format( quoted_tweet["text"], original_user, original_text)
|
||||
quoted_tweet = tweets.clear_url(quoted_tweet)
|
||||
return quoted_tweet
|
||||
|
||||
def compose_followers_list(tweet, db, relative_times=True):
|
||||
if system == "Windows":
|
||||
original_date = arrow.get(tweet["created_at"], "ddd MMM D H:m:s Z YYYY", locale="en")
|
||||
|
@@ -16,9 +16,11 @@ class trendsPanel(wx.Panel):
|
||||
self.create_list()
|
||||
self.tweet = wx.Button(self, -1, _(u"Tweet"))
|
||||
self.tweetTrendBtn = wx.Button(self, -1, _(u"Tweet about this trend"))
|
||||
self.search_topic = wx.Button(self, -1, _(u"Search topic"))
|
||||
btnSizer = wx.BoxSizer(wx.HORIZONTAL)
|
||||
btnSizer.Add(self.tweet, 0, wx.ALL, 5)
|
||||
btnSizer.Add(self.tweetTrendBtn, 0, wx.ALL, 5)
|
||||
btnSizer.Add(self.search_topic, 0, wx.ALL, 5)
|
||||
self.sizer.Add(btnSizer, 0, wx.ALL, 5)
|
||||
self.sizer.Add(self.list.list, 0, wx.ALL, 5)
|
||||
self.SetSizer(self.sizer)
|
||||
|
@@ -87,6 +87,8 @@ class peoplePanelMenu(wx.Menu):
|
||||
class trendsPanelMenu(wx.Menu):
|
||||
def __init__(self):
|
||||
super(trendsPanelMenu, self).__init__()
|
||||
self.search_topic = wx.MenuItem(self, wx.NewId(), _(u"Search topic"))
|
||||
self.AppendItem(self.search_topic)
|
||||
self.tweetThisTrend = wx.MenuItem(self, wx.NewId(), _(u"&Tweet about this trend"))
|
||||
self.AppendItem(self.tweetThisTrend)
|
||||
self.view = wx.MenuItem(self, wx.NewId(), _(u"&Show item"))
|
||||
|
@@ -42,7 +42,6 @@ class mainFrame(wx.Frame):
|
||||
self.addToList = user.Append(wx.NewId(), _(u"&Add to list"))
|
||||
self.removeFromList = user.Append(wx.NewId(), _(u"R&emove from list"))
|
||||
self.viewLists = user.Append(wx.NewId(), _(u"&View lists"))
|
||||
self.viewLists.Enable(False)
|
||||
self.details = user.Append(wx.NewId(), _(u"Show user &profile"))
|
||||
self.favs = user.Append(wx.NewId(), _(u"V&iew favourites"))
|
||||
|
||||
|
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2015-08-04 13:37+Hora de verano central (M<>xico)\n"
|
||||
"POT-Creation-Date: 2015-09-29 09:37+Hora de verano 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"
|
||||
@@ -51,7 +51,7 @@ msgstr ""
|
||||
#: ../doc\strings.py:378 ../doc\strings.py:381 ../doc\strings.py:384
|
||||
#: ../doc\strings.py:387 ../doc\strings.py:390 ../doc\strings.py:393
|
||||
#: ../doc\strings.py:396 ../doc\strings.py:399 ../doc\strings.py:402
|
||||
#: ../doc\strings.py:405 ../doc\strings.py:421 ../doc\strings.py:424
|
||||
#: ../doc\strings.py:405 ../doc\strings.py:423 ../doc\strings.py:426
|
||||
msgid ""
|
||||
"\n"
|
||||
msgstr ""
|
||||
@@ -361,7 +361,7 @@ msgid "* Global settings: Opens a dialogue which lets you configure settings for
|
||||
msgstr ""
|
||||
|
||||
#: ../doc\strings.py:166
|
||||
msgid "* Quit: asks whether you want to exit the program. If the answer is yes, it closes the application. If you do not want to be asked for confirmation before exiting, uncheck the checkbox from the global settings dialogue box."
|
||||
msgid "* Exit: asks whether you want to exit the program. If the answer is yes, it closes the application. If you do not want to be asked for confirmation before exiting, uncheck the checkbox from the global settings dialogue box."
|
||||
msgstr ""
|
||||
|
||||
#: ../doc\strings.py:169
|
||||
@@ -973,7 +973,7 @@ msgid "* English: [Bryner Villalobos](https://twitter.com/Bry_StarkCR) and [Bill
|
||||
msgstr ""
|
||||
|
||||
#: ../doc\strings.py:408
|
||||
msgid "* Arabic: Mohammed Al Shara."
|
||||
msgid "* Arabic: [Mohammed Al Shara](https://twitter.com/mohammed0204)."
|
||||
msgstr ""
|
||||
|
||||
#: ../doc\strings.py:409
|
||||
@@ -989,11 +989,11 @@ msgid "* Basque: [Sukil Etxenike](https://twitter.com/sukil2011)."
|
||||
msgstr ""
|
||||
|
||||
#: ../doc\strings.py:412
|
||||
msgid "* Finnish: Jani Kinnunen."
|
||||
msgid "* Finnish: [Jani Kinnunen](https://twitter.com/jani_kinnunen)."
|
||||
msgstr ""
|
||||
|
||||
#: ../doc\strings.py:413
|
||||
msgid "* French: R\303\251mi Ruiz."
|
||||
msgid "* French: [R\303\251mi Ruiz](https://twitter.com/blindhelp38)."
|
||||
msgstr ""
|
||||
|
||||
#: ../doc\strings.py:414
|
||||
@@ -1001,38 +1001,46 @@ msgid "* Galician: [Alba Kinteiro](https://twitter.com/albasmileforeve)."
|
||||
msgstr ""
|
||||
|
||||
#: ../doc\strings.py:415
|
||||
msgid "* German: Steffen Schultz."
|
||||
msgid "* German: [Steffen Schultz](https://twitter.com/schulle4u)."
|
||||
msgstr ""
|
||||
|
||||
#: ../doc\strings.py:416
|
||||
msgid "* Hungarian: Robert Osztolykan."
|
||||
msgid "* Croatian: [Zvonimir Stane\304\215i\304\207](https://twitter.com/zvonimirek222)."
|
||||
msgstr ""
|
||||
|
||||
#: ../doc\strings.py:417
|
||||
msgid "* Polish: Pawel Masarczyk."
|
||||
msgid "* Hungarian: Robert Osztolykan."
|
||||
msgstr ""
|
||||
|
||||
#: ../doc\strings.py:418
|
||||
msgid "* Portuguese: Odenilton J\303\272nior Santos."
|
||||
msgid "* Italian: [Christian Leo Mameli](https://twitter.com/llajta2012)."
|
||||
msgstr ""
|
||||
|
||||
#: ../doc\strings.py:419
|
||||
msgid "* Russian: Alexander Jaszyn."
|
||||
msgid "* Polish: Pawel Masarczyk."
|
||||
msgstr ""
|
||||
|
||||
#: ../doc\strings.py:420
|
||||
msgid "* Turkish: Burak."
|
||||
msgid "* Portuguese: Odenilton J\303\272nior Santos."
|
||||
msgstr ""
|
||||
|
||||
#: ../doc\strings.py:423
|
||||
#: ../doc\strings.py:421
|
||||
msgid "* Russian: [\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200 \320\257\321\210\320\270\320\275](https://twitter.com/radovest)."
|
||||
msgstr ""
|
||||
|
||||
#: ../doc\strings.py:422
|
||||
msgid "* Turkish: [Burak Y\303\274ksek](https://twitter.com/burakyuksek)."
|
||||
msgstr ""
|
||||
|
||||
#: ../doc\strings.py:425
|
||||
msgid "Many thanks also to the people who worked on the documentation. Initially, [Manuel Cortez](https://twitter.com/manuelcortez00) did the documentation in Spanish, and translated to English by [Bryner Villalobos](https://twitter.com/Bry_StarkCR), [Robert Spangler](https://twitter.com/glasscity1837), [Sussan Rey](https://twitter.com/sussanrey17), [Anibal Hernandez](https://twitter.com/anibalmetal), and [Holly Scott-Gardner](https://twitter.com/holly1994). It was updated by [Sukil Etxenike](https://twitter.com/sukil2011), with some valuable corrections by [Brian Hartgen](https://twitter.com/brianhartgen) and [Bill Dengler](https://twitter.com/codeofdusk)."
|
||||
msgstr ""
|
||||
|
||||
#: ../doc\strings.py:426
|
||||
#: ../doc\strings.py:428
|
||||
msgid "---"
|
||||
msgstr ""
|
||||
|
||||
#: ../doc\strings.py:427
|
||||
#: ../doc\strings.py:429
|
||||
msgid "Copyright \302\251 2013-2015. Manuel Cort\303\251z"
|
||||
msgstr ""
|
||||
|
||||
|
562
tools/twblue.pot
562
tools/twblue.pot
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user