Compare commits

...

10 Commits

44 changed files with 24836 additions and 3642 deletions

View File

@@ -405,19 +405,21 @@ documentation.append(_(u"""We would also like to thank the translators of TWBlue
documentation.append(_(u""" documentation.append(_(u"""
""")) """))
documentation.append(_(u"""* English: [Bryner Villalobos](https://twitter.com/Bry_StarkCR) and [Bill Dengler](https://twitter.com/codeofdusk).""")) 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"""* 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"""* Spanish: [Manuel Cortéz](https://twitter.com/manuelcortez00)."""))
documentation.append(_(u"""* Basque: [Sukil Etxenike](https://twitter.com/sukil2011).""")) documentation.append(_(u"""* Basque: [Sukil Etxenike](https://twitter.com/sukil2011)."""))
documentation.append(_(u"""* Finnish: Jani Kinnunen.""")) documentation.append(_(u"""* Finnish: [Jani Kinnunen](https://twitter.com/jani_kinnunen)."""))
documentation.append(_(u"""* French: Rémi Ruiz.""")) documentation.append(_(u"""* French: [Rémi Ruiz](https://twitter.com/blindhelp38)."""))
documentation.append(_(u"""* Galician: [Alba Kinteiro](https://twitter.com/albasmileforeve).""")) 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"""* Hungarian: Robert Osztolykan."""))
documentation.append(_(u"""* Italian: [Christian Leo Mameli](https://twitter.com/llajta2012)."""))
documentation.append(_(u"""* Polish: Pawel Masarczyk.""")) documentation.append(_(u"""* Polish: Pawel Masarczyk."""))
documentation.append(_(u"""* Portuguese: Odenilton Júnior Santos.""")) documentation.append(_(u"""* Portuguese: Odenilton Júnior Santos."""))
documentation.append(_(u"""* Russian: Alexander Jaszyn.""")) documentation.append(_(u"""* Russian: [Александр Яшин](https://twitter.com/radovest)."""))
documentation.append(_(u"""* Turkish: Burak.""")) documentation.append(_(u"""* Turkish: [Burak Yüksek](https://twitter.com/burakyuksek)."""))
documentation.append(_(u""" 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).""")) 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)."""))

View File

@@ -8,7 +8,7 @@ language = string(default="system")
hide_gui = boolean(default=False) hide_gui = boolean(default=False)
voice_enabled = boolean(default=False) voice_enabled = boolean(default=False)
ask_at_exit = boolean(default=True) ask_at_exit = boolean(default=True)
handle_longtweets = boolean(default=False) handle_longtweets = boolean(default=True)
use_invisible_keyboard_shorcuts = boolean(default=True) use_invisible_keyboard_shorcuts = boolean(default=True)
play_ready_sound = boolean(default=True) play_ready_sound = boolean(default=True)
speak_ready_msg = boolean(default=True) speak_ready_msg = boolean(default=True)

View File

@@ -5,7 +5,7 @@ if snapshot == False:
version = "0.80" version = "0.80"
update_url = 'http://twblue.es/updates/twblue_ngen.json' update_url = 'http://twblue.es/updates/twblue_ngen.json'
else: else:
version = "10.6" version = "10.7"
update_url = 'http://twblue.es/updates/snapshots_ngen.json' update_url = 'http://twblue.es/updates/snapshots_ngen.json'
author = u"Manuel Cortéz, Bill Dengler" author = u"Manuel Cortéz, Bill Dengler"
authorEmail = "manuel@manuelcortez.net" authorEmail = "manuel@manuelcortez.net"

View File

@@ -74,10 +74,10 @@ class audioUploader(object):
def on_pause(self, *args, **kwargs): def on_pause(self, *args, **kwargs):
if self.dialog.get("pause") == _(u"Pause"): if self.dialog.get("pause") == _(u"Pause"):
self.recording.pause() self.recording.pause()
self.dialog.set("pause", _(u"Resume")) self.dialog.set("pause", _(u"&Resume"))
elif self.dialog.get("pause") == _(u"Resume"): elif self.dialog.get("pause") == _(u"Resume"):
self.recording.play() self.recording.play()
self.dialog.set("pause", _(U"Pause")) self.dialog.set("pause", _(U"&Pause"))
def on_record(self, *args, **kwargs): def on_record(self, *args, **kwargs):
if self.recording != None: if self.recording != None:
@@ -92,7 +92,7 @@ class audioUploader(object):
self.file = tempfile.mktemp(suffix='.wav') self.file = tempfile.mktemp(suffix='.wav')
self.recording = sound.recording(self.file) self.recording = sound.recording(self.file)
self.recording.play() self.recording.play()
self.dialog.set("record", _(u"Stop")) self.dialog.set("record", _(u"&Stop"))
output.speak(_(u"Recording")) output.speak(_(u"Recording"))
def stop_recording(self): def stop_recording(self):
@@ -100,11 +100,11 @@ class audioUploader(object):
self.recording.free() self.recording.free()
output.speak(_(u"Stopped")) output.speak(_(u"Stopped"))
self.recorded = True self.recorded = True
self.dialog.set("record", _(u"Record")) self.dialog.set("record", _(u"&Record"))
self.file_attached() self.file_attached()
def file_attached(self): def file_attached(self):
self.dialog.set("pause", _(u"Pause")) self.dialog.set("pause", _(u"&Pause"))
self.dialog.disable_control("record") self.dialog.disable_control("record")
self.dialog.enable_control("play") self.dialog.enable_control("play")
self.dialog.enable_control("discard") self.dialog.enable_control("discard")
@@ -137,11 +137,11 @@ class audioUploader(object):
# try: # try:
self.playing = sound_lib.stream.FileStream(file=unicode(self.file), flags=sound_lib.stream.BASS_UNICODE) self.playing = sound_lib.stream.FileStream(file=unicode(self.file), flags=sound_lib.stream.BASS_UNICODE)
self.playing.play() self.playing.play()
self.dialog.set("play", _(u"Stop")) self.dialog.set("play", _(u"&Stop"))
try: try:
while self.playing.is_playing: while self.playing.is_playing:
pass pass
self.dialog.set("play", _(u"Play")) self.dialog.set("play", _(u"&Play"))
self.playing.free() self.playing.free()
self.playing = None self.playing = None
except: except:
@@ -151,7 +151,7 @@ class audioUploader(object):
output.speak(_(u"Stopped")) output.speak(_(u"Stopped"))
self.playing.stop() self.playing.stop()
self.playing.free() self.playing.free()
self.dialog.set("play", _(u"Play")) self.dialog.set("play", _(u"&Play"))
self.playing = None self.playing = None
def postprocess(self): def postprocess(self):

View File

@@ -31,14 +31,14 @@ class audioDialog(widgetUtils.BaseDialog):
btnSizer = wx.BoxSizer(wx.HORIZONTAL) btnSizer = wx.BoxSizer(wx.HORIZONTAL)
btnSizer2 = 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.play.Disable()
self.pause = wx.Button(panel, -1, _(u"Pause")) self.pause = wx.Button(panel, -1, _(u"&Pause"))
self.pause.Disable() self.pause.Disable()
self.record = wx.Button(panel, -1, _(u"Record")) self.record = wx.Button(panel, -1, _(u"&Record"))
self.record.SetFocus() self.record.SetFocus()
self.attach_exists = wx.Button(panel, -1, _(u"Add an existing file")) self.attach_exists = wx.Button(panel, -1, _(u"&Add an existing file"))
self.discard = wx.Button(panel, -1, _(u"Discard")) self.discard = wx.Button(panel, -1, _(u"&Discard"))
self.discard.Disable() self.discard.Disable()
label = wx.StaticText(panel, -1, _(u"Upload to")) label = wx.StaticText(panel, -1, _(u"Upload to"))
self.services = wx.ComboBox(panel, -1, choices=services, value=services[0], style=wx.CB_READONLY) 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) servicesBox.Add(self.services, 0, wx.ALL, 5)
self.attach = wx.Button(panel, wx.ID_OK, _(u"Attach")) self.attach = wx.Button(panel, wx.ID_OK, _(u"Attach"))
self.attach.Disable() 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.play, 0, wx.ALL, 5)
btnSizer.Add(self.pause, 0, wx.ALL, 5) btnSizer.Add(self.pause, 0, wx.ALL, 5)
btnSizer.Add(self.record, 0, wx.ALL, 5) btnSizer.Add(self.record, 0, wx.ALL, 5)

View File

@@ -11,9 +11,17 @@ def fix():
locales.BasqueLocale = BasqueLocale locales.BasqueLocale = BasqueLocale
locales.TurkishLocale.names[-1] = "tr_tr" locales.TurkishLocale.names[-1] = "tr_tr"
locales.ArabicLocale.names[-1] = "ar_eg" 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. # We need to reassign the locales list for updating the list with our new contents.
locales._locales = locales._map_locales() 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): class CatalaLocale(Locale):
names = ['ca', 'ca_ca'] names = ['ca', 'ca_ca']
past = 'Fa {0}' past = 'Fa {0}'

View File

@@ -69,6 +69,7 @@ def getLanguageDescription(language):
"ar":pgettext("languageName","Arabic"), "ar":pgettext("languageName","Arabic"),
"ne":pgettext("languageName","Nepali"), "ne":pgettext("languageName","Nepali"),
"sr":pgettext("languageName","Serbian (Latin)"), "sr":pgettext("languageName","Serbian (Latin)"),
"ja":pgettext("languageName","Japanese"),
}.get(language,None) }.get(language,None)
return desc return desc
@@ -195,10 +196,13 @@ def langToWindowsLocale(lang):
"gl": "glc", "gl": "glc",
"eu": "euq", "eu": "euq",
"hu": "hun", "hu": "hun",
"hr": "hrv",
"it": "ita", "it": "ita",
"ja": "jpn",
"pl": "plk", "pl": "plk",
"pt": "ptb", "pt": "ptb",
"ru": "rus", "ru": "rus",
"tr": "trk" "tr": "trk",
"sr": "eng",
} }
return languages[lang] return languages[lang]

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

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -1,8 +1,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: TW Blue 0.51\n" "Project-Id-Version: TW Blue 0.51\n"
"POT-Creation-Date: 2015-08-04 13:37+Hora de verano central (Mxico)\n" "POT-Creation-Date: 2015-09-04 08:51+Hora de verano central (Mxico)\n"
"PO-Revision-Date: 2015-08-04 23:07+0200\n" "PO-Revision-Date: 2015-09-04 16:45+0200\n"
"Last-Translator: Steffen Schultz <schulle3o@yahoo.de>\n" "Last-Translator: Steffen Schultz <schulle3o@yahoo.de>\n"
"Language-Team: Steffen Schultz <schulle3o@yahoo.de>\n" "Language-Team: Steffen Schultz <schulle3o@yahoo.de>\n"
"Language: de\n" "Language: de\n"
@@ -19,174 +19,176 @@ msgstr ""
msgid "This action is not supported for this buffer" msgid "This action is not supported for this buffer"
msgstr "Diese Aktion ist in dieser Ansicht nicht verfügbar." 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\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" msgid "Tweet"
msgstr "Tweet" msgstr "Tweet"
#: ../src\controller\buffersController.py:129 #: ../src\controller\buffersController.py:129
#: ../src\controller\buffersController.py:958
msgid "Write the tweet here" msgid "Write the tweet here"
msgstr "Gib deinen Tweet hier ein" msgstr "Gib deinen Tweet hier ein"
#: ../src\controller\buffersController.py:297 #: ../src\controller\buffersController.py:312
#: ../src\controller\buffersController.py:667 #: ../src\controller\buffersController.py:753
msgid "%s items retrieved" msgid "%s items retrieved"
msgstr "%s Einträge abgerufen" 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." msgid "This buffer is not a timeline; it can't be deleted."
msgstr "Diese Ansicht ist keine Zeitleiste und kann nicht gelöscht werden." 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" msgid "Reply to %s"
msgstr "Antwort an %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 #: ../src\keystrokeEditor\constants.py:11 ../src\wxUI\buffers\base.py:26
msgid "Reply" msgid "Reply"
msgstr "Antwort" msgstr "Antwort"
#: ../src\controller\buffersController.py:405 #: ../src\controller\buffersController.py:475
msgid "Direct message to %s" msgid "Direct message to %s"
msgstr "Direktnachricht an %s" msgstr "Direktnachricht an %s"
#: ../src\controller\buffersController.py:405 #: ../src\controller\buffersController.py:475
#: ../src\controller\mainController.py:1105 #: ../src\controller\mainController.py:1125
msgid "New direct message" msgid "New direct message"
msgstr "Neue Direktnachricht" msgstr "Neue Direktnachricht"
#: ../src\controller\buffersController.py:426 #: ../src\controller\buffersController.py:496
msgid "Add your comment to the tweet" msgid "Add your comment to the tweet"
msgstr "Gib deinen Kommentar ein." 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\keystrokeEditor\constants.py:12 ../src\wxUI\buffers\base.py:25
#: ../src\wxUI\commonMessageDialogs.py:9 ../src\wxUI\dialogs\message.py:126 #: ../src\wxUI\commonMessageDialogs.py:9 ../src\wxUI\dialogs\message.py:126
msgid "Retweet" msgid "Retweet"
msgstr "Retweet" msgstr "Retweet"
#: ../src\controller\buffersController.py:498 #: ../src\controller\buffersController.py:567
msgid "Opening URL..." msgid "Opening URL..."
msgstr "URL wird geöffnet..." msgstr "URL wird geöffnet..."
#: ../src\controller\buffersController.py:533 #: ../src\controller\buffersController.py:602
msgid "User details" msgid "User details"
msgstr "Benutzerdetails" msgstr "Benutzerdetails"
#: ../src\controller\buffersController.py:582 #: ../src\controller\buffersController.py:651
msgid "Empty" msgid "Empty"
msgstr "Leer" msgstr "Leer"
#: ../src\controller\buffersController.py:626 #: ../src\controller\buffersController.py:712
msgid "Mention to %s" msgid "Mention to %s"
msgstr "Erwähnung an %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" msgid "Mention"
msgstr "Erwähnung" msgstr "Erwähnung"
#: ../src\controller\mainController.py:250 #: ../src\controller\mainController.py:254
msgid "Ready" msgid "Ready"
msgstr "Bereit" msgstr "Bereit"
#: ../src\controller\mainController.py:281 #: ../src\controller\mainController.py:286
msgid "Home" msgid "Home"
msgstr "Start" msgstr "Start"
#: ../src\controller\mainController.py:285 #: ../src\controller\mainController.py:290
msgid "Mentions" msgid "Mentions"
msgstr "Erwähnungen" msgstr "Erwähnungen"
#: ../src\controller\mainController.py:289 #: ../src\controller\mainController.py:294
msgid "Direct messages" msgid "Direct messages"
msgstr "Direktnachrichten" msgstr "Direktnachrichten"
#: ../src\controller\mainController.py:293 #: ../src\controller\mainController.py:298
msgid "Sent direct messages" msgid "Sent direct messages"
msgstr "Gesendete Direktnachrichten" msgstr "Gesendete Direktnachrichten"
#: ../src\controller\mainController.py:297 #: ../src\controller\mainController.py:302
msgid "Sent tweets" msgid "Sent tweets"
msgstr "Gesendete Tweets" msgstr "Gesendete Tweets"
#: ../src\controller\mainController.py:302 #: ../src\controller\mainController.py:307
#: ../src\controller\mainController.py:1221 #: ../src\controller\mainController.py:1248
#: ../src\wxUI\dialogs\userSelection.py:18 #: ../src\wxUI\dialogs\userSelection.py:20
msgid "Favourites" msgid "Favourites"
msgstr "Favoriten" msgstr "Favoriten"
#: ../src\controller\mainController.py:306 #: ../src\controller\mainController.py:311
#: ../src\controller\mainController.py:1226 #: ../src\controller\mainController.py:1253
msgid "Followers" msgid "Followers"
msgstr "Folger" msgstr "Folger"
#: ../src\controller\mainController.py:310 #: ../src\controller\mainController.py:315
#: ../src\controller\mainController.py:1231 #: ../src\controller\mainController.py:1258
msgid "Friends" msgid "Friends"
msgstr "Freunde" msgstr "Freunde"
#: ../src\controller\mainController.py:314 #: ../src\controller\mainController.py:319
#: ../src\controller\mainController.py:1236 #: ../src\controller\mainController.py:1263
msgid "Blocked users" msgid "Blocked users"
msgstr "Blockierte Benutzer" msgstr "Blockierte Benutzer"
#: ../src\controller\mainController.py:318 #: ../src\controller\mainController.py:323
#: ../src\controller\mainController.py:1241 #: ../src\controller\mainController.py:1268
msgid "Muted users" msgid "Muted users"
msgstr "Stummgeschaltete Benutzer" msgstr "Stummgeschaltete Benutzer"
#: ../src\controller\mainController.py:322 #: ../src\controller\mainController.py:327
#: ../src\controller\mainController.py:1246 #: ../src\controller\mainController.py:1273
msgid "Events" msgid "Events"
msgstr "Ereignisse" msgstr "Ereignisse"
#: ../src\controller\mainController.py:325 #: ../src\controller\mainController.py:330
msgid "Timelines" msgid "Timelines"
msgstr "Zeitleisten" msgstr "Zeitleisten"
#: ../src\controller\mainController.py:329 #: ../src\controller\mainController.py:334
#: ../src\controller\mainController.py:737 #: ../src\controller\mainController.py:756
msgid "Timeline for {}" msgid "Timeline for {}"
msgstr "Zeitleiste für {}" msgstr "Zeitleiste für {}"
#: ../src\controller\mainController.py:332 #: ../src\controller\mainController.py:337
msgid "Favourites timelines" msgid "Favourites timelines"
msgstr "Favoritenzeitleisten" msgstr "Favoritenzeitleisten"
#: ../src\controller\mainController.py:336 #: ../src\controller\mainController.py:341
#: ../src\controller\mainController.py:749 #: ../src\controller\mainController.py:771
msgid "Favourites timeline for {}" msgid "Favourites timeline for {}"
msgstr "Favoritenzeitleiste für {}" 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" msgid "Lists"
msgstr "Listen" msgstr "Listen"
#: ../src\controller\mainController.py:346 #: ../src\controller\mainController.py:351
#: ../src\controller\mainController.py:1256 #: ../src\controller\mainController.py:1284
msgid "List for {}" msgid "List for {}"
msgstr "Liste für {}" msgstr "Liste für {}"
#: ../src\controller\mainController.py:349 #: ../src\controller\mainController.py:354
msgid "Searches" msgid "Searches"
msgstr "Suchen" msgstr "Suchen"
#: ../src\controller\mainController.py:353 #: ../src\controller\mainController.py:358
#: ../src\controller\mainController.py:424 #: ../src\controller\mainController.py:416
msgid "Search for {}" msgid "Search for {}"
msgstr "Suche nach {}" msgstr "Suche nach {}"
#: ../src\controller\mainController.py:361 #: ../src\controller\mainController.py:368
#: ../src\controller\mainController.py:795 #: ../src\controller\mainController.py:817
msgid "Trending topics for %s" msgid "Trending topics for %s"
msgstr "Trends für %s" msgstr "Trends für %s"
#: ../src\controller\mainController.py:443 #: ../src\controller\mainController.py:435
#: ../src\controller\mainController.py:890 #: ../src\controller\mainController.py:912
#: ../src\controller\mainController.py:909 #: ../src\controller\mainController.py:931
#: ../src\controller\mainController.py:929 #: ../src\controller\mainController.py:950
#: ../src\controller\mainController.py:949 #: ../src\controller\mainController.py:969
msgid "" msgid ""
"No session is currently in focus. Focus a session with the next or previous " "No session is currently in focus. Focus a session with the next or previous "
"session shortcut." "session shortcut."
@@ -194,98 +196,99 @@ msgstr ""
"Derzeit ist keine Sitzung im Fokus. Bitte benutze die Tastenkombinationen " "Derzeit ist keine Sitzung im Fokus. Bitte benutze die Tastenkombinationen "
"vorherige und nächste Sitzung, um eine Sitzung zu fokussieren." "vorherige und nächste Sitzung, um eine Sitzung zu fokussieren."
#: ../src\controller\mainController.py:447 #: ../src\controller\mainController.py:439
msgid "Empty buffer." msgid "Empty buffer."
msgstr "Leere Ansicht." msgstr "Leere Ansicht."
#: ../src\controller\mainController.py:454 #: ../src\controller\mainController.py:446
msgid "{0} not found." msgid "{0} not found."
msgstr "{0} nicht gefunden." msgstr "{0} nicht gefunden."
#: ../src\controller\mainController.py:490 #: ../src\controller\mainController.py:482
#: ../src\controller\mainController.py:509
msgid "Select the user" msgid "Select the user"
msgstr "Wähle den Benutzer" msgstr "Wähle den Benutzer"
#: ../src\controller\mainController.py:768 #: ../src\controller\mainController.py:790
msgid "Conversation with {0}" msgid "Conversation with {0}"
msgstr "Unterhaltung mit {0}" msgstr "Unterhaltung mit {0}"
#: ../src\controller\mainController.py:812 #: ../src\controller\mainController.py:834
#: ../src\controller\mainController.py:831 #: ../src\controller\mainController.py:853
msgid "There are no coordinates in this tweet" msgid "There are no coordinates in this tweet"
msgstr "Dieser Tweet hat keine Koordinaten." msgstr "Dieser Tweet hat keine Koordinaten."
#: ../src\controller\mainController.py:814 #: ../src\controller\mainController.py:836
#: ../src\controller\mainController.py:833 #: ../src\controller\mainController.py:855
msgid "There are no results for the coordinates in this tweet" msgid "There are no results for the coordinates in this tweet"
msgstr "Keine Ergebnisse für die Koordinaten in diesem Tweet." msgstr "Keine Ergebnisse für die Koordinaten in diesem Tweet."
#: ../src\controller\mainController.py:816 #: ../src\controller\mainController.py:838
#: ../src\controller\mainController.py:835 #: ../src\controller\mainController.py:857
msgid "Error decoding coordinates. Try again later." msgid "Error decoding coordinates. Try again later."
msgstr "" msgstr ""
"Fehler beim Umwandeln der Koordinaten. Bitte versuche es später erneut." "Fehler beim Umwandeln der Koordinaten. Bitte versuche es später erneut."
#: ../src\controller\mainController.py:940 #: ../src\controller\mainController.py:960
#: ../src\controller\mainController.py:959 #: ../src\controller\mainController.py:979
msgid "%s, %s of %s" msgid "%s, %s of %s"
msgstr "%s, %s von %s" msgstr "%s, %s von %s"
#: ../src\controller\mainController.py:942 #: ../src\controller\mainController.py:962
#: ../src\controller\mainController.py:961 #: ../src\controller\mainController.py:981
#: ../src\controller\mainController.py:982 #: ../src\controller\mainController.py:1002
#: ../src\controller\mainController.py:1003 #: ../src\controller\mainController.py:1023
msgid "%s. Empty" msgid "%s. Empty"
msgstr "%s. Leer" msgstr "%s. Leer"
#: ../src\controller\mainController.py:974 #: ../src\controller\mainController.py:994
msgid "{0}: This account is not logged into Twitter." msgid "{0}: This account is not logged into Twitter."
msgstr "{0}: Dieser Account ist nicht bei Twitter eingeloggt." msgstr "{0}: Dieser Account ist nicht bei Twitter eingeloggt."
#: ../src\controller\mainController.py:980 #: ../src\controller\mainController.py:1000
#: ../src\controller\mainController.py:1001 #: ../src\controller\mainController.py:1021
msgid "%s. %s, %s of %s" msgid "%s. %s, %s of %s"
msgstr "%s. %s, %s von %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." msgid "{0}: This account is not logged into twitter."
msgstr "{0}: Dieser Account ist nicht bei Twitter eingeloggt." msgstr "{0}: Dieser Account ist nicht bei Twitter eingeloggt."
#: ../src\controller\mainController.py:1096 #: ../src\controller\mainController.py:1116
msgid "One mention from %s " msgid "One mention from %s "
msgstr "Eine Erwähnung von %s" msgstr "Eine Erwähnung von %s"
#: ../src\controller\mainController.py:1185 #: ../src\controller\mainController.py:1205
#: ../src\controller\mainController.py:1194 #: ../src\controller\mainController.py:1214
msgid "One tweet from %s" msgid "One tweet from %s"
msgstr "Ein Tweet von %s" msgstr "Ein Tweet von %s"
#: ../src\controller\mainController.py:1251 #: ../src\controller\mainController.py:1278
msgid "This list is already opened" msgid "This list is already opened"
msgstr "Diese Liste ist bereits geöffnet." 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" msgid "The auto-reading of new tweets is enabled for this buffer"
msgstr "Das automatische Vorlesen von Tweets ist für diese Ansicht aktiv." 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" msgid "The auto-reading of new tweets is disabled for this buffer"
msgstr "" msgstr ""
"Das automatische Vorlesen von Tweets ist für diese Ansicht deaktiviert." "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" msgid "Session mute on"
msgstr "Sitzung stummgeschaltet" msgstr "Sitzung stummgeschaltet"
#: ../src\controller\mainController.py:1321 #: ../src\controller\mainController.py:1349
msgid "Session mute off" msgid "Session mute off"
msgstr "Sitzung nicht stummgeschaltet" msgstr "Sitzung nicht stummgeschaltet"
#: ../src\controller\mainController.py:1328 #: ../src\controller\mainController.py:1356
msgid "Buffer mute on" msgid "Buffer mute on"
msgstr "Stummschaltung ein" msgstr "Stummschaltung ein"
#: ../src\controller\mainController.py:1331 #: ../src\controller\mainController.py:1359
msgid "Buffer mute off" msgid "Buffer mute off"
msgstr "Stummschaltung aus" msgstr "Stummschaltung aus"
@@ -293,73 +296,73 @@ msgstr "Stummschaltung aus"
msgid "Copied" msgid "Copied"
msgstr "Kopiert" msgstr "Kopiert"
#: ../src\controller\messages.py:43 #: ../src\controller\messages.py:44
msgid "Translated" msgid "Translated"
msgstr "Übersetzt" msgstr "Übersetzt"
#: ../src\controller\messages.py:50 #: ../src\controller\messages.py:51
msgid "There's no URL to be shortened" msgid "There's no URL to be shortened"
msgstr "Es gibt keine URL zum Kürzen." 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" msgid "URL shortened"
msgstr "URL gekürzt" msgstr "URL gekürzt"
#: ../src\controller\messages.py:67 #: ../src\controller\messages.py:68
msgid "There's no URL to be expanded" msgid "There's no URL to be expanded"
msgstr "Es gibt keine URL zum Expandieren." 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" msgid "URL expanded"
msgstr "URL expandiert" msgstr "URL expandiert"
#: ../src\controller\messages.py:89 #: ../src\controller\messages.py:90
msgid "%s - %s of %d characters" msgid "%s - %s of %d characters"
msgstr "%s - %s von %d Zeichen" msgstr "%s - %s von %d Zeichen"
#: ../src\controller\messages.py:93 #: ../src\controller\messages.py:94
msgid "%s - %s characters" msgid "%s - %s characters"
msgstr "%s - %s Zeichen" msgstr "%s - %s Zeichen"
#: ../src\controller\messages.py:109 #: ../src\controller\messages.py:111
msgid "Unable to upload the audio" msgid "Unable to upload the audio"
msgstr "Audio kann nicht hochgeladen werden." 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 #: ../src\wxUI\dialogs\update_profile.py:77
msgid "Discard image" msgid "Discard image"
msgstr "Bild verwerfen" 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 #: ../src\extra\AudioUploader\audioUploader.py:127
msgid "Discarded" msgid "Discarded"
msgstr "Verworfen" 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:32
#: ../src\wxUI\dialogs\update_profile.py:75 #: ../src\wxUI\dialogs\update_profile.py:75
msgid "Upload a picture" msgid "Upload a picture"
msgstr "Ein Bild hochladen" 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 #: ../src\wxUI\dialogs\configuration.py:100
msgid "Ask" msgid "Ask"
msgstr "Fragen" 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 #: ../src\wxUI\dialogs\configuration.py:100
msgid "Retweet without comments" msgid "Retweet without comments"
msgstr "Retweet ohne Kommentar" 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" msgid "Retweet with comments"
msgstr "Retweet mit Kommentar" msgstr "Retweet mit Kommentar"
#: ../src\controller\settings.py:155 #: ../src\controller\settings.py:157
msgid "Account settings for %s" msgid "Account settings for %s"
msgstr "Account-Einstellungen für %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" msgid "Connect your Pocket account"
msgstr "Pocket-Account verbinden" msgstr "Pocket-Account verbinden"
@@ -419,7 +422,7 @@ msgstr "Tweets: %s\n"
msgid "Favourites: %s" msgid "Favourites: %s"
msgstr "Favoriten: %s" msgstr "Favoriten: %s"
#: ../src\controller\userActionsController.py:69 #: ../src\controller\userActionsController.py:75
msgid "You can't ignore direct messages" msgid "You can't ignore direct messages"
msgstr "Du kannst keine Direktnachrichten ignorieren." 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\extra\SpellChecker\wx_ui.py:76 ../src\issueReporter\wx_ui.py:83
#: ../src\issueReporter\wx_ui.py:86 ../src\wxUI\commonMessageDialogs.py:38 #: ../src\issueReporter\wx_ui.py:86 ../src\wxUI\commonMessageDialogs.py:38
#: ../src\wxUI\commonMessageDialogs.py:50 #: ../src\wxUI\commonMessageDialogs.py:50
#: ../src\wxUI\commonMessageDialogs.py:57
#: ../src\wxUI\commonMessageDialogs.py:60
msgid "Error" msgid "Error"
msgstr "Fehler" msgstr "Fehler"
@@ -1169,8 +1174,8 @@ msgid "autodetect"
msgstr "Automatisch" msgstr "Automatisch"
#: ../src\extra\translator\wx_ui.py:25 ../src\wxUI\dialogs\message.py:140 #: ../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:201 ../src\wxUI\dialogs\message.py:280
#: ../src\wxUI\dialogs\message.py:334 #: ../src\wxUI\dialogs\message.py:335
msgid "Translate message" msgid "Translate message"
msgstr "Nachricht übersetzen" msgstr "Nachricht übersetzen"
@@ -1506,7 +1511,7 @@ msgid "Keystroke"
msgstr "Tastenkombination" msgstr "Tastenkombination"
#: ../src\keystrokeEditor\wx_ui.py:13 ../src\wxUI\dialogs\userActions.py:9 #: ../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" msgid "Action"
msgstr "Aktion" msgstr "Aktion"
@@ -1514,57 +1519,61 @@ msgstr "Aktion"
msgid "Edit" msgid "Edit"
msgstr "Bearbeiten" 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\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:84 ../src\wxUI\dialogs\message.py:144
#: ../src\wxUI\dialogs\message.py:204 ../src\wxUI\dialogs\message.py:280 #: ../src\wxUI\dialogs\message.py:204 ../src\wxUI\dialogs\message.py:281
#: ../src\wxUI\dialogs\message.py:335 ../src\wxUI\dialogs\search.py:26 #: ../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\show_user.py:17 ../src\wxUI\dialogs\trends.py:28
#: ../src\wxUI\dialogs\update_profile.py:35 #: ../src\wxUI\dialogs\update_profile.py:35
#: ../src\wxUI\dialogs\userActions.py:40 #: ../src\wxUI\dialogs\userActions.py:42
#: ../src\wxUI\dialogs\userSelection.py:28 ../src\wxUI\dialogs\utils.py:35 #: ../src\wxUI\dialogs\userSelection.py:30 ../src\wxUI\dialogs\utils.py:37
msgid "Close" msgid "Close"
msgstr "Schließen" msgstr "Schließen"
#: ../src\keystrokeEditor\wx_ui.py:43 #: ../src\keystrokeEditor\wx_ui.py:45
msgid "Editing keystroke" msgid "Editing keystroke"
msgstr "Bearbeite Tastenkombination" msgstr "Bearbeite Tastenkombination"
#: ../src\keystrokeEditor\wx_ui.py:46 #: ../src\keystrokeEditor\wx_ui.py:48
msgid "Control" msgid "Control"
msgstr "STRG" msgstr "STRG"
#: ../src\keystrokeEditor\wx_ui.py:47 #: ../src\keystrokeEditor\wx_ui.py:49
msgid "Alt" msgid "Alt"
msgstr "Alt" msgstr "Alt"
#: ../src\keystrokeEditor\wx_ui.py:48 #: ../src\keystrokeEditor\wx_ui.py:50
msgid "Shift" msgid "Shift"
msgstr "Umschalt" msgstr "Umschalt"
#: ../src\keystrokeEditor\wx_ui.py:49 #: ../src\keystrokeEditor\wx_ui.py:51
msgid "Windows" msgid "Windows"
msgstr "Windows" msgstr "Windows"
#: ../src\keystrokeEditor\wx_ui.py:55 #: ../src\keystrokeEditor\wx_ui.py:57
msgid "Key" msgid "Key"
msgstr "Taste" 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\search.py:24 ../src\wxUI\dialogs\trends.py:26
#: ../src\wxUI\dialogs\userActions.py:38 #: ../src\wxUI\dialogs\userActions.py:40
#: ../src\wxUI\dialogs\userSelection.py:26 ../src\wxUI\dialogs\utils.py:32 #: ../src\wxUI\dialogs\userSelection.py:28 ../src\wxUI\dialogs\utils.py:34
msgid "OK" msgid "OK"
msgstr "OK" msgstr "OK"
#: ../src\keystrokeEditor\wx_ui.py:73 #: ../src\keystrokeEditor\wx_ui.py:75
msgid "You need to use the Windows key" msgid "You need to use the Windows key"
msgstr "Du musst die Windows-Taste verwenden." 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" msgid "Invalid keystroke"
msgstr "Ungültige Tastenkombination" 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" msgid "You must provide a character for the keystroke"
msgstr "Du musst ein Zeichen für die Tastenkombination angeben." 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" msgid "User default"
msgstr "Benutzerstandard" msgstr "Benutzerstandard"
#: ../src\sessionmanager\session.py:185 #: ../src\sessionmanager\session.py:186
msgid "%s failed. Reason: %s" msgid "%s failed. Reason: %s"
msgstr "%s fehlgeschlagen. Grund: %s" msgstr "%s fehlgeschlagen. Grund: %s"
#: ../src\sessionmanager\session.py:191 #: ../src\sessionmanager\session.py:192
msgid "%s succeeded." msgid "%s succeeded."
msgstr "%s erfolgreich." msgstr "%s erfolgreich."
@@ -1844,7 +1853,7 @@ msgstr "Datum"
#: ../src\wxUI\buffers\base.py:11 ../src\wxUI\buffers\people.py:10 #: ../src\wxUI\buffers\base.py:11 ../src\wxUI\buffers\people.py:10
#: ../src\wxUI\buffers\user_searches.py:9 #: ../src\wxUI\buffers\user_searches.py:9
#: ../src\wxUI\dialogs\userActions.py:10 #: ../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" msgid "User"
msgstr "Benutzer" msgstr "Benutzer"
@@ -1900,7 +1909,7 @@ msgid ""
msgstr "" msgstr ""
"Möchtest du diesen Tweet wirklich löschen? Er wird auch auf Twitter gelöscht." "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" msgid "Delete"
msgstr "Löschen" msgstr "Löschen"
@@ -2020,6 +2029,17 @@ msgstr ""
msgid "We need your help" msgid "We need your help"
msgstr "Wir brauchen deine Hilfe" 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 #: ../src\wxUI\dialogs\configuration.py:14
msgid "Language" msgid "Language"
msgstr "Sprache" msgstr "Sprache"
@@ -2333,7 +2353,7 @@ msgstr "Hinzufügen"
msgid "Select a list to remove the user" msgid "Select a list to remove the user"
msgstr "Wähle eine Liste zum Entfernen des Benutzers." 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?" msgid "Do you really want to delete this list?"
msgstr "Möchtest du diese Liste wirklich löschen?" msgstr "Möchtest du diese Liste wirklich löschen?"
@@ -2359,8 +2379,8 @@ msgid "Shorten URL"
msgstr "URL kürzen" msgstr "URL kürzen"
#: ../src\wxUI\dialogs\message.py:77 ../src\wxUI\dialogs\message.py:137 #: ../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:198 ../src\wxUI\dialogs\message.py:278
#: ../src\wxUI\dialogs\message.py:332 #: ../src\wxUI\dialogs\message.py:333
msgid "Expand URL" msgid "Expand URL"
msgstr "URL expandieren" msgstr "URL expandieren"
@@ -2369,7 +2389,8 @@ msgid "Translate..."
msgstr "Übersetzen..." msgstr "Übersetzen..."
#: ../src\wxUI\dialogs\message.py:81 ../src\wxUI\dialogs\message.py:141 #: ../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" msgid "&Autocomplete users"
msgstr "&Auto-Vervollständigung der Benutzer" msgstr "&Auto-Vervollständigung der Benutzer"
@@ -2389,7 +2410,7 @@ msgid "Select the picture to be uploaded"
msgstr "Wähle das hochzuladende Bild aus." msgstr "Wähle das hochzuladende Bild aus."
#: ../src\wxUI\dialogs\message.py:134 ../src\wxUI\dialogs\message.py:195 #: ../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" msgid "Spelling correction"
msgstr "Rechtschreibprüfung" msgstr "Rechtschreibprüfung"
@@ -2397,27 +2418,27 @@ msgstr "Rechtschreibprüfung"
msgid "Recipient" msgid "Recipient"
msgstr "Empfänger" msgstr "Empfänger"
#: ../src\wxUI\dialogs\message.py:236 #: ../src\wxUI\dialogs\message.py:237
msgid "Men&tion to all" msgid "Men&tion to all"
msgstr "Alle er&wähnen" msgstr "Alle er&wähnen"
#: ../src\wxUI\dialogs\message.py:245 #: ../src\wxUI\dialogs\message.py:246
msgid "Tweet - %i characters " msgid "Tweet - %i characters "
msgstr "Tweet - %i Zeichen " msgstr "Tweet - %i Zeichen "
#: ../src\wxUI\dialogs\message.py:262 #: ../src\wxUI\dialogs\message.py:263
msgid "Retweets: " msgid "Retweets: "
msgstr "Retweets: " msgstr "Retweets: "
#: ../src\wxUI\dialogs\message.py:267 #: ../src\wxUI\dialogs\message.py:268
msgid "Favourites: " msgid "Favourites: "
msgstr "Favoriten: " msgstr "Favoriten: "
#: ../src\wxUI\dialogs\message.py:317 #: ../src\wxUI\dialogs\message.py:318
msgid "View" msgid "View"
msgstr "Ansehen" msgstr "Ansehen"
#: ../src\wxUI\dialogs\message.py:319 #: ../src\wxUI\dialogs\message.py:320
msgid "Item" msgid "Item"
msgstr "Eintrag" msgstr "Eintrag"
@@ -2429,7 +2450,7 @@ msgstr "Auf Twitter suchen"
msgid "Search" msgid "Search"
msgstr "Suchen" 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" msgid "Tweets"
msgstr "Tweets" msgstr "Tweets"
@@ -2489,35 +2510,35 @@ msgstr "Profil aktualisieren"
msgid "Select URL" msgid "Select URL"
msgstr "Wähle eine URL" msgstr "Wähle eine URL"
#: ../src\wxUI\dialogs\userActions.py:17 #: ../src\wxUI\dialogs\userActions.py:19
msgid "Follow" msgid "Follow"
msgstr "Folgen" msgstr "Folgen"
#: ../src\wxUI\dialogs\userActions.py:18 #: ../src\wxUI\dialogs\userActions.py:20
msgid "Unfollow" msgid "Unfollow"
msgstr "Entfolgen" msgstr "Entfolgen"
#: ../src\wxUI\dialogs\userActions.py:19 #: ../src\wxUI\dialogs\userActions.py:21
msgid "Mute" msgid "Mute"
msgstr "Stummschalten" msgstr "Stummschalten"
#: ../src\wxUI\dialogs\userActions.py:20 #: ../src\wxUI\dialogs\userActions.py:22
msgid "Unmute" msgid "Unmute"
msgstr "Stummschaltung aufheben" msgstr "Stummschaltung aufheben"
#: ../src\wxUI\dialogs\userActions.py:21 #: ../src\wxUI\dialogs\userActions.py:23
msgid "Block" msgid "Block"
msgstr "Blockieren" msgstr "Blockieren"
#: ../src\wxUI\dialogs\userActions.py:22 #: ../src\wxUI\dialogs\userActions.py:24
msgid "Unblock" msgid "Unblock"
msgstr "Blockierung aufheben" msgstr "Blockierung aufheben"
#: ../src\wxUI\dialogs\userActions.py:23 #: ../src\wxUI\dialogs\userActions.py:25
msgid "Report as spam" msgid "Report as spam"
msgstr "Als Spam melden" msgstr "Als Spam melden"
#: ../src\wxUI\dialogs\userActions.py:24 #: ../src\wxUI\dialogs\userActions.py:26
msgid "Ignore tweets from this client" msgid "Ignore tweets from this client"
msgstr "Tweets dieses Clients ignorieren" msgstr "Tweets dieses Clients ignorieren"
@@ -2525,10 +2546,84 @@ msgstr "Tweets dieses Clients ignorieren"
msgid "Timeline for %s" msgid "Timeline for %s"
msgstr "Zeitleiste von %s" msgstr "Zeitleiste von %s"
#: ../src\wxUI\dialogs\userSelection.py:16 #: ../src\wxUI\dialogs\userSelection.py:18
msgid "Buffer type" msgid "Buffer type"
msgstr "Ansichts-Typ" 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 #: ../src\wxUI\sysTrayIcon.py:34 ../src\wxUI\view.py:22
msgid "&Global settings" msgid "&Global settings"
msgstr "&Globale Einstellungen" msgstr "&Globale Einstellungen"
@@ -2545,7 +2640,7 @@ msgstr "&Profil aktualisieren"
msgid "&Show / hide" msgid "&Show / hide"
msgstr "&Zeigen / verbergen" 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" msgid "&Documentation"
msgstr "Dokumentation^" msgstr "Dokumentation^"
@@ -2585,30 +2680,10 @@ msgstr "Tasten&kombinationen bearbeiten"
msgid "E&xit" msgid "E&xit"
msgstr "&Beenden" msgstr "&Beenden"
#: ../src\wxUI\view.py:27 ../src\wxUI\view.py:74 #: ../src\wxUI\view.py:27 ../src\wxUI\view.py:73
msgid "&Tweet" msgid "&Tweet"
msgstr "&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 #: ../src\wxUI\view.py:33
msgid "View &address" msgid "View &address"
msgstr "&Adresse abrufen" msgstr "&Adresse abrufen"
@@ -2617,10 +2692,6 @@ msgstr "&Adresse abrufen"
msgid "View conversa&tion" msgid "View conversa&tion"
msgstr "Konversa&tion anzeigen" msgstr "Konversa&tion anzeigen"
#: ../src\wxUI\view.py:35
msgid "&Delete"
msgstr "Löschen"
#: ../src\wxUI\view.py:39 #: ../src\wxUI\view.py:39
msgid "&Actions..." msgid "&Actions..."
msgstr "&Aktionen..." msgstr "&Aktionen..."
@@ -2641,95 +2712,87 @@ msgstr "Zur L&iste hinzufügen"
msgid "R&emove from list" msgid "R&emove from list"
msgstr "Aus Liste &entfernen" msgstr "Aus Liste &entfernen"
#: ../src\wxUI\view.py:45
msgid "&View lists"
msgstr "Listen &ansehen"
#: ../src\wxUI\view.py:47 #: ../src\wxUI\view.py:47
msgid "Show user &profile"
msgstr "Benutzer&profil ansehen"
#: ../src\wxUI\view.py:48
msgid "V&iew favourites" msgid "V&iew favourites"
msgstr "Favor&iten ansehen" msgstr "Favor&iten ansehen"
#: ../src\wxUI\view.py:52 #: ../src\wxUI\view.py:51
msgid "New &trending topics buffer..." msgid "New &trending topics buffer..."
msgstr "Neue &Trends-Ansicht" msgstr "Neue &Trends-Ansicht"
#: ../src\wxUI\view.py:53 #: ../src\wxUI\view.py:52
msgid "Find a string in the currently focused buffer..." msgid "Find a string in the currently focused buffer..."
msgstr "Eine Zeichenkette im der momentan fokussierten Ansicht suchen..." msgstr "Eine Zeichenkette im der momentan fokussierten Ansicht suchen..."
#: ../src\wxUI\view.py:54 #: ../src\wxUI\view.py:53
msgid "&Load previous items" msgid "&Load previous items"
msgstr "Vorhergehende Einträge &laden" msgstr "Vorhergehende Einträge &laden"
#: ../src\wxUI\view.py:56 #: ../src\wxUI\view.py:55
msgid "&Mute" msgid "&Mute"
msgstr "Stu&mmschalten" msgstr "Stu&mmschalten"
#: ../src\wxUI\view.py:57 #: ../src\wxUI\view.py:56
msgid "&Autoread" msgid "&Autoread"
msgstr "&Automatisch vorlesen" msgstr "&Automatisch vorlesen"
#: ../src\wxUI\view.py:58 #: ../src\wxUI\view.py:57
msgid "&Clear buffer" msgid "&Clear buffer"
msgstr "Ansicht l&eeren" msgstr "Ansicht l&eeren"
#: ../src\wxUI\view.py:59 #: ../src\wxUI\view.py:58
msgid "&Destroy" msgid "&Destroy"
msgstr "&Löschen" msgstr "&Löschen"
#: ../src\wxUI\view.py:64 #: ../src\wxUI\view.py:63
msgid "Sounds &tutorial" msgid "Sounds &tutorial"
msgstr "Sounds &erlernen" msgstr "Sounds &erlernen"
#: ../src\wxUI\view.py:65 #: ../src\wxUI\view.py:64
msgid "&What's new in this version?" msgid "&What's new in this version?"
msgstr "&Was ist neu in dieser Version?" msgstr "&Was ist neu in dieser Version?"
#: ../src\wxUI\view.py:67 #: ../src\wxUI\view.py:66
msgid "&Check for updates" msgid "&Check for updates"
msgstr "Nach &Updates suchen" msgstr "Nach &Updates suchen"
#: ../src\wxUI\view.py:68 #: ../src\wxUI\view.py:67
msgid "&Report an error" msgid "&Report an error"
msgstr "Fehle&r melden" msgstr "Fehle&r melden"
#: ../src\wxUI\view.py:69 #: ../src\wxUI\view.py:68
msgid "{0}'s &website" msgid "{0}'s &website"
msgstr "{0}-&Webseite" msgstr "{0}-&Webseite"
#: ../src\wxUI\view.py:70 #: ../src\wxUI\view.py:69
msgid "About &{0}" msgid "About &{0}"
msgstr "Über &{0}" msgstr "Über &{0}"
#: ../src\wxUI\view.py:73 #: ../src\wxUI\view.py:72
msgid "&Application" msgid "&Application"
msgstr "&Anwendung" msgstr "&Anwendung"
#: ../src\wxUI\view.py:75 #: ../src\wxUI\view.py:74
msgid "&User" msgid "&User"
msgstr "Ben&utzer" msgstr "Ben&utzer"
#: ../src\wxUI\view.py:76 #: ../src\wxUI\view.py:75
msgid "&Buffer" msgid "&Buffer"
msgstr "A&nsicht" msgstr "A&nsicht"
#: ../src\wxUI\view.py:77 #: ../src\wxUI\view.py:76
msgid "&Help" msgid "&Help"
msgstr "&Hilfe" msgstr "&Hilfe"
#: ../src\wxUI\view.py:158 #: ../src\wxUI\view.py:159
msgid "Address" msgid "Address"
msgstr "Adresse" msgstr "Adresse"
#: ../src\wxUI\view.py:181 #: ../src\wxUI\view.py:182
msgid "Update" msgid "Update"
msgstr "Update" msgstr "Update"
#: ../src\wxUI\view.py:181 #: ../src\wxUI\view.py:182
msgid "Your {0} version is up to date" msgid "Your {0} version is up to date"
msgstr "Deine {0}-Version ist aktuell" msgstr "Deine {0}-Version ist aktuell"

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

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

Binary file not shown.

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

Binary file not shown.

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

View File

@@ -30,6 +30,9 @@ class timelinesStreamer(TwythonStreamer):
def check_tls(self, data): def check_tls(self, data):
for i in self.session.settings["other_buffers"]["timelines"]: for i in self.session.settings["other_buffers"]["timelines"]:
if data["user"]["screen_name"] == i: 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
if self.session.settings["general"]["reverse_timelines"] == False: self.session.db["%s-timeline" % (i,)].append(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) 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) pub.sendMessage("item-in-timeline", data= data, user= self.session.db["user_name"], who= i)

View File

@@ -33,6 +33,9 @@ class streamer(TwythonStreamer):
def put_data(self, place, data): def put_data(self, place, data):
if self.session.db.has_key(place): 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
if self.session.settings["general"]["reverse_timelines"] == False: if self.session.settings["general"]["reverse_timelines"] == False:
self.session.db[place].append(data) self.session.db[place].append(data)
else: else:

View File

@@ -60,6 +60,8 @@ def compose_tweet(tweet, db, relative_times):
try: try:
oldtext=text oldtext=text
text=twishort.get_full_text(tweet['long_uri']) 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: except:
text=oldtext text=oldtext
tweet["text"] = text tweet["text"] = text

View File

@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "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-05 11:46+Hora de verano central (M<>xico)\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -361,7 +361,7 @@ msgid "* Global settings: Opens a dialogue which lets you configure settings for
msgstr "" msgstr ""
#: ../doc\strings.py:166 #: ../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 "" msgstr ""
#: ../doc\strings.py:169 #: ../doc\strings.py:169

File diff suppressed because it is too large Load Diff