From 4bc5c56597a8f75e10515b8be27eabf57af185aa Mon Sep 17 00:00:00 2001
From: ssbmoro <69113632+ssbm-oro@users.noreply.github.com>
Date: Mon, 28 Dec 2020 21:50:06 -0500
Subject: [PATCH 1/8] initial version of i18n tagged localizable text in script
properties files added translation files for the main languages alttpr is run
in created es translation using google translate and memory from highschool
---
.github/workflows/create-release.yml | 5 +
src/locales/de/LC_MESSAGES/racetime-obs.po | 317 ++++++++++++++++++++
src/locales/en/LC_MESSAGES/racetime-obs.po | 317 ++++++++++++++++++++
src/locales/es/LC_MESSAGES/racetime-obs.po | 333 +++++++++++++++++++++
src/locales/fr/LC_MESSAGES/racetime-obs.po | 317 ++++++++++++++++++++
src/locales/pt/LC_MESSAGES/racetime-obs.po | 317 ++++++++++++++++++++
src/racetime_client.py | 12 +-
src/racetime_obs.py | 40 ++-
src/rtgg_obs.py | 7 +-
src/scripting/__init__.py | 9 +-
src/scripting/coop_scripting.py | 33 +-
src/scripting/media_player_scripting.py | 36 ++-
src/scripting/media_trigger_scripting.py | 52 +++-
src/scripting/qualifier_scripting.py | 17 +-
src/scripting/setup_scripting.py | 40 ++-
src/scripting/timer_scripting.py | 24 +-
16 files changed, 1793 insertions(+), 83 deletions(-)
create mode 100644 src/locales/de/LC_MESSAGES/racetime-obs.po
create mode 100644 src/locales/en/LC_MESSAGES/racetime-obs.po
create mode 100644 src/locales/es/LC_MESSAGES/racetime-obs.po
create mode 100644 src/locales/fr/LC_MESSAGES/racetime-obs.po
create mode 100644 src/locales/pt/LC_MESSAGES/racetime-obs.po
diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml
index 0da6c47..514adbb 100644
--- a/.github/workflows/create-release.yml
+++ b/.github/workflows/create-release.yml
@@ -20,6 +20,11 @@ jobs:
- name: Get tag annotation
uses: ericcornelissen/git-tag-annotation-action@v1
id: tag_data
+ - name: msgfmt
+ uses: whtsky/msgfmt-action@20190305
+ env = {
+ WORKDIR = "src/locales"
+ }
- name: Build project # This would actually build your project, using zip for an example artifact
id: build
run: |
diff --git a/src/locales/de/LC_MESSAGES/racetime-obs.po b/src/locales/de/LC_MESSAGES/racetime-obs.po
new file mode 100644
index 0000000..737a844
--- /dev/null
+++ b/src/locales/de/LC_MESSAGES/racetime-obs.po
@@ -0,0 +1,317 @@
+# German translations for PROJECT.
+# Copyright (C) 2020 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2020.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2020-12-28 15:48-0500\n"
+"PO-Revision-Date: 2020-12-28 15:51-0500\n"
+"Last-Translator: FULL NAME \n"
+"Language: de\n"
+"Language-Team: de \n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.9.0\n"
+
+#: src/racetime_client.py:17 src/rtgg_obs.py:24
+msgid ""
+"You've loaded the incorrect script.
Please remove this fileand "
+"add 'racetime_obs.py' instead
"
+msgstr ""
+
+#: src/racetime_obs.py:20
+msgid ""
+"Select a text source to use as your timer and enter yourfull username on "
+"racetime.gg (including discriminator). This only needs to be done once."
+"\n"
+"\n"
+"Then select the race room each race you join and stop worrying about "
+"whether you started your timer or not."
+msgstr ""
+
+#: src/racetime_obs.py:40 src/racetime_obs.py:75 src/racetime_obs.py:121
+#: src/scripting/__init__.py:33
+msgid "None"
+msgstr ""
+
+#: src/racetime_obs.py:74
+msgid "Race info"
+msgstr ""
+
+#: src/racetime_obs.py:86
+msgid "Refresh"
+msgstr ""
+
+#: src/racetime_obs.py:139
+msgid "Race not found"
+msgstr ""
+
+#: src/scripting/__init__.py:31
+msgid "All"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:12
+msgid "Display coop information?"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:16
+msgid "Co-op Mode"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:21
+msgid "Co-op Partner"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:25
+msgid "Co-op Rival 1"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:29
+msgid "Co-op Rival 2"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:34
+msgid "Our Team's Timer"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:38
+msgid "This text source will display your team's timer when you finish."
+msgstr ""
+
+#: src/scripting/coop_scripting.py:45
+msgid ""
+"This text source will be use to display your rival's timer when they "
+"finish"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:50
+msgid "Winner Color:"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:52
+msgid "Loser Color:"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:54
+msgid "Winner Undetermined Color"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:32
+msgid "Enable sounds?"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:37
+msgid "Media Player Mode"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:45
+#: src/scripting/media_trigger_scripting.py:34
+msgid "Monitoring Type"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:48
+msgid "Listen Only"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:52
+msgid "Stream Only"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:54
+#: src/scripting/media_trigger_scripting.py:41
+msgid "Listen and Stream"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:57
+msgid "Chat Pings"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:59
+msgid ""
+"Enable this and set choose a sound file to play when a bot posts or when "
+"someone @s you in racetime.gg chat"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:64
+msgid "Chat media file"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:69
+msgid "First Place Sound"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:73
+msgid "Sound file to play when you finish first."
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:13
+msgid "Media Trigger #"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:22
+msgid "Sound File"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:26
+msgid "Type of Trigger"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:29
+msgid "Chat"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:30
+msgid "Finish Place"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:31
+msgid "Timer"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:37
+msgid "Only Listen"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:39
+msgid "Only Stream"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:49
+msgid "Bot?"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:51
+msgid "Highlighted?"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:53
+msgid "System?"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:61
+msgid "Finish Place <="
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:64
+msgid "Num. Entrants >="
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:70
+msgid "Start playing at "
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:13
+msgid "Display race results as tournament qualifier?"
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:18
+msgid "Qualifier Mode"
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:27
+msgid "Use Top X as par time, where X="
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:32
+msgid "Qualifier Par Time Source"
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:40
+msgid "Qualifier Score Source"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:22
+msgid "Initial setup - Check to make changes"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:26
+msgid "Text Source"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:31
+msgid "Username"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:33
+msgid "Enable logging"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:35
+msgid "Log level"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:38
+msgid "Error"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:39
+msgid "Debug"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:40
+msgid "Info"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:42
+msgid ""
+"Generally, only log errors unless you are developing or are trying to "
+"find a specific problem."
+msgstr ""
+
+#: src/scripting/setup_scripting.py:46
+msgid "Log to file?"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:48
+msgid "Log File"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:52
+msgid "Filter by Category"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:56
+msgid "Race"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:66
+msgid "Race Desc"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:30
+msgid "Use custom color for podium finishes?"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:34
+msgid "Podium Colors"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:39
+msgid "Pre-race:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:41
+msgid "Still racing:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:42
+msgid "1st place:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:43
+msgid "2nd place:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:44
+msgid "3rd place:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:46
+msgid "After podium:"
+msgstr ""
+
diff --git a/src/locales/en/LC_MESSAGES/racetime-obs.po b/src/locales/en/LC_MESSAGES/racetime-obs.po
new file mode 100644
index 0000000..3aee982
--- /dev/null
+++ b/src/locales/en/LC_MESSAGES/racetime-obs.po
@@ -0,0 +1,317 @@
+# English translations for PROJECT.
+# Copyright (C) 2020 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2020.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2020-12-28 15:48-0500\n"
+"PO-Revision-Date: 2020-12-28 15:50-0500\n"
+"Last-Translator: FULL NAME \n"
+"Language: en\n"
+"Language-Team: en \n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.9.0\n"
+
+#: src/racetime_client.py:17 src/rtgg_obs.py:24
+msgid ""
+"You've loaded the incorrect script.
Please remove this fileand "
+"add 'racetime_obs.py' instead
"
+msgstr ""
+
+#: src/racetime_obs.py:20
+msgid ""
+"Select a text source to use as your timer and enter yourfull username on "
+"racetime.gg (including discriminator). This only needs to be done once."
+"\n"
+"\n"
+"Then select the race room each race you join and stop worrying about "
+"whether you started your timer or not."
+msgstr ""
+
+#: src/racetime_obs.py:40 src/racetime_obs.py:75 src/racetime_obs.py:121
+#: src/scripting/__init__.py:33
+msgid "None"
+msgstr ""
+
+#: src/racetime_obs.py:74
+msgid "Race info"
+msgstr ""
+
+#: src/racetime_obs.py:86
+msgid "Refresh"
+msgstr ""
+
+#: src/racetime_obs.py:139
+msgid "Race not found"
+msgstr ""
+
+#: src/scripting/__init__.py:31
+msgid "All"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:12
+msgid "Display coop information?"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:16
+msgid "Co-op Mode"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:21
+msgid "Co-op Partner"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:25
+msgid "Co-op Rival 1"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:29
+msgid "Co-op Rival 2"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:34
+msgid "Our Team's Timer"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:38
+msgid "This text source will display your team's timer when you finish."
+msgstr ""
+
+#: src/scripting/coop_scripting.py:45
+msgid ""
+"This text source will be use to display your rival's timer when they "
+"finish"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:50
+msgid "Winner Color:"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:52
+msgid "Loser Color:"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:54
+msgid "Winner Undetermined Color"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:32
+msgid "Enable sounds?"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:37
+msgid "Media Player Mode"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:45
+#: src/scripting/media_trigger_scripting.py:34
+msgid "Monitoring Type"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:48
+msgid "Listen Only"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:52
+msgid "Stream Only"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:54
+#: src/scripting/media_trigger_scripting.py:41
+msgid "Listen and Stream"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:57
+msgid "Chat Pings"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:59
+msgid ""
+"Enable this and set choose a sound file to play when a bot posts or when "
+"someone @s you in racetime.gg chat"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:64
+msgid "Chat media file"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:69
+msgid "First Place Sound"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:73
+msgid "Sound file to play when you finish first."
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:13
+msgid "Media Trigger #"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:22
+msgid "Sound File"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:26
+msgid "Type of Trigger"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:29
+msgid "Chat"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:30
+msgid "Finish Place"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:31
+msgid "Timer"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:37
+msgid "Only Listen"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:39
+msgid "Only Stream"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:49
+msgid "Bot?"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:51
+msgid "Highlighted?"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:53
+msgid "System?"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:61
+msgid "Finish Place <="
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:64
+msgid "Num. Entrants >="
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:70
+msgid "Start playing at "
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:13
+msgid "Display race results as tournament qualifier?"
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:18
+msgid "Qualifier Mode"
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:27
+msgid "Use Top X as par time, where X="
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:32
+msgid "Qualifier Par Time Source"
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:40
+msgid "Qualifier Score Source"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:22
+msgid "Initial setup - Check to make changes"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:26
+msgid "Text Source"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:31
+msgid "Username"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:33
+msgid "Enable logging"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:35
+msgid "Log level"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:38
+msgid "Error"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:39
+msgid "Debug"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:40
+msgid "Info"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:42
+msgid ""
+"Generally, only log errors unless you are developing or are trying to "
+"find a specific problem."
+msgstr ""
+
+#: src/scripting/setup_scripting.py:46
+msgid "Log to file?"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:48
+msgid "Log File"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:52
+msgid "Filter by Category"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:56
+msgid "Race"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:66
+msgid "Race Desc"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:30
+msgid "Use custom color for podium finishes?"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:34
+msgid "Podium Colors"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:39
+msgid "Pre-race:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:41
+msgid "Still racing:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:42
+msgid "1st place:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:43
+msgid "2nd place:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:44
+msgid "3rd place:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:46
+msgid "After podium:"
+msgstr ""
+
diff --git a/src/locales/es/LC_MESSAGES/racetime-obs.po b/src/locales/es/LC_MESSAGES/racetime-obs.po
new file mode 100644
index 0000000..39e6055
--- /dev/null
+++ b/src/locales/es/LC_MESSAGES/racetime-obs.po
@@ -0,0 +1,333 @@
+# Spanish translations for PROJECT.
+# Copyright (C) 2020 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2020.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2020-12-28 15:48-0500\n"
+"PO-Revision-Date: 2020-12-28 16:01-0500\n"
+"Last-Translator: FULL NAME \n"
+"Language: es\n"
+"Language-Team: es \n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.9.0\n"
+
+#: src/racetime_client.py:17 src/rtgg_obs.py:24
+msgid ""
+"You've loaded the incorrect script.
Please remove this fileand "
+"add 'racetime_obs.py' instead
"
+msgstr ""
+"Cargó la secuencia de comandos incorrecta.
Elimine este archivo "
+"y agregue 'racetime_obs.py' en su lugar
"
+
+#: src/racetime_obs.py:20
+msgid ""
+"Select a text source to use as your timer and enter yourfull username on "
+"racetime.gg (including discriminator). This only needs to be done once."
+"\n"
+"\n"
+"Then select the race room each race you join and stop worrying about "
+"whether you started your timer or not."
+msgstr ""
+"Seleccione una fuente de texto para usar como su temporizador e ingrese su nombre de usuario completo en"
+"racetime.gg (incluido el discriminador). Esto solo debe hacerse una vez."
+"\n"
+"\n"
+"Luego, selecciona la sala de carreras en cada carrera a la que te unes y deja de preocuparte"
+"ya sea que haya iniciado el temporizador o no."
+
+#: src/racetime_obs.py:40 src/racetime_obs.py:75 src/racetime_obs.py:121
+#: src/scripting/__init__.py:33
+msgid "None"
+msgstr "Ninguna"
+
+#: src/racetime_obs.py:74
+msgid "Race info"
+msgstr "Info de carrera"
+
+#: src/racetime_obs.py:86
+msgid "Refresh"
+msgstr "Actualizar"
+
+#: src/racetime_obs.py:139
+msgid "Race not found"
+msgstr "Carrera no encontrada"
+
+#: src/scripting/__init__.py:31
+msgid "All"
+msgstr "Todos"
+
+#: src/scripting/coop_scripting.py:12
+msgid "Display coop information?"
+msgstr "¿Mostrar información de la cooperativa?"
+
+#: src/scripting/coop_scripting.py:16
+msgid "Co-op Mode"
+msgstr "Modo cooperativo"
+
+#: src/scripting/coop_scripting.py:21
+msgid "Co-op Partner"
+msgstr "Socio cooperativo"
+
+#: src/scripting/coop_scripting.py:25
+msgid "Co-op Rival 1"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:29
+msgid "Co-op Rival 2"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:34
+msgid "Our Team's Timer"
+msgstr "Temporizador de nuestro equipo"
+
+#: src/scripting/coop_scripting.py:38
+msgid "This text source will display your team's timer when you finish."
+msgstr ""
+"Esta fuente de texto mostrará el cronómetro de tu equipo cuando termines."
+
+#: src/scripting/coop_scripting.py:45
+msgid ""
+"This text source will be use to display your rival's timer when they "
+"finish"
+msgstr ""
+"Esta fuente de texto se utilizará para mostrar el temporizador de tu rival "
+"cuando termine"
+
+#: src/scripting/coop_scripting.py:50
+msgid "Winner Color:"
+msgstr "Color del ganador"
+
+#: src/scripting/coop_scripting.py:52
+msgid "Loser Color:"
+msgstr "Color del perdedor"
+
+#: src/scripting/coop_scripting.py:54
+msgid "Winner Undetermined Color"
+msgstr "Color del ganador indeterminado"
+
+#: src/scripting/media_player_scripting.py:32
+msgid "Enable sounds?"
+msgstr "¿Activar sonidos?"
+
+#: src/scripting/media_player_scripting.py:37
+msgid "Media Player Mode"
+msgstr "Modo de reproductor multimedia"
+
+#: src/scripting/media_player_scripting.py:45
+#: src/scripting/media_trigger_scripting.py:34
+msgid "Monitoring Type"
+msgstr "Tipo de monitorización"
+
+#: src/scripting/media_player_scripting.py:48
+msgid "Listen Only"
+msgstr "Escuchar solo"
+
+#: src/scripting/media_player_scripting.py:52
+msgid "Stream Only"
+msgstr "Solo transmitir"
+
+#: src/scripting/media_player_scripting.py:54
+#: src/scripting/media_trigger_scripting.py:41
+msgid "Listen and Stream"
+msgstr "Escuchar y transmitir"
+
+#: src/scripting/media_player_scripting.py:57
+msgid "Chat Pings"
+msgstr "Pings de chat"
+
+#: src/scripting/media_player_scripting.py:59
+msgid ""
+"Enable this and set choose a sound file to play when a bot posts or when "
+"someone @s you in racetime.gg chat"
+msgstr ""
+"Habilite esto y configure elija un archivo de sonido para reproducir cuando "
+"un bot publique o cuando alguien lo @ en el chat racetime.gg"
+
+#: src/scripting/media_player_scripting.py:64
+msgid "Chat media file"
+msgstr "Archivo multimedia de chat"
+
+#: src/scripting/media_player_scripting.py:69
+msgid "First Place Sound"
+msgstr "Sonido de primer lugar"
+
+#: src/scripting/media_player_scripting.py:73
+msgid "Sound file to play when you finish first."
+msgstr "Archivo de sonido para reproducir cuando termines primero."
+
+#: src/scripting/media_trigger_scripting.py:13
+msgid "Media Trigger #"
+msgstr "Activador de medios #"
+
+#: src/scripting/media_trigger_scripting.py:22
+msgid "Sound File"
+msgstr "Archivo de sonido"
+
+#: src/scripting/media_trigger_scripting.py:26
+msgid "Type of Trigger"
+msgstr "Tipo de disparador"
+
+#: src/scripting/media_trigger_scripting.py:29
+msgid "Chat"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:30
+msgid "Finish Place"
+msgstr "Lugar de finalización"
+
+#: src/scripting/media_trigger_scripting.py:31
+msgid "Timer"
+msgstr "Temporizador"
+
+#: src/scripting/media_trigger_scripting.py:37
+msgid "Only Listen"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:39
+msgid "Only Stream"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:49
+msgid "Bot?"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:51
+msgid "Highlighted?"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:53
+msgid "System?"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:61
+msgid "Finish Place <="
+msgstr "Lugar de finalización <="
+
+#: src/scripting/media_trigger_scripting.py:64
+msgid "Num. Entrants >="
+msgstr "Num. Participantes >="
+
+#: src/scripting/media_trigger_scripting.py:70
+msgid "Start playing at "
+msgstr "Empieza en"
+
+#: src/scripting/qualifier_scripting.py:13
+msgid "Display race results as tournament qualifier?"
+msgstr ""
+"¿Mostrar los resultados de la carrera como clasificatorio para el torneo?"
+
+#: src/scripting/qualifier_scripting.py:18
+msgid "Qualifier Mode"
+msgstr "Modo de calificación"
+
+#: src/scripting/qualifier_scripting.py:27
+msgid "Use Top X as par time, where X="
+msgstr "Utilice Top X como tiempo par, donde X ="
+
+#: src/scripting/qualifier_scripting.py:32
+msgid "Qualifier Par Time Source"
+msgstr "Calificar por fuente de tiempo"
+
+#: src/scripting/qualifier_scripting.py:40
+msgid "Qualifier Score Source"
+msgstr "Fuente de puntuación del calificador"
+
+#: src/scripting/setup_scripting.py:22
+msgid "Initial setup - Check to make changes"
+msgstr "Configuración inicial: marque para realizar cambios"
+
+#: src/scripting/setup_scripting.py:26
+msgid "Text Source"
+msgstr "Fuente de texto"
+
+#: src/scripting/setup_scripting.py:31
+msgid "Username"
+msgstr "Nombre de usuario"
+
+#: src/scripting/setup_scripting.py:33
+msgid "Enable logging"
+msgstr "Habilitar el registro"
+
+#: src/scripting/setup_scripting.py:35
+msgid "Log level"
+msgstr "Nivel de registro"
+
+#: src/scripting/setup_scripting.py:38
+msgid "Error"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:39
+msgid "Debug"
+msgstr "Depurar"
+
+#: src/scripting/setup_scripting.py:40
+msgid "Info"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:42
+msgid ""
+"Generally, only log errors unless you are developing or are trying to "
+"find a specific problem."
+msgstr ""
+"Por lo general, solo registre errores a menos que esté desarrollando o "
+"tratando de encontrar un problema específico."
+
+#: src/scripting/setup_scripting.py:46
+msgid "Log to file?"
+msgstr "¿Unido al expediente?"
+
+#: src/scripting/setup_scripting.py:48
+msgid "Log File"
+msgstr "Archivo de registro"
+
+#: src/scripting/setup_scripting.py:52
+msgid "Filter by Category"
+msgstr "Filtrar por categoría"
+
+#: src/scripting/setup_scripting.py:56
+msgid "Race"
+msgstr "Carrera"
+
+#: src/scripting/setup_scripting.py:66
+msgid "Race Desc"
+msgstr "Descripción de la carrera"
+
+#: src/scripting/timer_scripting.py:30
+msgid "Use custom color for podium finishes?"
+msgstr "¿Usar colores personalizados para los acabados del podio?"
+
+#: src/scripting/timer_scripting.py:34
+msgid "Podium Colors"
+msgstr "Colores del podio"
+
+#: src/scripting/timer_scripting.py:39
+msgid "Pre-race:"
+msgstr "Antes de la carrera:"
+
+#: src/scripting/timer_scripting.py:41
+msgid "Still racing:"
+msgstr "Todavía corriendo:"
+
+#: src/scripting/timer_scripting.py:42
+msgid "1st place:"
+msgstr "1er lugar"
+
+#: src/scripting/timer_scripting.py:43
+msgid "2nd place:"
+msgstr "2er lugar"
+
+#: src/scripting/timer_scripting.py:44
+msgid "3rd place:"
+msgstr "3er lugar"
+
+#: src/scripting/timer_scripting.py:46
+msgid "After podium:"
+msgstr "Después del podio:"
+
diff --git a/src/locales/fr/LC_MESSAGES/racetime-obs.po b/src/locales/fr/LC_MESSAGES/racetime-obs.po
new file mode 100644
index 0000000..500b456
--- /dev/null
+++ b/src/locales/fr/LC_MESSAGES/racetime-obs.po
@@ -0,0 +1,317 @@
+# French translations for PROJECT.
+# Copyright (C) 2020 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2020.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2020-12-28 15:48-0500\n"
+"PO-Revision-Date: 2020-12-28 15:51-0500\n"
+"Last-Translator: FULL NAME \n"
+"Language: fr\n"
+"Language-Team: fr \n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.9.0\n"
+
+#: src/racetime_client.py:17 src/rtgg_obs.py:24
+msgid ""
+"You've loaded the incorrect script.
Please remove this fileand "
+"add 'racetime_obs.py' instead
"
+msgstr ""
+
+#: src/racetime_obs.py:20
+msgid ""
+"Select a text source to use as your timer and enter yourfull username on "
+"racetime.gg (including discriminator). This only needs to be done once."
+"\n"
+"\n"
+"Then select the race room each race you join and stop worrying about "
+"whether you started your timer or not."
+msgstr ""
+
+#: src/racetime_obs.py:40 src/racetime_obs.py:75 src/racetime_obs.py:121
+#: src/scripting/__init__.py:33
+msgid "None"
+msgstr ""
+
+#: src/racetime_obs.py:74
+msgid "Race info"
+msgstr ""
+
+#: src/racetime_obs.py:86
+msgid "Refresh"
+msgstr ""
+
+#: src/racetime_obs.py:139
+msgid "Race not found"
+msgstr ""
+
+#: src/scripting/__init__.py:31
+msgid "All"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:12
+msgid "Display coop information?"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:16
+msgid "Co-op Mode"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:21
+msgid "Co-op Partner"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:25
+msgid "Co-op Rival 1"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:29
+msgid "Co-op Rival 2"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:34
+msgid "Our Team's Timer"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:38
+msgid "This text source will display your team's timer when you finish."
+msgstr ""
+
+#: src/scripting/coop_scripting.py:45
+msgid ""
+"This text source will be use to display your rival's timer when they "
+"finish"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:50
+msgid "Winner Color:"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:52
+msgid "Loser Color:"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:54
+msgid "Winner Undetermined Color"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:32
+msgid "Enable sounds?"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:37
+msgid "Media Player Mode"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:45
+#: src/scripting/media_trigger_scripting.py:34
+msgid "Monitoring Type"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:48
+msgid "Listen Only"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:52
+msgid "Stream Only"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:54
+#: src/scripting/media_trigger_scripting.py:41
+msgid "Listen and Stream"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:57
+msgid "Chat Pings"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:59
+msgid ""
+"Enable this and set choose a sound file to play when a bot posts or when "
+"someone @s you in racetime.gg chat"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:64
+msgid "Chat media file"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:69
+msgid "First Place Sound"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:73
+msgid "Sound file to play when you finish first."
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:13
+msgid "Media Trigger #"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:22
+msgid "Sound File"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:26
+msgid "Type of Trigger"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:29
+msgid "Chat"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:30
+msgid "Finish Place"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:31
+msgid "Timer"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:37
+msgid "Only Listen"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:39
+msgid "Only Stream"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:49
+msgid "Bot?"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:51
+msgid "Highlighted?"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:53
+msgid "System?"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:61
+msgid "Finish Place <="
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:64
+msgid "Num. Entrants >="
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:70
+msgid "Start playing at "
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:13
+msgid "Display race results as tournament qualifier?"
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:18
+msgid "Qualifier Mode"
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:27
+msgid "Use Top X as par time, where X="
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:32
+msgid "Qualifier Par Time Source"
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:40
+msgid "Qualifier Score Source"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:22
+msgid "Initial setup - Check to make changes"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:26
+msgid "Text Source"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:31
+msgid "Username"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:33
+msgid "Enable logging"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:35
+msgid "Log level"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:38
+msgid "Error"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:39
+msgid "Debug"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:40
+msgid "Info"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:42
+msgid ""
+"Generally, only log errors unless you are developing or are trying to "
+"find a specific problem."
+msgstr ""
+
+#: src/scripting/setup_scripting.py:46
+msgid "Log to file?"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:48
+msgid "Log File"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:52
+msgid "Filter by Category"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:56
+msgid "Race"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:66
+msgid "Race Desc"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:30
+msgid "Use custom color for podium finishes?"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:34
+msgid "Podium Colors"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:39
+msgid "Pre-race:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:41
+msgid "Still racing:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:42
+msgid "1st place:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:43
+msgid "2nd place:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:44
+msgid "3rd place:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:46
+msgid "After podium:"
+msgstr ""
+
diff --git a/src/locales/pt/LC_MESSAGES/racetime-obs.po b/src/locales/pt/LC_MESSAGES/racetime-obs.po
new file mode 100644
index 0000000..b600e86
--- /dev/null
+++ b/src/locales/pt/LC_MESSAGES/racetime-obs.po
@@ -0,0 +1,317 @@
+# Portuguese translations for PROJECT.
+# Copyright (C) 2020 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR , 2020.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2020-12-28 15:48-0500\n"
+"PO-Revision-Date: 2020-12-28 15:51-0500\n"
+"Last-Translator: FULL NAME \n"
+"Language: pt\n"
+"Language-Team: pt \n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.9.0\n"
+
+#: src/racetime_client.py:17 src/rtgg_obs.py:24
+msgid ""
+"You've loaded the incorrect script.
Please remove this fileand "
+"add 'racetime_obs.py' instead
"
+msgstr ""
+
+#: src/racetime_obs.py:20
+msgid ""
+"Select a text source to use as your timer and enter yourfull username on "
+"racetime.gg (including discriminator). This only needs to be done once."
+"\n"
+"\n"
+"Then select the race room each race you join and stop worrying about "
+"whether you started your timer or not."
+msgstr ""
+
+#: src/racetime_obs.py:40 src/racetime_obs.py:75 src/racetime_obs.py:121
+#: src/scripting/__init__.py:33
+msgid "None"
+msgstr ""
+
+#: src/racetime_obs.py:74
+msgid "Race info"
+msgstr ""
+
+#: src/racetime_obs.py:86
+msgid "Refresh"
+msgstr ""
+
+#: src/racetime_obs.py:139
+msgid "Race not found"
+msgstr ""
+
+#: src/scripting/__init__.py:31
+msgid "All"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:12
+msgid "Display coop information?"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:16
+msgid "Co-op Mode"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:21
+msgid "Co-op Partner"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:25
+msgid "Co-op Rival 1"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:29
+msgid "Co-op Rival 2"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:34
+msgid "Our Team's Timer"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:38
+msgid "This text source will display your team's timer when you finish."
+msgstr ""
+
+#: src/scripting/coop_scripting.py:45
+msgid ""
+"This text source will be use to display your rival's timer when they "
+"finish"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:50
+msgid "Winner Color:"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:52
+msgid "Loser Color:"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:54
+msgid "Winner Undetermined Color"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:32
+msgid "Enable sounds?"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:37
+msgid "Media Player Mode"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:45
+#: src/scripting/media_trigger_scripting.py:34
+msgid "Monitoring Type"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:48
+msgid "Listen Only"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:52
+msgid "Stream Only"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:54
+#: src/scripting/media_trigger_scripting.py:41
+msgid "Listen and Stream"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:57
+msgid "Chat Pings"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:59
+msgid ""
+"Enable this and set choose a sound file to play when a bot posts or when "
+"someone @s you in racetime.gg chat"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:64
+msgid "Chat media file"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:69
+msgid "First Place Sound"
+msgstr ""
+
+#: src/scripting/media_player_scripting.py:73
+msgid "Sound file to play when you finish first."
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:13
+msgid "Media Trigger #"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:22
+msgid "Sound File"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:26
+msgid "Type of Trigger"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:29
+msgid "Chat"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:30
+msgid "Finish Place"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:31
+msgid "Timer"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:37
+msgid "Only Listen"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:39
+msgid "Only Stream"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:49
+msgid "Bot?"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:51
+msgid "Highlighted?"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:53
+msgid "System?"
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:61
+msgid "Finish Place <="
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:64
+msgid "Num. Entrants >="
+msgstr ""
+
+#: src/scripting/media_trigger_scripting.py:70
+msgid "Start playing at "
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:13
+msgid "Display race results as tournament qualifier?"
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:18
+msgid "Qualifier Mode"
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:27
+msgid "Use Top X as par time, where X="
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:32
+msgid "Qualifier Par Time Source"
+msgstr ""
+
+#: src/scripting/qualifier_scripting.py:40
+msgid "Qualifier Score Source"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:22
+msgid "Initial setup - Check to make changes"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:26
+msgid "Text Source"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:31
+msgid "Username"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:33
+msgid "Enable logging"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:35
+msgid "Log level"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:38
+msgid "Error"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:39
+msgid "Debug"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:40
+msgid "Info"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:42
+msgid ""
+"Generally, only log errors unless you are developing or are trying to "
+"find a specific problem."
+msgstr ""
+
+#: src/scripting/setup_scripting.py:46
+msgid "Log to file?"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:48
+msgid "Log File"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:52
+msgid "Filter by Category"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:56
+msgid "Race"
+msgstr ""
+
+#: src/scripting/setup_scripting.py:66
+msgid "Race Desc"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:30
+msgid "Use custom color for podium finishes?"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:34
+msgid "Podium Colors"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:39
+msgid "Pre-race:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:41
+msgid "Still racing:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:42
+msgid "1st place:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:43
+msgid "2nd place:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:44
+msgid "3rd place:"
+msgstr ""
+
+#: src/scripting/timer_scripting.py:46
+msgid "After podium:"
+msgstr ""
+
diff --git a/src/racetime_client.py b/src/racetime_client.py
index 5d29bda..79599f7 100644
--- a/src/racetime_client.py
+++ b/src/racetime_client.py
@@ -1,5 +1,6 @@
from typing import Any
import requests
+import gettext
from models.category import category_from_dict
from models.category_past_races import category_past_races_from_dict
@@ -10,11 +11,18 @@
from models.user_search import user_search_from_dict
+def script_path():
+ pass
+
+
def script_description():
- return (
+ localedir = script_path() + "locales"
+ lang = gettext.translation("racetime-obs", localedir=localedir)
+ _ = lang.gettext
+ return (_(
"You've loaded the incorrect script.
Please remove this file"
"and add 'racetime_obs.py' instead
"
- )
+ ))
base_url = "https://racetime.gg/"
diff --git a/src/racetime_obs.py b/src/racetime_obs.py
index 7062491..43fdfc7 100644
--- a/src/racetime_obs.py
+++ b/src/racetime_obs.py
@@ -1,4 +1,6 @@
from threading import Thread
+import gettext
+import os
import obspython as obs
import racetime_client
@@ -10,17 +12,27 @@
from rtgg_obs import RacetimeObs
from scripting import fill_race_list, fill_source_list, set_source_text
+_ = None
rtgg_obs = RacetimeObs()
+def script_path():
+ # PLACEHOLDER
+ # this function gets injected by OBS with actual script path
+ pass
+
+
def script_description():
+ message = _(
+ "Select a text source to use as your timer and enter your"
+ "full username on racetime.gg (including discriminator). This "
+ "only needs to be done once.\n\nThen select the race room each "
+ "race you join and stop worrying about whether you started your "
+ "timer or not."
+ )
return (
"racetime-obs xxVERSIONxx
"
- "Select a text source to use as your timer and enter your"
- "full username on racetime.gg (including discriminator). This only"
- "needs to be done once.\n\nThen select the race room each race you "
- "join and stop worrying about whether you started your timer or not."
- "
"
+ "" + message + "
"
)
@@ -65,11 +77,22 @@ def script_update(settings):
def script_defaults(settings):
- obs.obs_data_set_default_string(settings, "race_info", "Race info")
+ set_locale()
+ obs.obs_data_set_default_string(settings, "race_info", _("Race info"))
obs.obs_data_set_default_string(settings, "race", "None")
obs.obs_data_set_default_int(settings, "qualifier_cutoff", 3)
+def set_locale():
+ global _
+ if _ is None:
+ os.environ['LOCALEDIR'] = script_path() + "locales"
+ os.environ['LANGUAGE'] = obs.obs_get_locale()[0:2]
+ lang = gettext.translation(
+ "racetime-obs", localedir=os.environ['LOCALEDIR'])
+ _ = lang.gettext
+
+
def script_properties():
props = obs.obs_properties_create()
setup_scripting.script_setup(
@@ -77,7 +100,7 @@ def script_properties():
)
refresh = obs.obs_properties_add_button(
- props, "button", "Refresh", lambda *props: None)
+ props, "button", _("Refresh"), lambda *props: None)
obs.obs_property_set_modified_callback(refresh, refresh_pressed)
timer_scripting.script_timer_settings(props, rtgg_obs,)
coop_scripting.script_coop_settings(props, rtgg_obs)
@@ -108,6 +131,7 @@ def refresh_pressed(props, prop, *args, **kwargs):
def new_race_selected(props, prop, settings):
+ set_locale()
rtgg_obs.race_changed = True
obs.timer_remove(update_sources)
@@ -130,7 +154,7 @@ def new_race_selected(props, prop, settings):
obs.timer_add(update_sources, 100)
else:
obs.obs_data_set_default_string(
- settings, "race_info", "Race not found")
+ settings, "race_info", _("Race not found"))
return True
diff --git a/src/rtgg_obs.py b/src/rtgg_obs.py
index 04a083f..89f9004 100644
--- a/src/rtgg_obs.py
+++ b/src/rtgg_obs.py
@@ -2,6 +2,7 @@
import json
import logging
from datetime import datetime, timedelta, timezone
+import gettext
import dateutil
import websockets
@@ -16,11 +17,13 @@
from helpers.LogFormatter import LogFormatter
from models.race import Race, race_from_dict
+_ = gettext.gettext
+
def script_description():
- return (
+ return (_(
"You've loaded the incorrect script.
Please remove this file"
- "and add 'racetime_obs.py' instead
"
+ "and add 'racetime_obs.py' instead")
)
diff --git a/src/scripting/__init__.py b/src/scripting/__init__.py
index da7e0d5..7c82185 100644
--- a/src/scripting/__init__.py
+++ b/src/scripting/__init__.py
@@ -1,4 +1,6 @@
+import os
from typing import List
+import gettext
from models.race import Race
from models.category import Category
import obspython as obs
@@ -23,11 +25,14 @@ def fill_source_list(p):
def fill_race_list(rtgg_obs: RacetimeObs, race_list, category_list):
+ lang = gettext.translation(
+ "racetime-obs", localedir=os.environ['LOCALEDIR'])
+ _ = lang.gettext
obs.obs_property_list_clear(race_list)
obs.obs_property_list_clear(category_list)
- obs.obs_property_list_add_string(category_list, "All", "All")
+ obs.obs_property_list_add_string(category_list, _("All"), "All")
- obs.obs_property_list_add_string(race_list, "None", "None")
+ obs.obs_property_list_add_string(race_list, _("None"), "None")
races = racetime_client.get_races()
if races is not None:
fill_category_list(category_list, races)
diff --git a/src/scripting/coop_scripting.py b/src/scripting/coop_scripting.py
index c98d5c3..f2c0f82 100644
--- a/src/scripting/coop_scripting.py
+++ b/src/scripting/coop_scripting.py
@@ -1,53 +1,60 @@
+import gettext
+import os
+
import obspython as obs
from rtgg_obs import RacetimeObs
from . import fill_source_list
def script_coop_settings(props, rtgg_obs: RacetimeObs):
+ lang = gettext.translation(
+ "racetime-obs", localedir=os.environ['LOCALEDIR'])
+ _ = lang.gettext
+
p = obs.obs_properties_add_bool(
- props, "use_coop", "Display coop information?")
+ props, "use_coop", _("Display coop information?"))
obs.obs_property_set_modified_callback(p, coop_toggled)
coop_group = obs.obs_properties_create()
obs.obs_properties_add_group(
- props, "coop_group", "Co-op Mode", obs.OBS_GROUP_NORMAL, coop_group
+ props, "coop_group", _("Co-op Mode"), obs.OBS_GROUP_NORMAL, coop_group
)
obs.obs_property_set_visible(
obs.obs_properties_get(props, "coop_group"), rtgg_obs.coop.enabled)
p = obs.obs_properties_add_list(
- coop_group, "coop_partner", "Co-op Partner",
+ coop_group, "coop_partner", _("Co-op Partner"),
obs.OBS_COMBO_TYPE_LIST, obs.OBS_COMBO_FORMAT_STRING
)
p = obs.obs_properties_add_list(
- coop_group, "coop_opponent1", "Co-op Rival 1",
+ coop_group, "coop_opponent1", _("Co-op Rival 1"),
obs.OBS_COMBO_TYPE_LIST, obs.OBS_COMBO_FORMAT_STRING
)
p = obs.obs_properties_add_list(
- coop_group, "coop_opponent2", "Co-op Rival 2",
+ coop_group, "coop_opponent2", _("Co-op Rival 2"),
obs.OBS_COMBO_TYPE_LIST, obs.OBS_COMBO_FORMAT_STRING
)
fill_coop_entrant_lists(props, rtgg_obs)
p = obs.obs_properties_add_list(
- coop_group, "coop_our_source", "Our Team's Timer",
+ coop_group, "coop_our_source", _("Our Team's Timer"),
obs.OBS_COMBO_TYPE_EDITABLE, obs.OBS_COMBO_FORMAT_STRING
)
obs.obs_property_set_long_description(p, (
- "This text source will display your team's timer when you finish."
+ _("This text source will display your team's timer when you finish.")
))
fill_source_list(p)
p = obs.obs_properties_add_list(
coop_group, "coop_opponent_source", "Rival Team's Timer",
obs.OBS_COMBO_TYPE_EDITABLE, obs.OBS_COMBO_FORMAT_STRING
)
- obs.obs_property_set_long_description(p, (
- "This text source will be use to display your rival's timer when they"
- " finish"
+ obs.obs_property_set_long_description(p, (_(
+ "This text source will be use to display your rival's timer when "
+ "they finish")
))
obs.obs_properties_add_color(
- coop_group, "coop_winner_color", "Winner Color:")
+ coop_group, "coop_winner_color", _("Winner Color:"))
obs.obs_properties_add_color(
- coop_group, "coop_loser_color", "Loser Color:")
+ coop_group, "coop_loser_color", _("Loser Color:"))
obs.obs_properties_add_color(
- coop_group, "coop_undetermined_color", "Winner Undetermined Color")
+ coop_group, "coop_undetermined_color", _("Winner Undetermined Color"))
fill_source_list(p)
diff --git a/src/scripting/media_player_scripting.py b/src/scripting/media_player_scripting.py
index d74f66e..fd7733e 100644
--- a/src/scripting/media_player_scripting.py
+++ b/src/scripting/media_player_scripting.py
@@ -1,7 +1,12 @@
+import gettext
+import os
+
from helpers.obs_context_manager import media_source_ar
import obspython as obs
from rtgg_obs import RacetimeObs
+_ = gettext.gettext
+
def script_update_media_player_settings(settings, rtgg_obs: RacetimeObs):
rtgg_obs.media_player.play_media_callback = play_sound
@@ -24,13 +29,17 @@ def script_update_media_player_settings(settings, rtgg_obs: RacetimeObs):
def script_media_player_settings(
props, rtgg_obs: RacetimeObs, media_player_toggled
):
+ lang = gettext.translation(
+ "racetime-obs", localedir=os.environ['LOCALEDIR'])
+ _ = lang.gettext
+
p = obs.obs_properties_add_bool(
- props, "use_media_player", "Enable sounds?"
+ props, "use_media_player", _("Enable sounds?")
)
obs.obs_property_set_modified_callback(p, media_player_toggled)
media_player_group = obs.obs_properties_create()
obs.obs_properties_add_group(
- props, "media_player_group", "Media Player Mode",
+ props, "media_player_group", _("Media Player Mode"),
obs.OBS_GROUP_NORMAL, media_player_group
)
obs.obs_property_set_visible(
@@ -38,32 +47,35 @@ def script_media_player_settings(
rtgg_obs.media_player.enabled
)
monitoring_list = obs.obs_properties_add_list(
- media_player_group, "monitoring_type", "Monitoring Type",
+ media_player_group, "monitoring_type", _("Monitoring Type"),
obs.OBS_COMBO_TYPE_LIST, obs.OBS_COMBO_FORMAT_INT)
obs.obs_property_list_add_int(
- monitoring_list, "Listen Only", obs.OBS_MONITORING_TYPE_MONITOR_ONLY)
+ monitoring_list, _("Listen Only"),
+ obs.OBS_MONITORING_TYPE_MONITOR_ONLY
+ )
obs.obs_property_list_add_int(
- monitoring_list, "Stream Only", obs.OBS_MONITORING_TYPE_NONE)
+ monitoring_list, _("Stream Only"), obs.OBS_MONITORING_TYPE_NONE)
obs.obs_property_list_add_int(
- monitoring_list, "Listen and Stream",
+ monitoring_list, _("Listen and Stream"),
obs.OBS_MONITORING_TYPE_MONITOR_AND_OUTPUT)
p = obs.obs_properties_add_bool(
- media_player_group, "use_chat_pings", "Chat Pings")
+ media_player_group, "use_chat_pings", _("Chat Pings"))
obs.obs_property_set_long_description(
- p, ("Enable this and set choose a sound file to play when a bot posts "
- "or when someone @s you in racetime.gg chat"))
+ p, _("Enable this and set choose a sound file to play when a bot posts"
+ " or when someone @s you in racetime.gg chat")
+ )
p = obs.obs_properties_add_path(
media_player_group, "chat_ping_sound",
- "Chat media file", obs.OBS_PATH_FILE,
+ _("Chat media file"), obs.OBS_PATH_FILE,
"Audio Files (*.mp3 *.aac *.wav *.wma)", None
)
obs.obs_properties_add_path(
media_player_group, "first_place_sound",
- "First Place Sound", obs.OBS_PATH_FILE,
+ _("First Place Sound"), obs.OBS_PATH_FILE,
"Audio Files (*.mp3 *.aac *.wav *.wma)", None
)
obs.obs_property_set_long_description(
- p, "Sound file to play when you finish first.")
+ p, _("Sound file to play when you finish first."))
def play_sound(media_path: str,
diff --git a/src/scripting/media_trigger_scripting.py b/src/scripting/media_trigger_scripting.py
index 1d89749..19ab671 100644
--- a/src/scripting/media_trigger_scripting.py
+++ b/src/scripting/media_trigger_scripting.py
@@ -1,12 +1,19 @@
+import gettext
+import os
+
import obspython as obs
from rtgg_obs import RacetimeObs
def media_trigger_settings(props, rtgg_obs: RacetimeObs, index: int):
+ lang = gettext.translation(
+ "racetime-obs", localedir=os.environ['LOCALEDIR'])
+ _ = lang.gettext
+
media_player_group = obs.obs_properties_create()
name = f"media_trigger_#{index}"
obs.obs_properties_add_group(
- props, name, f"Media Trigger #{index}",
+ props, name, _("Media Trigger #") + f"{index}",
obs.OBS_GROUP_NORMAL, media_player_group
)
obs.obs_property_set_visible(
@@ -15,26 +22,26 @@ def media_trigger_settings(props, rtgg_obs: RacetimeObs, index: int):
)
obs.obs_properties_add_path(
media_player_group, f"media_path_#{index}",
- "Sound File", obs.OBS_PATH_FILE,
+ _("Sound File"), obs.OBS_PATH_FILE,
"Audio Files (*.mp3 *.aac *.wav *.wma)", None
)
p = obs.obs_properties_add_list(
- media_player_group, f"trigger_type_#{index}", "Type of Trigger",
+ media_player_group, f"trigger_type_#{index}", _("Type of Trigger"),
obs.OBS_COMBO_TYPE_LIST, obs.OBS_COMBO_FORMAT_STRING)
obs.obs_property_list_add_string(p, "", "")
- obs.obs_property_list_add_string(p, "Chat", "chat")
- obs.obs_property_list_add_string(p, "Finish Place", "finish")
- obs.obs_property_list_add_string(p, "Timer", "time")
+ obs.obs_property_list_add_string(p, _("Chat"), "chat")
+ obs.obs_property_list_add_string(p, _("Finish Place"), "finish")
+ obs.obs_property_list_add_string(p, _("Timer"), "time")
obs.obs_property_set_modified_callback(p, media_type_changed)
p = obs.obs_properties_add_list(
- media_player_group, f"monitoring_type_#{index}", "Monitoring Type",
+ media_player_group, f"monitoring_type_#{index}", _("Monitoring Type"),
obs.OBS_COMBO_TYPE_LIST, obs.OBS_COMBO_FORMAT_INT)
obs.obs_property_list_add_int(
- p, "Only Listen", obs.OBS_MONITORING_TYPE_MONITOR_ONLY)
+ p, _("Only Listen"), obs.OBS_MONITORING_TYPE_MONITOR_ONLY)
obs.obs_property_list_add_int(
- p, "Only Stream", obs.OBS_MONITORING_TYPE_NONE)
+ p, _("Only Stream"), obs.OBS_MONITORING_TYPE_NONE)
obs.obs_property_list_add_int(
- p, "Listen and Stream", obs.OBS_MONITORING_TYPE_MONITOR_AND_OUTPUT)
+ p, _("Listen and Stream"), obs.OBS_MONITORING_TYPE_MONITOR_AND_OUTPUT)
def media_type_changed(props, prop, settings):
@@ -42,25 +49,38 @@ def media_type_changed(props, prop, settings):
def chat_media_trigger_settings(props, index: int):
- obs.obs_properties_add_bool(props, f"trigger_chat_bot_#{index}", "Bot?")
+ lang = gettext.translation(
+ "racetime-obs", localedir=os.environ['LOCALEDIR'])
+ _ = lang.gettext
+
+ obs.obs_properties_add_bool(props, f"trigger_chat_bot_#{index}", _("Bot?"))
obs.obs_properties_add_bool(
- props, f"trigger_chat_highlight_#{index}", "Highlighted?")
+ props, f"trigger_chat_highlight_#{index}", _("Highlighted?"))
obs.obs_properties_add_bool(
- props, f"trigger_chat_system_#{index}", "System?")
+ props, f"trigger_chat_system_#{index}", _("System?"))
def finish_media_trigger_settings(props, index: int):
"""
Settings for a media trigger based on what place the entrant finishes
"""
+ lang = gettext.translation(
+ "racetime-obs", localedir=os.environ['LOCALEDIR'])
+ _ = lang.gettext
+
obs.obs_properties_add_int(
- props, f"trigger_finish_place_#{index}", "Finish Place <=", 1, 10, 1)
+ props, f"trigger_finish_place_#{index}", _("Finish Place <="),
+ 1, 10, 1)
obs.obs_properties_add_int(
- props, f"trigger_finish_entrants_#{index}", "Num. Entrants >=",
+ props, f"trigger_finish_entrants_#{index}", _("Num. Entrants >="),
2, 255, 1)
def timer_media_trigger_settings(props, index: int):
+ lang = gettext.translation(
+ "racetime-obs", localedir=os.environ['LOCALEDIR'])
+ _ = lang.gettext
+
obs.obs_properties_add_float_slider(
- props, f"trigger_timer_time_#{index}", "Start playing at ",
+ props, f"trigger_timer_time_#{index}", _("Start playing at "),
-15.0, 60, 0.1)
diff --git a/src/scripting/qualifier_scripting.py b/src/scripting/qualifier_scripting.py
index 3730c78..38af32d 100644
--- a/src/scripting/qualifier_scripting.py
+++ b/src/scripting/qualifier_scripting.py
@@ -1,17 +1,24 @@
+import gettext
+import os
+
import obspython as obs
from rtgg_obs import RacetimeObs
from . import fill_source_list
def script_qualifier_settings(props, rtgg_obs: RacetimeObs):
+ lang = gettext.translation(
+ "racetime-obs", localedir=os.environ['LOCALEDIR'])
+ _ = lang.gettext
+
p = obs.obs_properties_add_bool(
props, "use_qualifier",
- "Display race results as tournament qualifier?"
+ _("Display race results as tournament qualifier?")
)
obs.obs_property_set_modified_callback(p, qualifier_toggled)
qualifier_group = obs.obs_properties_create()
obs.obs_properties_add_group(
- props, "qualifier_group", "Qualifier Mode",
+ props, "qualifier_group", _("Qualifier Mode"),
obs.OBS_GROUP_NORMAL, qualifier_group
)
obs.obs_property_set_visible(
@@ -20,12 +27,12 @@ def script_qualifier_settings(props, rtgg_obs: RacetimeObs):
)
p = obs.obs_properties_add_int_slider(
qualifier_group, "qualifier_cutoff",
- "Use Top X as par time, where X=", 3, 10, 1
+ _("Use Top X as par time, where X="), 3, 10, 1
)
p = obs.obs_properties_add_list(
qualifier_group,
"qualifier_par_source",
- "Qualifier Par Time Source",
+ _("Qualifier Par Time Source"),
obs.OBS_COMBO_TYPE_EDITABLE,
obs.OBS_COMBO_FORMAT_STRING
)
@@ -33,7 +40,7 @@ def script_qualifier_settings(props, rtgg_obs: RacetimeObs):
p = obs.obs_properties_add_list(
qualifier_group,
"qualifier_score_source",
- "Qualifier Score Source",
+ _("Qualifier Score Source"),
obs.OBS_COMBO_TYPE_EDITABLE,
obs.OBS_COMBO_FORMAT_STRING
)
diff --git a/src/scripting/setup_scripting.py b/src/scripting/setup_scripting.py
index 7c13a10..bbf5d6b 100644
--- a/src/scripting/setup_scripting.py
+++ b/src/scripting/setup_scripting.py
@@ -1,3 +1,6 @@
+import gettext
+import os
+
import obspython as obs
from rtgg_obs import RacetimeObs
from scripting import fill_source_list
@@ -13,40 +16,47 @@ def script_update_setup_settings(settings, rtgg_obs: RacetimeObs):
def script_setup(props, new_race_selected, new_category_selected):
+ lang = gettext.translation(
+ "racetime-obs", localedir=os.environ['LOCALEDIR'])
+ _ = lang.gettext
+
setup_group = obs.obs_properties_create()
obs.obs_properties_add_group(
- props, "initial_setup", "Initial setup - Check to make changes",
+ props, "initial_setup", _("Initial setup - Check to make changes"),
obs.OBS_GROUP_CHECKABLE, setup_group
)
p = obs.obs_properties_add_list(
- setup_group, "source", "Text Source", obs.OBS_COMBO_TYPE_EDITABLE,
+ setup_group, "source", _("Text Source"), obs.OBS_COMBO_TYPE_EDITABLE,
obs.OBS_COMBO_FORMAT_STRING
)
fill_source_list(p)
obs.obs_properties_add_text(
- setup_group, "username", "Username", obs.OBS_TEXT_DEFAULT)
+ setup_group, "username", _("Username"), obs.OBS_TEXT_DEFAULT)
logging = obs.obs_properties_add_bool(
- setup_group, "enable_log", "Enable logging")
+ setup_group, "enable_log", _("Enable logging"))
log_levels = obs.obs_properties_add_list(
- setup_group, "log_level", "Log lever", obs.OBS_COMBO_TYPE_LIST,
+ setup_group, "log_level", _("Log level"), obs.OBS_COMBO_TYPE_LIST,
obs.OBS_COMBO_FORMAT_STRING
)
- obs.obs_property_list_add_string(log_levels, "Error", "Error")
- obs.obs_property_list_add_string(log_levels, "Debug", "Debug")
- obs.obs_property_list_add_string(log_levels, "Info", "Info")
+ obs.obs_property_list_add_string(log_levels, _("Error"), "error")
+ obs.obs_property_list_add_string(log_levels, _("Debug"), "debug")
+ obs.obs_property_list_add_string(log_levels, _("Info"), "info")
obs.obs_property_set_long_description(
- logging, "Generally, only log errors unless you are developing or are "
- "trying to find a specific problem."
+ logging, _(
+ "Generally, only log errors unless you are developing or are "
+ "trying to find a specific problem.")
)
- obs.obs_properties_add_bool(setup_group, "log_to_file", "Log to file?")
+ obs.obs_properties_add_bool(setup_group, "log_to_file", _("Log to file?"))
obs.obs_properties_add_path(
- setup_group, "log_file", "Log File", obs.OBS_PATH_FILE_SAVE, "*", None)
+ setup_group, "log_file", _("Log File"), obs.OBS_PATH_FILE_SAVE, "*",
+ None
+ )
category_list = obs.obs_properties_add_list(
- props, "category_filter", "Filter by Category",
+ props, "category_filter", _("Filter by Category"),
obs.OBS_COMBO_TYPE_LIST, obs.OBS_COMBO_FORMAT_STRING
)
race_list = obs.obs_properties_add_list(
- props, "race", "Race",
+ props, "race", _("Race"),
obs.OBS_COMBO_TYPE_EDITABLE, obs.OBS_COMBO_FORMAT_STRING
)
obs.obs_property_set_modified_callback(
@@ -56,5 +66,5 @@ def script_setup(props, new_race_selected, new_category_selected):
category_list, new_category_selected)
p = obs.obs_properties_add_text(
- props, "race_info", "Race Desc", obs.OBS_TEXT_MULTILINE)
+ props, "race_info", _("Race Desc"), obs.OBS_TEXT_MULTILINE)
obs.obs_property_set_enabled(p, False)
diff --git a/src/scripting/timer_scripting.py b/src/scripting/timer_scripting.py
index e6624b7..6cd02be 100644
--- a/src/scripting/timer_scripting.py
+++ b/src/scripting/timer_scripting.py
@@ -1,3 +1,6 @@
+import gettext
+import os
+
import obspython as obs
from rtgg_obs import RacetimeObs
@@ -22,23 +25,28 @@ def script_update_timer_settings(
def script_timer_settings(props, rtgg_obs: RacetimeObs):
+ lang = gettext.translation(
+ "racetime-obs", localedir=os.environ['LOCALEDIR'])
+ _ = lang.gettext
+
p = obs.obs_properties_add_bool(
- props, "use_podium", "Use custom color for podium finishes?")
+ props, "use_podium", _("Use custom color for podium finishes?"))
obs.obs_property_set_modified_callback(p, podium_toggled)
podium_group = obs.obs_properties_create()
obs.obs_properties_add_group(
- props, "podium_group", "Podium Colors",
+ props, "podium_group", _("Podium Colors"),
obs.OBS_GROUP_NORMAL, podium_group
)
obs.obs_property_set_visible(obs.obs_properties_get(
props, "podium_group"), rtgg_obs.timer.use_podium_colors)
- obs.obs_properties_add_color(podium_group, "pre_color", "Pre-race:")
- obs.obs_properties_add_color(podium_group, "racing_color", "Still racing:")
- obs.obs_properties_add_color(podium_group, "first_color", "1st place:")
- obs.obs_properties_add_color(podium_group, "second_color", "2nd place:")
- obs.obs_properties_add_color(podium_group, "third_color", "3rd place:")
+ obs.obs_properties_add_color(podium_group, "pre_color", _("Pre-race:"))
+ obs.obs_properties_add_color(
+ podium_group, "racing_color", _("Still racing:"))
+ obs.obs_properties_add_color(podium_group, "first_color", _("1st place:"))
+ obs.obs_properties_add_color(podium_group, "second_color", _("2nd place:"))
+ obs.obs_properties_add_color(podium_group, "third_color", _("3rd place:"))
obs.obs_properties_add_color(
- podium_group, "finished_color", "After podium:")
+ podium_group, "finished_color", _("After podium:"))
def podium_toggled(props, prop, settings):
From 9aba8d3f9310086638826cdf97ac06659ea2fa53 Mon Sep 17 00:00:00 2001
From: oro <69113632+ssbm-oro@users.noreply.github.com>
Date: Mon, 28 Dec 2020 21:53:25 -0500
Subject: [PATCH 2/8] Update create-release.yml
copy+paste code didn't work
---
.github/workflows/create-release.yml | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml
index 514adbb..2ce9083 100644
--- a/.github/workflows/create-release.yml
+++ b/.github/workflows/create-release.yml
@@ -22,9 +22,8 @@ jobs:
id: tag_data
- name: msgfmt
uses: whtsky/msgfmt-action@20190305
- env = {
- WORKDIR = "src/locales"
- }
+ env:
+ WORKDIR: src/locales
- name: Build project # This would actually build your project, using zip for an example artifact
id: build
run: |
From 3a44d127b1b260b3931cf0415a61af5e8ac2a24c Mon Sep 17 00:00:00 2001
From: ssbmoro <69113632+ssbm-oro@users.noreply.github.com>
Date: Mon, 28 Dec 2020 22:02:38 -0500
Subject: [PATCH 3/8] fixed type in description
---
src/locales/de/LC_MESSAGES/racetime-obs.po | 170 ++++++++++---------
src/locales/en/LC_MESSAGES/racetime-obs.po | 170 ++++++++++---------
src/locales/es/LC_MESSAGES/racetime-obs.po | 186 ++++++++++-----------
src/locales/fr/LC_MESSAGES/racetime-obs.po | 170 ++++++++++---------
src/locales/pt/LC_MESSAGES/racetime-obs.po | 170 ++++++++++---------
src/racetime_obs.py | 2 +-
6 files changed, 457 insertions(+), 411 deletions(-)
diff --git a/src/locales/de/LC_MESSAGES/racetime-obs.po b/src/locales/de/LC_MESSAGES/racetime-obs.po
index 737a844..1027259 100644
--- a/src/locales/de/LC_MESSAGES/racetime-obs.po
+++ b/src/locales/de/LC_MESSAGES/racetime-obs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-12-28 15:48-0500\n"
+"POT-Creation-Date: 2020-12-28 21:58-0500\n"
"PO-Revision-Date: 2020-12-28 15:51-0500\n"
"Last-Translator: FULL NAME \n"
"Language: de\n"
@@ -18,300 +18,312 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
-#: src/racetime_client.py:17 src/rtgg_obs.py:24
+#: src/racetime_client.py:22 src/rtgg_obs.py:24
msgid ""
"You've loaded the incorrect script.
Please remove this fileand "
"add 'racetime_obs.py' instead
"
msgstr ""
-#: src/racetime_obs.py:20
+#: src/racetime_obs.py:26
msgid ""
-"Select a text source to use as your timer and enter yourfull username on "
-"racetime.gg (including discriminator). This only needs to be done once."
+"Select a text source to use as your timer and enter your full username on"
+" racetime.gg (including discriminator). This only needs to be done once."
"\n"
"\n"
"Then select the race room each race you join and stop worrying about "
"whether you started your timer or not."
msgstr ""
-#: src/racetime_obs.py:40 src/racetime_obs.py:75 src/racetime_obs.py:121
-#: src/scripting/__init__.py:33
-msgid "None"
-msgstr ""
-
-#: src/racetime_obs.py:74
+#: src/racetime_obs.py:81
msgid "Race info"
msgstr ""
-#: src/racetime_obs.py:86
+#: src/racetime_obs.py:103
msgid "Refresh"
msgstr ""
-#: src/racetime_obs.py:139
+#: src/racetime_obs.py:157
msgid "Race not found"
msgstr ""
-#: src/scripting/__init__.py:31
+#: src/scripting/__init__.py:33
msgid "All"
msgstr ""
-#: src/scripting/coop_scripting.py:12
+#: src/scripting/__init__.py:35
+msgid "None"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:15
msgid "Display coop information?"
msgstr ""
-#: src/scripting/coop_scripting.py:16
+#: src/scripting/coop_scripting.py:19
msgid "Co-op Mode"
msgstr ""
-#: src/scripting/coop_scripting.py:21
+#: src/scripting/coop_scripting.py:24
msgid "Co-op Partner"
msgstr ""
-#: src/scripting/coop_scripting.py:25
+#: src/scripting/coop_scripting.py:28
msgid "Co-op Rival 1"
msgstr ""
-#: src/scripting/coop_scripting.py:29
+#: src/scripting/coop_scripting.py:32
msgid "Co-op Rival 2"
msgstr ""
-#: src/scripting/coop_scripting.py:34
+#: src/scripting/coop_scripting.py:37
msgid "Our Team's Timer"
msgstr ""
-#: src/scripting/coop_scripting.py:38
+#: src/scripting/coop_scripting.py:41
msgid "This text source will display your team's timer when you finish."
msgstr ""
-#: src/scripting/coop_scripting.py:45
+#: src/scripting/coop_scripting.py:48
msgid ""
"This text source will be use to display your rival's timer when they "
"finish"
msgstr ""
-#: src/scripting/coop_scripting.py:50
+#: src/scripting/coop_scripting.py:53
msgid "Winner Color:"
msgstr ""
-#: src/scripting/coop_scripting.py:52
+#: src/scripting/coop_scripting.py:55
msgid "Loser Color:"
msgstr ""
-#: src/scripting/coop_scripting.py:54
+#: src/scripting/coop_scripting.py:57
msgid "Winner Undetermined Color"
msgstr ""
-#: src/scripting/media_player_scripting.py:32
+#: src/scripting/media_player_scripting.py:37
msgid "Enable sounds?"
msgstr ""
-#: src/scripting/media_player_scripting.py:37
+#: src/scripting/media_player_scripting.py:42
msgid "Media Player Mode"
msgstr ""
-#: src/scripting/media_player_scripting.py:45
-#: src/scripting/media_trigger_scripting.py:34
+#: src/scripting/media_player_scripting.py:50
+#: src/scripting/media_trigger_scripting.py:37
msgid "Monitoring Type"
msgstr ""
-#: src/scripting/media_player_scripting.py:48
+#: src/scripting/media_player_scripting.py:53
msgid "Listen Only"
msgstr ""
-#: src/scripting/media_player_scripting.py:52
+#: src/scripting/media_player_scripting.py:57
msgid "Stream Only"
msgstr ""
-#: src/scripting/media_player_scripting.py:54
-#: src/scripting/media_trigger_scripting.py:41
+#: src/scripting/media_player_scripting.py:59
+#: src/scripting/media_trigger_scripting.py:44
msgid "Listen and Stream"
msgstr ""
-#: src/scripting/media_player_scripting.py:57
+#: src/scripting/media_player_scripting.py:62
msgid "Chat Pings"
msgstr ""
-#: src/scripting/media_player_scripting.py:59
+#: src/scripting/media_player_scripting.py:64
msgid ""
"Enable this and set choose a sound file to play when a bot posts or when "
"someone @s you in racetime.gg chat"
msgstr ""
-#: src/scripting/media_player_scripting.py:64
+#: src/scripting/media_player_scripting.py:69
msgid "Chat media file"
msgstr ""
-#: src/scripting/media_player_scripting.py:69
+#: src/scripting/media_player_scripting.py:74
msgid "First Place Sound"
msgstr ""
-#: src/scripting/media_player_scripting.py:73
+#: src/scripting/media_player_scripting.py:78
msgid "Sound file to play when you finish first."
msgstr ""
-#: src/scripting/media_trigger_scripting.py:13
+#: src/scripting/media_trigger_scripting.py:16
msgid "Media Trigger #"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:22
+#: src/scripting/media_trigger_scripting.py:25
msgid "Sound File"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:26
+#: src/scripting/media_trigger_scripting.py:29
msgid "Type of Trigger"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:29
+#: src/scripting/media_trigger_scripting.py:32
msgid "Chat"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:30
+#: src/scripting/media_trigger_scripting.py:33
msgid "Finish Place"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:31
+#: src/scripting/media_trigger_scripting.py:34
msgid "Timer"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:37
+#: src/scripting/media_trigger_scripting.py:40
msgid "Only Listen"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:39
+#: src/scripting/media_trigger_scripting.py:42
msgid "Only Stream"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:49
+#: src/scripting/media_trigger_scripting.py:56
msgid "Bot?"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:51
+#: src/scripting/media_trigger_scripting.py:58
msgid "Highlighted?"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:53
+#: src/scripting/media_trigger_scripting.py:60
msgid "System?"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:61
+#: src/scripting/media_trigger_scripting.py:72
msgid "Finish Place <="
msgstr ""
-#: src/scripting/media_trigger_scripting.py:64
+#: src/scripting/media_trigger_scripting.py:75
msgid "Num. Entrants >="
msgstr ""
-#: src/scripting/media_trigger_scripting.py:70
+#: src/scripting/media_trigger_scripting.py:85
msgid "Start playing at "
msgstr ""
-#: src/scripting/qualifier_scripting.py:13
+#: src/scripting/qualifier_scripting.py:16
msgid "Display race results as tournament qualifier?"
msgstr ""
-#: src/scripting/qualifier_scripting.py:18
+#: src/scripting/qualifier_scripting.py:21
msgid "Qualifier Mode"
msgstr ""
-#: src/scripting/qualifier_scripting.py:27
+#: src/scripting/qualifier_scripting.py:30
msgid "Use Top X as par time, where X="
msgstr ""
-#: src/scripting/qualifier_scripting.py:32
+#: src/scripting/qualifier_scripting.py:35
msgid "Qualifier Par Time Source"
msgstr ""
-#: src/scripting/qualifier_scripting.py:40
+#: src/scripting/qualifier_scripting.py:43
msgid "Qualifier Score Source"
msgstr ""
-#: src/scripting/setup_scripting.py:22
+#: src/scripting/setup_scripting.py:25
msgid "Initial setup - Check to make changes"
msgstr ""
-#: src/scripting/setup_scripting.py:26
+#: src/scripting/setup_scripting.py:29
msgid "Text Source"
msgstr ""
-#: src/scripting/setup_scripting.py:31
+#: src/scripting/setup_scripting.py:34
msgid "Username"
msgstr ""
-#: src/scripting/setup_scripting.py:33
+#: src/scripting/setup_scripting.py:36
msgid "Enable logging"
msgstr ""
-#: src/scripting/setup_scripting.py:35
+#: src/scripting/setup_scripting.py:38
msgid "Log level"
msgstr ""
-#: src/scripting/setup_scripting.py:38
+#: src/scripting/setup_scripting.py:41
msgid "Error"
msgstr ""
-#: src/scripting/setup_scripting.py:39
+#: src/scripting/setup_scripting.py:42
msgid "Debug"
msgstr ""
-#: src/scripting/setup_scripting.py:40
+#: src/scripting/setup_scripting.py:43
msgid "Info"
msgstr ""
-#: src/scripting/setup_scripting.py:42
+#: src/scripting/setup_scripting.py:45
msgid ""
"Generally, only log errors unless you are developing or are trying to "
"find a specific problem."
msgstr ""
-#: src/scripting/setup_scripting.py:46
+#: src/scripting/setup_scripting.py:49
msgid "Log to file?"
msgstr ""
-#: src/scripting/setup_scripting.py:48
+#: src/scripting/setup_scripting.py:51
msgid "Log File"
msgstr ""
-#: src/scripting/setup_scripting.py:52
+#: src/scripting/setup_scripting.py:55
msgid "Filter by Category"
msgstr ""
-#: src/scripting/setup_scripting.py:56
+#: src/scripting/setup_scripting.py:59
msgid "Race"
msgstr ""
-#: src/scripting/setup_scripting.py:66
+#: src/scripting/setup_scripting.py:69
msgid "Race Desc"
msgstr ""
-#: src/scripting/timer_scripting.py:30
+#: src/scripting/timer_scripting.py:33
msgid "Use custom color for podium finishes?"
msgstr ""
-#: src/scripting/timer_scripting.py:34
+#: src/scripting/timer_scripting.py:37
msgid "Podium Colors"
msgstr ""
-#: src/scripting/timer_scripting.py:39
+#: src/scripting/timer_scripting.py:42
msgid "Pre-race:"
msgstr ""
-#: src/scripting/timer_scripting.py:41
+#: src/scripting/timer_scripting.py:44
msgid "Still racing:"
msgstr ""
-#: src/scripting/timer_scripting.py:42
+#: src/scripting/timer_scripting.py:45
msgid "1st place:"
msgstr ""
-#: src/scripting/timer_scripting.py:43
+#: src/scripting/timer_scripting.py:46
msgid "2nd place:"
msgstr ""
-#: src/scripting/timer_scripting.py:44
+#: src/scripting/timer_scripting.py:47
msgid "3rd place:"
msgstr ""
-#: src/scripting/timer_scripting.py:46
+#: src/scripting/timer_scripting.py:49
msgid "After podium:"
msgstr ""
+#~ msgid ""
+#~ "Select a text source to use as "
+#~ "your timer and enter yourfull username"
+#~ " on racetime.gg (including discriminator). "
+#~ "This only needs to be done once."
+#~ "\n"
+#~ "\n"
+#~ "Then select the race room each "
+#~ "race you join and stop worrying "
+#~ "about whether you started your timer "
+#~ "or not."
+#~ msgstr ""
+
diff --git a/src/locales/en/LC_MESSAGES/racetime-obs.po b/src/locales/en/LC_MESSAGES/racetime-obs.po
index 3aee982..50a1b66 100644
--- a/src/locales/en/LC_MESSAGES/racetime-obs.po
+++ b/src/locales/en/LC_MESSAGES/racetime-obs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-12-28 15:48-0500\n"
+"POT-Creation-Date: 2020-12-28 21:58-0500\n"
"PO-Revision-Date: 2020-12-28 15:50-0500\n"
"Last-Translator: FULL NAME \n"
"Language: en\n"
@@ -18,300 +18,312 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
-#: src/racetime_client.py:17 src/rtgg_obs.py:24
+#: src/racetime_client.py:22 src/rtgg_obs.py:24
msgid ""
"You've loaded the incorrect script.
Please remove this fileand "
"add 'racetime_obs.py' instead
"
msgstr ""
-#: src/racetime_obs.py:20
+#: src/racetime_obs.py:26
msgid ""
-"Select a text source to use as your timer and enter yourfull username on "
-"racetime.gg (including discriminator). This only needs to be done once."
+"Select a text source to use as your timer and enter your full username on"
+" racetime.gg (including discriminator). This only needs to be done once."
"\n"
"\n"
"Then select the race room each race you join and stop worrying about "
"whether you started your timer or not."
msgstr ""
-#: src/racetime_obs.py:40 src/racetime_obs.py:75 src/racetime_obs.py:121
-#: src/scripting/__init__.py:33
-msgid "None"
-msgstr ""
-
-#: src/racetime_obs.py:74
+#: src/racetime_obs.py:81
msgid "Race info"
msgstr ""
-#: src/racetime_obs.py:86
+#: src/racetime_obs.py:103
msgid "Refresh"
msgstr ""
-#: src/racetime_obs.py:139
+#: src/racetime_obs.py:157
msgid "Race not found"
msgstr ""
-#: src/scripting/__init__.py:31
+#: src/scripting/__init__.py:33
msgid "All"
msgstr ""
-#: src/scripting/coop_scripting.py:12
+#: src/scripting/__init__.py:35
+msgid "None"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:15
msgid "Display coop information?"
msgstr ""
-#: src/scripting/coop_scripting.py:16
+#: src/scripting/coop_scripting.py:19
msgid "Co-op Mode"
msgstr ""
-#: src/scripting/coop_scripting.py:21
+#: src/scripting/coop_scripting.py:24
msgid "Co-op Partner"
msgstr ""
-#: src/scripting/coop_scripting.py:25
+#: src/scripting/coop_scripting.py:28
msgid "Co-op Rival 1"
msgstr ""
-#: src/scripting/coop_scripting.py:29
+#: src/scripting/coop_scripting.py:32
msgid "Co-op Rival 2"
msgstr ""
-#: src/scripting/coop_scripting.py:34
+#: src/scripting/coop_scripting.py:37
msgid "Our Team's Timer"
msgstr ""
-#: src/scripting/coop_scripting.py:38
+#: src/scripting/coop_scripting.py:41
msgid "This text source will display your team's timer when you finish."
msgstr ""
-#: src/scripting/coop_scripting.py:45
+#: src/scripting/coop_scripting.py:48
msgid ""
"This text source will be use to display your rival's timer when they "
"finish"
msgstr ""
-#: src/scripting/coop_scripting.py:50
+#: src/scripting/coop_scripting.py:53
msgid "Winner Color:"
msgstr ""
-#: src/scripting/coop_scripting.py:52
+#: src/scripting/coop_scripting.py:55
msgid "Loser Color:"
msgstr ""
-#: src/scripting/coop_scripting.py:54
+#: src/scripting/coop_scripting.py:57
msgid "Winner Undetermined Color"
msgstr ""
-#: src/scripting/media_player_scripting.py:32
+#: src/scripting/media_player_scripting.py:37
msgid "Enable sounds?"
msgstr ""
-#: src/scripting/media_player_scripting.py:37
+#: src/scripting/media_player_scripting.py:42
msgid "Media Player Mode"
msgstr ""
-#: src/scripting/media_player_scripting.py:45
-#: src/scripting/media_trigger_scripting.py:34
+#: src/scripting/media_player_scripting.py:50
+#: src/scripting/media_trigger_scripting.py:37
msgid "Monitoring Type"
msgstr ""
-#: src/scripting/media_player_scripting.py:48
+#: src/scripting/media_player_scripting.py:53
msgid "Listen Only"
msgstr ""
-#: src/scripting/media_player_scripting.py:52
+#: src/scripting/media_player_scripting.py:57
msgid "Stream Only"
msgstr ""
-#: src/scripting/media_player_scripting.py:54
-#: src/scripting/media_trigger_scripting.py:41
+#: src/scripting/media_player_scripting.py:59
+#: src/scripting/media_trigger_scripting.py:44
msgid "Listen and Stream"
msgstr ""
-#: src/scripting/media_player_scripting.py:57
+#: src/scripting/media_player_scripting.py:62
msgid "Chat Pings"
msgstr ""
-#: src/scripting/media_player_scripting.py:59
+#: src/scripting/media_player_scripting.py:64
msgid ""
"Enable this and set choose a sound file to play when a bot posts or when "
"someone @s you in racetime.gg chat"
msgstr ""
-#: src/scripting/media_player_scripting.py:64
+#: src/scripting/media_player_scripting.py:69
msgid "Chat media file"
msgstr ""
-#: src/scripting/media_player_scripting.py:69
+#: src/scripting/media_player_scripting.py:74
msgid "First Place Sound"
msgstr ""
-#: src/scripting/media_player_scripting.py:73
+#: src/scripting/media_player_scripting.py:78
msgid "Sound file to play when you finish first."
msgstr ""
-#: src/scripting/media_trigger_scripting.py:13
+#: src/scripting/media_trigger_scripting.py:16
msgid "Media Trigger #"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:22
+#: src/scripting/media_trigger_scripting.py:25
msgid "Sound File"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:26
+#: src/scripting/media_trigger_scripting.py:29
msgid "Type of Trigger"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:29
+#: src/scripting/media_trigger_scripting.py:32
msgid "Chat"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:30
+#: src/scripting/media_trigger_scripting.py:33
msgid "Finish Place"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:31
+#: src/scripting/media_trigger_scripting.py:34
msgid "Timer"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:37
+#: src/scripting/media_trigger_scripting.py:40
msgid "Only Listen"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:39
+#: src/scripting/media_trigger_scripting.py:42
msgid "Only Stream"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:49
+#: src/scripting/media_trigger_scripting.py:56
msgid "Bot?"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:51
+#: src/scripting/media_trigger_scripting.py:58
msgid "Highlighted?"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:53
+#: src/scripting/media_trigger_scripting.py:60
msgid "System?"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:61
+#: src/scripting/media_trigger_scripting.py:72
msgid "Finish Place <="
msgstr ""
-#: src/scripting/media_trigger_scripting.py:64
+#: src/scripting/media_trigger_scripting.py:75
msgid "Num. Entrants >="
msgstr ""
-#: src/scripting/media_trigger_scripting.py:70
+#: src/scripting/media_trigger_scripting.py:85
msgid "Start playing at "
msgstr ""
-#: src/scripting/qualifier_scripting.py:13
+#: src/scripting/qualifier_scripting.py:16
msgid "Display race results as tournament qualifier?"
msgstr ""
-#: src/scripting/qualifier_scripting.py:18
+#: src/scripting/qualifier_scripting.py:21
msgid "Qualifier Mode"
msgstr ""
-#: src/scripting/qualifier_scripting.py:27
+#: src/scripting/qualifier_scripting.py:30
msgid "Use Top X as par time, where X="
msgstr ""
-#: src/scripting/qualifier_scripting.py:32
+#: src/scripting/qualifier_scripting.py:35
msgid "Qualifier Par Time Source"
msgstr ""
-#: src/scripting/qualifier_scripting.py:40
+#: src/scripting/qualifier_scripting.py:43
msgid "Qualifier Score Source"
msgstr ""
-#: src/scripting/setup_scripting.py:22
+#: src/scripting/setup_scripting.py:25
msgid "Initial setup - Check to make changes"
msgstr ""
-#: src/scripting/setup_scripting.py:26
+#: src/scripting/setup_scripting.py:29
msgid "Text Source"
msgstr ""
-#: src/scripting/setup_scripting.py:31
+#: src/scripting/setup_scripting.py:34
msgid "Username"
msgstr ""
-#: src/scripting/setup_scripting.py:33
+#: src/scripting/setup_scripting.py:36
msgid "Enable logging"
msgstr ""
-#: src/scripting/setup_scripting.py:35
+#: src/scripting/setup_scripting.py:38
msgid "Log level"
msgstr ""
-#: src/scripting/setup_scripting.py:38
+#: src/scripting/setup_scripting.py:41
msgid "Error"
msgstr ""
-#: src/scripting/setup_scripting.py:39
+#: src/scripting/setup_scripting.py:42
msgid "Debug"
msgstr ""
-#: src/scripting/setup_scripting.py:40
+#: src/scripting/setup_scripting.py:43
msgid "Info"
msgstr ""
-#: src/scripting/setup_scripting.py:42
+#: src/scripting/setup_scripting.py:45
msgid ""
"Generally, only log errors unless you are developing or are trying to "
"find a specific problem."
msgstr ""
-#: src/scripting/setup_scripting.py:46
+#: src/scripting/setup_scripting.py:49
msgid "Log to file?"
msgstr ""
-#: src/scripting/setup_scripting.py:48
+#: src/scripting/setup_scripting.py:51
msgid "Log File"
msgstr ""
-#: src/scripting/setup_scripting.py:52
+#: src/scripting/setup_scripting.py:55
msgid "Filter by Category"
msgstr ""
-#: src/scripting/setup_scripting.py:56
+#: src/scripting/setup_scripting.py:59
msgid "Race"
msgstr ""
-#: src/scripting/setup_scripting.py:66
+#: src/scripting/setup_scripting.py:69
msgid "Race Desc"
msgstr ""
-#: src/scripting/timer_scripting.py:30
+#: src/scripting/timer_scripting.py:33
msgid "Use custom color for podium finishes?"
msgstr ""
-#: src/scripting/timer_scripting.py:34
+#: src/scripting/timer_scripting.py:37
msgid "Podium Colors"
msgstr ""
-#: src/scripting/timer_scripting.py:39
+#: src/scripting/timer_scripting.py:42
msgid "Pre-race:"
msgstr ""
-#: src/scripting/timer_scripting.py:41
+#: src/scripting/timer_scripting.py:44
msgid "Still racing:"
msgstr ""
-#: src/scripting/timer_scripting.py:42
+#: src/scripting/timer_scripting.py:45
msgid "1st place:"
msgstr ""
-#: src/scripting/timer_scripting.py:43
+#: src/scripting/timer_scripting.py:46
msgid "2nd place:"
msgstr ""
-#: src/scripting/timer_scripting.py:44
+#: src/scripting/timer_scripting.py:47
msgid "3rd place:"
msgstr ""
-#: src/scripting/timer_scripting.py:46
+#: src/scripting/timer_scripting.py:49
msgid "After podium:"
msgstr ""
+#~ msgid ""
+#~ "Select a text source to use as "
+#~ "your timer and enter yourfull username"
+#~ " on racetime.gg (including discriminator). "
+#~ "This only needs to be done once."
+#~ "\n"
+#~ "\n"
+#~ "Then select the race room each "
+#~ "race you join and stop worrying "
+#~ "about whether you started your timer "
+#~ "or not."
+#~ msgstr ""
+
diff --git a/src/locales/es/LC_MESSAGES/racetime-obs.po b/src/locales/es/LC_MESSAGES/racetime-obs.po
index 39e6055..77b976e 100644
--- a/src/locales/es/LC_MESSAGES/racetime-obs.po
+++ b/src/locales/es/LC_MESSAGES/racetime-obs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-12-28 15:48-0500\n"
+"POT-Creation-Date: 2020-12-28 21:58-0500\n"
"PO-Revision-Date: 2020-12-28 16:01-0500\n"
"Last-Translator: FULL NAME \n"
"Language: es\n"
@@ -18,260 +18,258 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
-#: src/racetime_client.py:17 src/rtgg_obs.py:24
+#: src/racetime_client.py:22 src/rtgg_obs.py:24
msgid ""
"You've loaded the incorrect script.
Please remove this fileand "
"add 'racetime_obs.py' instead
"
msgstr ""
-"Cargó la secuencia de comandos incorrecta.
Elimine este archivo "
-"y agregue 'racetime_obs.py' en su lugar
"
+"Cargó la secuencia de comandos incorrecta.
Elimine este "
+"archivo y agregue 'racetime_obs.py' en su lugar
"
-#: src/racetime_obs.py:20
+#: src/racetime_obs.py:26
+#, fuzzy
msgid ""
-"Select a text source to use as your timer and enter yourfull username on "
-"racetime.gg (including discriminator). This only needs to be done once."
+"Select a text source to use as your timer and enter your full username on"
+" racetime.gg (including discriminator). This only needs to be done once."
"\n"
"\n"
"Then select the race room each race you join and stop worrying about "
"whether you started your timer or not."
msgstr ""
-"Seleccione una fuente de texto para usar como su temporizador e ingrese su nombre de usuario completo en"
-"racetime.gg (incluido el discriminador). Esto solo debe hacerse una vez."
+"Seleccione una fuente de texto para usar como su temporizador e ingrese "
+"su nombre de usuario completo enracetime.gg (incluido el discriminador). "
+"Esto solo debe hacerse una vez.\n"
"\n"
-"\n"
-"Luego, selecciona la sala de carreras en cada carrera a la que te unes y deja de preocuparte"
-"ya sea que haya iniciado el temporizador o no."
-
-#: src/racetime_obs.py:40 src/racetime_obs.py:75 src/racetime_obs.py:121
-#: src/scripting/__init__.py:33
-msgid "None"
-msgstr "Ninguna"
+"Luego, selecciona la sala de carreras en cada carrera a la que te unes y "
+"deja de preocuparteya sea que haya iniciado el temporizador o no."
-#: src/racetime_obs.py:74
+#: src/racetime_obs.py:81
msgid "Race info"
msgstr "Info de carrera"
-#: src/racetime_obs.py:86
+#: src/racetime_obs.py:103
msgid "Refresh"
msgstr "Actualizar"
-#: src/racetime_obs.py:139
+#: src/racetime_obs.py:157
msgid "Race not found"
msgstr "Carrera no encontrada"
-#: src/scripting/__init__.py:31
+#: src/scripting/__init__.py:33
msgid "All"
msgstr "Todos"
-#: src/scripting/coop_scripting.py:12
+#: src/scripting/__init__.py:35
+msgid "None"
+msgstr "Ninguna"
+
+#: src/scripting/coop_scripting.py:15
msgid "Display coop information?"
msgstr "¿Mostrar información de la cooperativa?"
-#: src/scripting/coop_scripting.py:16
+#: src/scripting/coop_scripting.py:19
msgid "Co-op Mode"
msgstr "Modo cooperativo"
-#: src/scripting/coop_scripting.py:21
+#: src/scripting/coop_scripting.py:24
msgid "Co-op Partner"
msgstr "Socio cooperativo"
-#: src/scripting/coop_scripting.py:25
+#: src/scripting/coop_scripting.py:28
msgid "Co-op Rival 1"
msgstr ""
-#: src/scripting/coop_scripting.py:29
+#: src/scripting/coop_scripting.py:32
msgid "Co-op Rival 2"
msgstr ""
-#: src/scripting/coop_scripting.py:34
+#: src/scripting/coop_scripting.py:37
msgid "Our Team's Timer"
msgstr "Temporizador de nuestro equipo"
-#: src/scripting/coop_scripting.py:38
+#: src/scripting/coop_scripting.py:41
msgid "This text source will display your team's timer when you finish."
-msgstr ""
-"Esta fuente de texto mostrará el cronómetro de tu equipo cuando termines."
+msgstr "Esta fuente de texto mostrará el cronómetro de tu equipo cuando termines."
-#: src/scripting/coop_scripting.py:45
+#: src/scripting/coop_scripting.py:48
msgid ""
"This text source will be use to display your rival's timer when they "
"finish"
msgstr ""
-"Esta fuente de texto se utilizará para mostrar el temporizador de tu rival "
-"cuando termine"
+"Esta fuente de texto se utilizará para mostrar el temporizador de tu "
+"rival cuando termine"
-#: src/scripting/coop_scripting.py:50
+#: src/scripting/coop_scripting.py:53
msgid "Winner Color:"
msgstr "Color del ganador"
-#: src/scripting/coop_scripting.py:52
+#: src/scripting/coop_scripting.py:55
msgid "Loser Color:"
msgstr "Color del perdedor"
-#: src/scripting/coop_scripting.py:54
+#: src/scripting/coop_scripting.py:57
msgid "Winner Undetermined Color"
msgstr "Color del ganador indeterminado"
-#: src/scripting/media_player_scripting.py:32
+#: src/scripting/media_player_scripting.py:37
msgid "Enable sounds?"
msgstr "¿Activar sonidos?"
-#: src/scripting/media_player_scripting.py:37
+#: src/scripting/media_player_scripting.py:42
msgid "Media Player Mode"
msgstr "Modo de reproductor multimedia"
-#: src/scripting/media_player_scripting.py:45
-#: src/scripting/media_trigger_scripting.py:34
+#: src/scripting/media_player_scripting.py:50
+#: src/scripting/media_trigger_scripting.py:37
msgid "Monitoring Type"
msgstr "Tipo de monitorización"
-#: src/scripting/media_player_scripting.py:48
+#: src/scripting/media_player_scripting.py:53
msgid "Listen Only"
msgstr "Escuchar solo"
-#: src/scripting/media_player_scripting.py:52
+#: src/scripting/media_player_scripting.py:57
msgid "Stream Only"
msgstr "Solo transmitir"
-#: src/scripting/media_player_scripting.py:54
-#: src/scripting/media_trigger_scripting.py:41
+#: src/scripting/media_player_scripting.py:59
+#: src/scripting/media_trigger_scripting.py:44
msgid "Listen and Stream"
msgstr "Escuchar y transmitir"
-#: src/scripting/media_player_scripting.py:57
+#: src/scripting/media_player_scripting.py:62
msgid "Chat Pings"
msgstr "Pings de chat"
-#: src/scripting/media_player_scripting.py:59
+#: src/scripting/media_player_scripting.py:64
msgid ""
"Enable this and set choose a sound file to play when a bot posts or when "
"someone @s you in racetime.gg chat"
msgstr ""
-"Habilite esto y configure elija un archivo de sonido para reproducir cuando "
-"un bot publique o cuando alguien lo @ en el chat racetime.gg"
+"Habilite esto y configure elija un archivo de sonido para reproducir "
+"cuando un bot publique o cuando alguien lo @ en el chat racetime.gg"
-#: src/scripting/media_player_scripting.py:64
+#: src/scripting/media_player_scripting.py:69
msgid "Chat media file"
msgstr "Archivo multimedia de chat"
-#: src/scripting/media_player_scripting.py:69
+#: src/scripting/media_player_scripting.py:74
msgid "First Place Sound"
msgstr "Sonido de primer lugar"
-#: src/scripting/media_player_scripting.py:73
+#: src/scripting/media_player_scripting.py:78
msgid "Sound file to play when you finish first."
msgstr "Archivo de sonido para reproducir cuando termines primero."
-#: src/scripting/media_trigger_scripting.py:13
+#: src/scripting/media_trigger_scripting.py:16
msgid "Media Trigger #"
msgstr "Activador de medios #"
-#: src/scripting/media_trigger_scripting.py:22
+#: src/scripting/media_trigger_scripting.py:25
msgid "Sound File"
msgstr "Archivo de sonido"
-#: src/scripting/media_trigger_scripting.py:26
+#: src/scripting/media_trigger_scripting.py:29
msgid "Type of Trigger"
msgstr "Tipo de disparador"
-#: src/scripting/media_trigger_scripting.py:29
+#: src/scripting/media_trigger_scripting.py:32
msgid "Chat"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:30
+#: src/scripting/media_trigger_scripting.py:33
msgid "Finish Place"
msgstr "Lugar de finalización"
-#: src/scripting/media_trigger_scripting.py:31
+#: src/scripting/media_trigger_scripting.py:34
msgid "Timer"
msgstr "Temporizador"
-#: src/scripting/media_trigger_scripting.py:37
+#: src/scripting/media_trigger_scripting.py:40
msgid "Only Listen"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:39
+#: src/scripting/media_trigger_scripting.py:42
msgid "Only Stream"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:49
+#: src/scripting/media_trigger_scripting.py:56
msgid "Bot?"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:51
+#: src/scripting/media_trigger_scripting.py:58
msgid "Highlighted?"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:53
+#: src/scripting/media_trigger_scripting.py:60
msgid "System?"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:61
+#: src/scripting/media_trigger_scripting.py:72
msgid "Finish Place <="
msgstr "Lugar de finalización <="
-#: src/scripting/media_trigger_scripting.py:64
+#: src/scripting/media_trigger_scripting.py:75
msgid "Num. Entrants >="
msgstr "Num. Participantes >="
-#: src/scripting/media_trigger_scripting.py:70
+#: src/scripting/media_trigger_scripting.py:85
msgid "Start playing at "
msgstr "Empieza en"
-#: src/scripting/qualifier_scripting.py:13
+#: src/scripting/qualifier_scripting.py:16
msgid "Display race results as tournament qualifier?"
-msgstr ""
-"¿Mostrar los resultados de la carrera como clasificatorio para el torneo?"
+msgstr "¿Mostrar los resultados de la carrera como clasificatorio para el torneo?"
-#: src/scripting/qualifier_scripting.py:18
+#: src/scripting/qualifier_scripting.py:21
msgid "Qualifier Mode"
msgstr "Modo de calificación"
-#: src/scripting/qualifier_scripting.py:27
+#: src/scripting/qualifier_scripting.py:30
msgid "Use Top X as par time, where X="
msgstr "Utilice Top X como tiempo par, donde X ="
-#: src/scripting/qualifier_scripting.py:32
+#: src/scripting/qualifier_scripting.py:35
msgid "Qualifier Par Time Source"
msgstr "Calificar por fuente de tiempo"
-#: src/scripting/qualifier_scripting.py:40
+#: src/scripting/qualifier_scripting.py:43
msgid "Qualifier Score Source"
msgstr "Fuente de puntuación del calificador"
-#: src/scripting/setup_scripting.py:22
+#: src/scripting/setup_scripting.py:25
msgid "Initial setup - Check to make changes"
msgstr "Configuración inicial: marque para realizar cambios"
-#: src/scripting/setup_scripting.py:26
+#: src/scripting/setup_scripting.py:29
msgid "Text Source"
msgstr "Fuente de texto"
-#: src/scripting/setup_scripting.py:31
+#: src/scripting/setup_scripting.py:34
msgid "Username"
msgstr "Nombre de usuario"
-#: src/scripting/setup_scripting.py:33
+#: src/scripting/setup_scripting.py:36
msgid "Enable logging"
msgstr "Habilitar el registro"
-#: src/scripting/setup_scripting.py:35
+#: src/scripting/setup_scripting.py:38
msgid "Log level"
msgstr "Nivel de registro"
-#: src/scripting/setup_scripting.py:38
+#: src/scripting/setup_scripting.py:41
msgid "Error"
msgstr ""
-#: src/scripting/setup_scripting.py:39
+#: src/scripting/setup_scripting.py:42
msgid "Debug"
msgstr "Depurar"
-#: src/scripting/setup_scripting.py:40
+#: src/scripting/setup_scripting.py:43
msgid "Info"
msgstr ""
-#: src/scripting/setup_scripting.py:42
+#: src/scripting/setup_scripting.py:45
msgid ""
"Generally, only log errors unless you are developing or are trying to "
"find a specific problem."
@@ -279,55 +277,55 @@ msgstr ""
"Por lo general, solo registre errores a menos que esté desarrollando o "
"tratando de encontrar un problema específico."
-#: src/scripting/setup_scripting.py:46
+#: src/scripting/setup_scripting.py:49
msgid "Log to file?"
msgstr "¿Unido al expediente?"
-#: src/scripting/setup_scripting.py:48
+#: src/scripting/setup_scripting.py:51
msgid "Log File"
msgstr "Archivo de registro"
-#: src/scripting/setup_scripting.py:52
+#: src/scripting/setup_scripting.py:55
msgid "Filter by Category"
msgstr "Filtrar por categoría"
-#: src/scripting/setup_scripting.py:56
+#: src/scripting/setup_scripting.py:59
msgid "Race"
msgstr "Carrera"
-#: src/scripting/setup_scripting.py:66
+#: src/scripting/setup_scripting.py:69
msgid "Race Desc"
msgstr "Descripción de la carrera"
-#: src/scripting/timer_scripting.py:30
+#: src/scripting/timer_scripting.py:33
msgid "Use custom color for podium finishes?"
msgstr "¿Usar colores personalizados para los acabados del podio?"
-#: src/scripting/timer_scripting.py:34
+#: src/scripting/timer_scripting.py:37
msgid "Podium Colors"
msgstr "Colores del podio"
-#: src/scripting/timer_scripting.py:39
+#: src/scripting/timer_scripting.py:42
msgid "Pre-race:"
msgstr "Antes de la carrera:"
-#: src/scripting/timer_scripting.py:41
+#: src/scripting/timer_scripting.py:44
msgid "Still racing:"
msgstr "Todavía corriendo:"
-#: src/scripting/timer_scripting.py:42
+#: src/scripting/timer_scripting.py:45
msgid "1st place:"
msgstr "1er lugar"
-#: src/scripting/timer_scripting.py:43
+#: src/scripting/timer_scripting.py:46
msgid "2nd place:"
msgstr "2er lugar"
-#: src/scripting/timer_scripting.py:44
+#: src/scripting/timer_scripting.py:47
msgid "3rd place:"
msgstr "3er lugar"
-#: src/scripting/timer_scripting.py:46
+#: src/scripting/timer_scripting.py:49
msgid "After podium:"
msgstr "Después del podio:"
diff --git a/src/locales/fr/LC_MESSAGES/racetime-obs.po b/src/locales/fr/LC_MESSAGES/racetime-obs.po
index 500b456..371c0cd 100644
--- a/src/locales/fr/LC_MESSAGES/racetime-obs.po
+++ b/src/locales/fr/LC_MESSAGES/racetime-obs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-12-28 15:48-0500\n"
+"POT-Creation-Date: 2020-12-28 21:58-0500\n"
"PO-Revision-Date: 2020-12-28 15:51-0500\n"
"Last-Translator: FULL NAME \n"
"Language: fr\n"
@@ -18,300 +18,312 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
-#: src/racetime_client.py:17 src/rtgg_obs.py:24
+#: src/racetime_client.py:22 src/rtgg_obs.py:24
msgid ""
"You've loaded the incorrect script.
Please remove this fileand "
"add 'racetime_obs.py' instead
"
msgstr ""
-#: src/racetime_obs.py:20
+#: src/racetime_obs.py:26
msgid ""
-"Select a text source to use as your timer and enter yourfull username on "
-"racetime.gg (including discriminator). This only needs to be done once."
+"Select a text source to use as your timer and enter your full username on"
+" racetime.gg (including discriminator). This only needs to be done once."
"\n"
"\n"
"Then select the race room each race you join and stop worrying about "
"whether you started your timer or not."
msgstr ""
-#: src/racetime_obs.py:40 src/racetime_obs.py:75 src/racetime_obs.py:121
-#: src/scripting/__init__.py:33
-msgid "None"
-msgstr ""
-
-#: src/racetime_obs.py:74
+#: src/racetime_obs.py:81
msgid "Race info"
msgstr ""
-#: src/racetime_obs.py:86
+#: src/racetime_obs.py:103
msgid "Refresh"
msgstr ""
-#: src/racetime_obs.py:139
+#: src/racetime_obs.py:157
msgid "Race not found"
msgstr ""
-#: src/scripting/__init__.py:31
+#: src/scripting/__init__.py:33
msgid "All"
msgstr ""
-#: src/scripting/coop_scripting.py:12
+#: src/scripting/__init__.py:35
+msgid "None"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:15
msgid "Display coop information?"
msgstr ""
-#: src/scripting/coop_scripting.py:16
+#: src/scripting/coop_scripting.py:19
msgid "Co-op Mode"
msgstr ""
-#: src/scripting/coop_scripting.py:21
+#: src/scripting/coop_scripting.py:24
msgid "Co-op Partner"
msgstr ""
-#: src/scripting/coop_scripting.py:25
+#: src/scripting/coop_scripting.py:28
msgid "Co-op Rival 1"
msgstr ""
-#: src/scripting/coop_scripting.py:29
+#: src/scripting/coop_scripting.py:32
msgid "Co-op Rival 2"
msgstr ""
-#: src/scripting/coop_scripting.py:34
+#: src/scripting/coop_scripting.py:37
msgid "Our Team's Timer"
msgstr ""
-#: src/scripting/coop_scripting.py:38
+#: src/scripting/coop_scripting.py:41
msgid "This text source will display your team's timer when you finish."
msgstr ""
-#: src/scripting/coop_scripting.py:45
+#: src/scripting/coop_scripting.py:48
msgid ""
"This text source will be use to display your rival's timer when they "
"finish"
msgstr ""
-#: src/scripting/coop_scripting.py:50
+#: src/scripting/coop_scripting.py:53
msgid "Winner Color:"
msgstr ""
-#: src/scripting/coop_scripting.py:52
+#: src/scripting/coop_scripting.py:55
msgid "Loser Color:"
msgstr ""
-#: src/scripting/coop_scripting.py:54
+#: src/scripting/coop_scripting.py:57
msgid "Winner Undetermined Color"
msgstr ""
-#: src/scripting/media_player_scripting.py:32
+#: src/scripting/media_player_scripting.py:37
msgid "Enable sounds?"
msgstr ""
-#: src/scripting/media_player_scripting.py:37
+#: src/scripting/media_player_scripting.py:42
msgid "Media Player Mode"
msgstr ""
-#: src/scripting/media_player_scripting.py:45
-#: src/scripting/media_trigger_scripting.py:34
+#: src/scripting/media_player_scripting.py:50
+#: src/scripting/media_trigger_scripting.py:37
msgid "Monitoring Type"
msgstr ""
-#: src/scripting/media_player_scripting.py:48
+#: src/scripting/media_player_scripting.py:53
msgid "Listen Only"
msgstr ""
-#: src/scripting/media_player_scripting.py:52
+#: src/scripting/media_player_scripting.py:57
msgid "Stream Only"
msgstr ""
-#: src/scripting/media_player_scripting.py:54
-#: src/scripting/media_trigger_scripting.py:41
+#: src/scripting/media_player_scripting.py:59
+#: src/scripting/media_trigger_scripting.py:44
msgid "Listen and Stream"
msgstr ""
-#: src/scripting/media_player_scripting.py:57
+#: src/scripting/media_player_scripting.py:62
msgid "Chat Pings"
msgstr ""
-#: src/scripting/media_player_scripting.py:59
+#: src/scripting/media_player_scripting.py:64
msgid ""
"Enable this and set choose a sound file to play when a bot posts or when "
"someone @s you in racetime.gg chat"
msgstr ""
-#: src/scripting/media_player_scripting.py:64
+#: src/scripting/media_player_scripting.py:69
msgid "Chat media file"
msgstr ""
-#: src/scripting/media_player_scripting.py:69
+#: src/scripting/media_player_scripting.py:74
msgid "First Place Sound"
msgstr ""
-#: src/scripting/media_player_scripting.py:73
+#: src/scripting/media_player_scripting.py:78
msgid "Sound file to play when you finish first."
msgstr ""
-#: src/scripting/media_trigger_scripting.py:13
+#: src/scripting/media_trigger_scripting.py:16
msgid "Media Trigger #"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:22
+#: src/scripting/media_trigger_scripting.py:25
msgid "Sound File"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:26
+#: src/scripting/media_trigger_scripting.py:29
msgid "Type of Trigger"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:29
+#: src/scripting/media_trigger_scripting.py:32
msgid "Chat"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:30
+#: src/scripting/media_trigger_scripting.py:33
msgid "Finish Place"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:31
+#: src/scripting/media_trigger_scripting.py:34
msgid "Timer"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:37
+#: src/scripting/media_trigger_scripting.py:40
msgid "Only Listen"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:39
+#: src/scripting/media_trigger_scripting.py:42
msgid "Only Stream"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:49
+#: src/scripting/media_trigger_scripting.py:56
msgid "Bot?"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:51
+#: src/scripting/media_trigger_scripting.py:58
msgid "Highlighted?"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:53
+#: src/scripting/media_trigger_scripting.py:60
msgid "System?"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:61
+#: src/scripting/media_trigger_scripting.py:72
msgid "Finish Place <="
msgstr ""
-#: src/scripting/media_trigger_scripting.py:64
+#: src/scripting/media_trigger_scripting.py:75
msgid "Num. Entrants >="
msgstr ""
-#: src/scripting/media_trigger_scripting.py:70
+#: src/scripting/media_trigger_scripting.py:85
msgid "Start playing at "
msgstr ""
-#: src/scripting/qualifier_scripting.py:13
+#: src/scripting/qualifier_scripting.py:16
msgid "Display race results as tournament qualifier?"
msgstr ""
-#: src/scripting/qualifier_scripting.py:18
+#: src/scripting/qualifier_scripting.py:21
msgid "Qualifier Mode"
msgstr ""
-#: src/scripting/qualifier_scripting.py:27
+#: src/scripting/qualifier_scripting.py:30
msgid "Use Top X as par time, where X="
msgstr ""
-#: src/scripting/qualifier_scripting.py:32
+#: src/scripting/qualifier_scripting.py:35
msgid "Qualifier Par Time Source"
msgstr ""
-#: src/scripting/qualifier_scripting.py:40
+#: src/scripting/qualifier_scripting.py:43
msgid "Qualifier Score Source"
msgstr ""
-#: src/scripting/setup_scripting.py:22
+#: src/scripting/setup_scripting.py:25
msgid "Initial setup - Check to make changes"
msgstr ""
-#: src/scripting/setup_scripting.py:26
+#: src/scripting/setup_scripting.py:29
msgid "Text Source"
msgstr ""
-#: src/scripting/setup_scripting.py:31
+#: src/scripting/setup_scripting.py:34
msgid "Username"
msgstr ""
-#: src/scripting/setup_scripting.py:33
+#: src/scripting/setup_scripting.py:36
msgid "Enable logging"
msgstr ""
-#: src/scripting/setup_scripting.py:35
+#: src/scripting/setup_scripting.py:38
msgid "Log level"
msgstr ""
-#: src/scripting/setup_scripting.py:38
+#: src/scripting/setup_scripting.py:41
msgid "Error"
msgstr ""
-#: src/scripting/setup_scripting.py:39
+#: src/scripting/setup_scripting.py:42
msgid "Debug"
msgstr ""
-#: src/scripting/setup_scripting.py:40
+#: src/scripting/setup_scripting.py:43
msgid "Info"
msgstr ""
-#: src/scripting/setup_scripting.py:42
+#: src/scripting/setup_scripting.py:45
msgid ""
"Generally, only log errors unless you are developing or are trying to "
"find a specific problem."
msgstr ""
-#: src/scripting/setup_scripting.py:46
+#: src/scripting/setup_scripting.py:49
msgid "Log to file?"
msgstr ""
-#: src/scripting/setup_scripting.py:48
+#: src/scripting/setup_scripting.py:51
msgid "Log File"
msgstr ""
-#: src/scripting/setup_scripting.py:52
+#: src/scripting/setup_scripting.py:55
msgid "Filter by Category"
msgstr ""
-#: src/scripting/setup_scripting.py:56
+#: src/scripting/setup_scripting.py:59
msgid "Race"
msgstr ""
-#: src/scripting/setup_scripting.py:66
+#: src/scripting/setup_scripting.py:69
msgid "Race Desc"
msgstr ""
-#: src/scripting/timer_scripting.py:30
+#: src/scripting/timer_scripting.py:33
msgid "Use custom color for podium finishes?"
msgstr ""
-#: src/scripting/timer_scripting.py:34
+#: src/scripting/timer_scripting.py:37
msgid "Podium Colors"
msgstr ""
-#: src/scripting/timer_scripting.py:39
+#: src/scripting/timer_scripting.py:42
msgid "Pre-race:"
msgstr ""
-#: src/scripting/timer_scripting.py:41
+#: src/scripting/timer_scripting.py:44
msgid "Still racing:"
msgstr ""
-#: src/scripting/timer_scripting.py:42
+#: src/scripting/timer_scripting.py:45
msgid "1st place:"
msgstr ""
-#: src/scripting/timer_scripting.py:43
+#: src/scripting/timer_scripting.py:46
msgid "2nd place:"
msgstr ""
-#: src/scripting/timer_scripting.py:44
+#: src/scripting/timer_scripting.py:47
msgid "3rd place:"
msgstr ""
-#: src/scripting/timer_scripting.py:46
+#: src/scripting/timer_scripting.py:49
msgid "After podium:"
msgstr ""
+#~ msgid ""
+#~ "Select a text source to use as "
+#~ "your timer and enter yourfull username"
+#~ " on racetime.gg (including discriminator). "
+#~ "This only needs to be done once."
+#~ "\n"
+#~ "\n"
+#~ "Then select the race room each "
+#~ "race you join and stop worrying "
+#~ "about whether you started your timer "
+#~ "or not."
+#~ msgstr ""
+
diff --git a/src/locales/pt/LC_MESSAGES/racetime-obs.po b/src/locales/pt/LC_MESSAGES/racetime-obs.po
index b600e86..832d44a 100644
--- a/src/locales/pt/LC_MESSAGES/racetime-obs.po
+++ b/src/locales/pt/LC_MESSAGES/racetime-obs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-12-28 15:48-0500\n"
+"POT-Creation-Date: 2020-12-28 21:58-0500\n"
"PO-Revision-Date: 2020-12-28 15:51-0500\n"
"Last-Translator: FULL NAME \n"
"Language: pt\n"
@@ -18,300 +18,312 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
-#: src/racetime_client.py:17 src/rtgg_obs.py:24
+#: src/racetime_client.py:22 src/rtgg_obs.py:24
msgid ""
"You've loaded the incorrect script.
Please remove this fileand "
"add 'racetime_obs.py' instead
"
msgstr ""
-#: src/racetime_obs.py:20
+#: src/racetime_obs.py:26
msgid ""
-"Select a text source to use as your timer and enter yourfull username on "
-"racetime.gg (including discriminator). This only needs to be done once."
+"Select a text source to use as your timer and enter your full username on"
+" racetime.gg (including discriminator). This only needs to be done once."
"\n"
"\n"
"Then select the race room each race you join and stop worrying about "
"whether you started your timer or not."
msgstr ""
-#: src/racetime_obs.py:40 src/racetime_obs.py:75 src/racetime_obs.py:121
-#: src/scripting/__init__.py:33
-msgid "None"
-msgstr ""
-
-#: src/racetime_obs.py:74
+#: src/racetime_obs.py:81
msgid "Race info"
msgstr ""
-#: src/racetime_obs.py:86
+#: src/racetime_obs.py:103
msgid "Refresh"
msgstr ""
-#: src/racetime_obs.py:139
+#: src/racetime_obs.py:157
msgid "Race not found"
msgstr ""
-#: src/scripting/__init__.py:31
+#: src/scripting/__init__.py:33
msgid "All"
msgstr ""
-#: src/scripting/coop_scripting.py:12
+#: src/scripting/__init__.py:35
+msgid "None"
+msgstr ""
+
+#: src/scripting/coop_scripting.py:15
msgid "Display coop information?"
msgstr ""
-#: src/scripting/coop_scripting.py:16
+#: src/scripting/coop_scripting.py:19
msgid "Co-op Mode"
msgstr ""
-#: src/scripting/coop_scripting.py:21
+#: src/scripting/coop_scripting.py:24
msgid "Co-op Partner"
msgstr ""
-#: src/scripting/coop_scripting.py:25
+#: src/scripting/coop_scripting.py:28
msgid "Co-op Rival 1"
msgstr ""
-#: src/scripting/coop_scripting.py:29
+#: src/scripting/coop_scripting.py:32
msgid "Co-op Rival 2"
msgstr ""
-#: src/scripting/coop_scripting.py:34
+#: src/scripting/coop_scripting.py:37
msgid "Our Team's Timer"
msgstr ""
-#: src/scripting/coop_scripting.py:38
+#: src/scripting/coop_scripting.py:41
msgid "This text source will display your team's timer when you finish."
msgstr ""
-#: src/scripting/coop_scripting.py:45
+#: src/scripting/coop_scripting.py:48
msgid ""
"This text source will be use to display your rival's timer when they "
"finish"
msgstr ""
-#: src/scripting/coop_scripting.py:50
+#: src/scripting/coop_scripting.py:53
msgid "Winner Color:"
msgstr ""
-#: src/scripting/coop_scripting.py:52
+#: src/scripting/coop_scripting.py:55
msgid "Loser Color:"
msgstr ""
-#: src/scripting/coop_scripting.py:54
+#: src/scripting/coop_scripting.py:57
msgid "Winner Undetermined Color"
msgstr ""
-#: src/scripting/media_player_scripting.py:32
+#: src/scripting/media_player_scripting.py:37
msgid "Enable sounds?"
msgstr ""
-#: src/scripting/media_player_scripting.py:37
+#: src/scripting/media_player_scripting.py:42
msgid "Media Player Mode"
msgstr ""
-#: src/scripting/media_player_scripting.py:45
-#: src/scripting/media_trigger_scripting.py:34
+#: src/scripting/media_player_scripting.py:50
+#: src/scripting/media_trigger_scripting.py:37
msgid "Monitoring Type"
msgstr ""
-#: src/scripting/media_player_scripting.py:48
+#: src/scripting/media_player_scripting.py:53
msgid "Listen Only"
msgstr ""
-#: src/scripting/media_player_scripting.py:52
+#: src/scripting/media_player_scripting.py:57
msgid "Stream Only"
msgstr ""
-#: src/scripting/media_player_scripting.py:54
-#: src/scripting/media_trigger_scripting.py:41
+#: src/scripting/media_player_scripting.py:59
+#: src/scripting/media_trigger_scripting.py:44
msgid "Listen and Stream"
msgstr ""
-#: src/scripting/media_player_scripting.py:57
+#: src/scripting/media_player_scripting.py:62
msgid "Chat Pings"
msgstr ""
-#: src/scripting/media_player_scripting.py:59
+#: src/scripting/media_player_scripting.py:64
msgid ""
"Enable this and set choose a sound file to play when a bot posts or when "
"someone @s you in racetime.gg chat"
msgstr ""
-#: src/scripting/media_player_scripting.py:64
+#: src/scripting/media_player_scripting.py:69
msgid "Chat media file"
msgstr ""
-#: src/scripting/media_player_scripting.py:69
+#: src/scripting/media_player_scripting.py:74
msgid "First Place Sound"
msgstr ""
-#: src/scripting/media_player_scripting.py:73
+#: src/scripting/media_player_scripting.py:78
msgid "Sound file to play when you finish first."
msgstr ""
-#: src/scripting/media_trigger_scripting.py:13
+#: src/scripting/media_trigger_scripting.py:16
msgid "Media Trigger #"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:22
+#: src/scripting/media_trigger_scripting.py:25
msgid "Sound File"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:26
+#: src/scripting/media_trigger_scripting.py:29
msgid "Type of Trigger"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:29
+#: src/scripting/media_trigger_scripting.py:32
msgid "Chat"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:30
+#: src/scripting/media_trigger_scripting.py:33
msgid "Finish Place"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:31
+#: src/scripting/media_trigger_scripting.py:34
msgid "Timer"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:37
+#: src/scripting/media_trigger_scripting.py:40
msgid "Only Listen"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:39
+#: src/scripting/media_trigger_scripting.py:42
msgid "Only Stream"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:49
+#: src/scripting/media_trigger_scripting.py:56
msgid "Bot?"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:51
+#: src/scripting/media_trigger_scripting.py:58
msgid "Highlighted?"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:53
+#: src/scripting/media_trigger_scripting.py:60
msgid "System?"
msgstr ""
-#: src/scripting/media_trigger_scripting.py:61
+#: src/scripting/media_trigger_scripting.py:72
msgid "Finish Place <="
msgstr ""
-#: src/scripting/media_trigger_scripting.py:64
+#: src/scripting/media_trigger_scripting.py:75
msgid "Num. Entrants >="
msgstr ""
-#: src/scripting/media_trigger_scripting.py:70
+#: src/scripting/media_trigger_scripting.py:85
msgid "Start playing at "
msgstr ""
-#: src/scripting/qualifier_scripting.py:13
+#: src/scripting/qualifier_scripting.py:16
msgid "Display race results as tournament qualifier?"
msgstr ""
-#: src/scripting/qualifier_scripting.py:18
+#: src/scripting/qualifier_scripting.py:21
msgid "Qualifier Mode"
msgstr ""
-#: src/scripting/qualifier_scripting.py:27
+#: src/scripting/qualifier_scripting.py:30
msgid "Use Top X as par time, where X="
msgstr ""
-#: src/scripting/qualifier_scripting.py:32
+#: src/scripting/qualifier_scripting.py:35
msgid "Qualifier Par Time Source"
msgstr ""
-#: src/scripting/qualifier_scripting.py:40
+#: src/scripting/qualifier_scripting.py:43
msgid "Qualifier Score Source"
msgstr ""
-#: src/scripting/setup_scripting.py:22
+#: src/scripting/setup_scripting.py:25
msgid "Initial setup - Check to make changes"
msgstr ""
-#: src/scripting/setup_scripting.py:26
+#: src/scripting/setup_scripting.py:29
msgid "Text Source"
msgstr ""
-#: src/scripting/setup_scripting.py:31
+#: src/scripting/setup_scripting.py:34
msgid "Username"
msgstr ""
-#: src/scripting/setup_scripting.py:33
+#: src/scripting/setup_scripting.py:36
msgid "Enable logging"
msgstr ""
-#: src/scripting/setup_scripting.py:35
+#: src/scripting/setup_scripting.py:38
msgid "Log level"
msgstr ""
-#: src/scripting/setup_scripting.py:38
+#: src/scripting/setup_scripting.py:41
msgid "Error"
msgstr ""
-#: src/scripting/setup_scripting.py:39
+#: src/scripting/setup_scripting.py:42
msgid "Debug"
msgstr ""
-#: src/scripting/setup_scripting.py:40
+#: src/scripting/setup_scripting.py:43
msgid "Info"
msgstr ""
-#: src/scripting/setup_scripting.py:42
+#: src/scripting/setup_scripting.py:45
msgid ""
"Generally, only log errors unless you are developing or are trying to "
"find a specific problem."
msgstr ""
-#: src/scripting/setup_scripting.py:46
+#: src/scripting/setup_scripting.py:49
msgid "Log to file?"
msgstr ""
-#: src/scripting/setup_scripting.py:48
+#: src/scripting/setup_scripting.py:51
msgid "Log File"
msgstr ""
-#: src/scripting/setup_scripting.py:52
+#: src/scripting/setup_scripting.py:55
msgid "Filter by Category"
msgstr ""
-#: src/scripting/setup_scripting.py:56
+#: src/scripting/setup_scripting.py:59
msgid "Race"
msgstr ""
-#: src/scripting/setup_scripting.py:66
+#: src/scripting/setup_scripting.py:69
msgid "Race Desc"
msgstr ""
-#: src/scripting/timer_scripting.py:30
+#: src/scripting/timer_scripting.py:33
msgid "Use custom color for podium finishes?"
msgstr ""
-#: src/scripting/timer_scripting.py:34
+#: src/scripting/timer_scripting.py:37
msgid "Podium Colors"
msgstr ""
-#: src/scripting/timer_scripting.py:39
+#: src/scripting/timer_scripting.py:42
msgid "Pre-race:"
msgstr ""
-#: src/scripting/timer_scripting.py:41
+#: src/scripting/timer_scripting.py:44
msgid "Still racing:"
msgstr ""
-#: src/scripting/timer_scripting.py:42
+#: src/scripting/timer_scripting.py:45
msgid "1st place:"
msgstr ""
-#: src/scripting/timer_scripting.py:43
+#: src/scripting/timer_scripting.py:46
msgid "2nd place:"
msgstr ""
-#: src/scripting/timer_scripting.py:44
+#: src/scripting/timer_scripting.py:47
msgid "3rd place:"
msgstr ""
-#: src/scripting/timer_scripting.py:46
+#: src/scripting/timer_scripting.py:49
msgid "After podium:"
msgstr ""
+#~ msgid ""
+#~ "Select a text source to use as "
+#~ "your timer and enter yourfull username"
+#~ " on racetime.gg (including discriminator). "
+#~ "This only needs to be done once."
+#~ "\n"
+#~ "\n"
+#~ "Then select the race room each "
+#~ "race you join and stop worrying "
+#~ "about whether you started your timer "
+#~ "or not."
+#~ msgstr ""
+
diff --git a/src/racetime_obs.py b/src/racetime_obs.py
index 43fdfc7..ea29d40 100644
--- a/src/racetime_obs.py
+++ b/src/racetime_obs.py
@@ -24,7 +24,7 @@ def script_path():
def script_description():
message = _(
- "Select a text source to use as your timer and enter your"
+ "Select a text source to use as your timer and enter your "
"full username on racetime.gg (including discriminator). This "
"only needs to be done once.\n\nThen select the race room each "
"race you join and stop worrying about whether you started your "
From e863c00c513abcbe650b2186d78aa6700c862789 Mon Sep 17 00:00:00 2001
From: ssbmoro <69113632+ssbm-oro@users.noreply.github.com>
Date: Tue, 29 Dec 2020 08:23:40 -0500
Subject: [PATCH 4/8] added translations (created by google) added de, fr, and
pt translations fixed description text not always translating
---
src/locales/de/LC_MESSAGES/racetime-obs.po | 161 ++++++++++++---------
src/locales/en/LC_MESSAGES/racetime-obs.po | 27 +++-
src/locales/es/LC_MESSAGES/racetime-obs.po | 17 +--
src/locales/fr/LC_MESSAGES/racetime-obs.po | 152 +++++++++++--------
src/locales/pt/LC_MESSAGES/racetime-obs.po | 161 ++++++++++++---------
src/racetime_obs.py | 3 +-
6 files changed, 303 insertions(+), 218 deletions(-)
diff --git a/src/locales/de/LC_MESSAGES/racetime-obs.po b/src/locales/de/LC_MESSAGES/racetime-obs.po
index 1027259..687310c 100644
--- a/src/locales/de/LC_MESSAGES/racetime-obs.po
+++ b/src/locales/de/LC_MESSAGES/racetime-obs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-12-28 21:58-0500\n"
+"POT-Creation-Date: 2020-12-29 07:01-0500\n"
"PO-Revision-Date: 2020-12-28 15:51-0500\n"
"Last-Translator: FULL NAME \n"
"Language: de\n"
@@ -23,150 +23,160 @@ msgid ""
"You've loaded the incorrect script.
Please remove this fileand "
"add 'racetime_obs.py' instead
"
msgstr ""
+" Sie haben das falsche Skript geladen.
Bitte entfernen Sie "
+"diese Datei und fügen Sie stattdessen 'racetime_obs.py' hinzu p>"
-#: src/racetime_obs.py:26
+#: src/racetime_obs.py:29
msgid ""
"Select a text source to use as your timer and enter your full username on"
" racetime.gg (including discriminator). This only needs to be done once."
-"\n"
-"\n"
-"Then select the race room each race you join and stop worrying about "
+" Then select the race room each race you join and stop worrying about "
"whether you started your timer or not."
msgstr ""
+"Wählen Sie eine Textquelle als Timer und geben Sie Ihren vollständigen "
+"Benutzernamen unter racetime.gg (einschließlich Diskriminator). Dies muss "
+"nur einmal durchgeführt werden. Wählen Sie dann bei jedem Rennen, an dem "
+"Sie teilnehmen, den Rennraum aus und machen Sie sich keine Sorgen mehr. ob "
+"Sie Ihren Timer gestartet haben oder nicht."
-#: src/racetime_obs.py:81
+#: src/racetime_obs.py:85
msgid "Race info"
-msgstr ""
+msgstr "Renninfo"
-#: src/racetime_obs.py:103
+#: src/racetime_obs.py:107
msgid "Refresh"
-msgstr ""
+msgstr "Aktualisierung"
-#: src/racetime_obs.py:157
+#: src/racetime_obs.py:161
msgid "Race not found"
-msgstr ""
+msgstr "Rennen nicht gefunden"
#: src/scripting/__init__.py:33
msgid "All"
-msgstr ""
+msgstr "Alle"
#: src/scripting/__init__.py:35
-msgid "None"
+msgid "Keiner"
msgstr ""
#: src/scripting/coop_scripting.py:15
msgid "Display coop information?"
-msgstr ""
+msgstr "Koop-Informationen anzeigen?"
#: src/scripting/coop_scripting.py:19
msgid "Co-op Mode"
-msgstr ""
+msgstr "Koop-Modus"
#: src/scripting/coop_scripting.py:24
msgid "Co-op Partner"
-msgstr ""
+msgstr "Koop-Partner"
#: src/scripting/coop_scripting.py:28
msgid "Co-op Rival 1"
-msgstr ""
+msgstr "Koop-Rivale 1"
#: src/scripting/coop_scripting.py:32
msgid "Co-op Rival 2"
-msgstr ""
+msgstr "Koop-Rivale 2"
#: src/scripting/coop_scripting.py:37
msgid "Our Team's Timer"
-msgstr ""
+msgstr "Der Timer unseres Teams"
#: src/scripting/coop_scripting.py:41
msgid "This text source will display your team's timer when you finish."
-msgstr ""
+msgstr "Diese Textquelle zeigt den Timer Ihres Teams an, wenn Sie fertig sind."
#: src/scripting/coop_scripting.py:48
msgid ""
"This text source will be use to display your rival's timer when they "
"finish"
msgstr ""
+"Diese Textquelle wird verwendet, um den Timer Ihres Rivalen anzuzeigen, "
+"wenn er fertig ist"
#: src/scripting/coop_scripting.py:53
msgid "Winner Color:"
-msgstr ""
+msgstr "Gewinner Farbe:"
#: src/scripting/coop_scripting.py:55
msgid "Loser Color:"
-msgstr ""
+msgstr "Verlierer Farbe:"
#: src/scripting/coop_scripting.py:57
msgid "Winner Undetermined Color"
-msgstr ""
+msgstr "Gewinner Unbestimmte Farbe"
#: src/scripting/media_player_scripting.py:37
msgid "Enable sounds?"
-msgstr ""
+msgstr "Töne anschalten?"
#: src/scripting/media_player_scripting.py:42
msgid "Media Player Mode"
-msgstr ""
+msgstr "Media Player-Modus"
#: src/scripting/media_player_scripting.py:50
#: src/scripting/media_trigger_scripting.py:37
msgid "Monitoring Type"
-msgstr ""
+msgstr "Überwachungstyp"
#: src/scripting/media_player_scripting.py:53
msgid "Listen Only"
-msgstr ""
+msgstr "Nur zuhören"
#: src/scripting/media_player_scripting.py:57
msgid "Stream Only"
-msgstr ""
+msgstr "Nur Stream"
#: src/scripting/media_player_scripting.py:59
#: src/scripting/media_trigger_scripting.py:44
msgid "Listen and Stream"
-msgstr ""
+msgstr "Hören und streamen"
#: src/scripting/media_player_scripting.py:62
msgid "Chat Pings"
-msgstr ""
+msgstr "Chat-Pings"
#: src/scripting/media_player_scripting.py:64
msgid ""
"Enable this and set choose a sound file to play when a bot posts or when "
"someone @s you in racetime.gg chat"
msgstr ""
+"Aktivieren Sie diese Option und wählen Sie eine Audiodatei aus, die "
+"abgespielt werden soll, wenn ein Bot Beiträge veröffentlicht oder wenn "
+"jemand Sie im racetime.gg-Chat @s"
#: src/scripting/media_player_scripting.py:69
msgid "Chat media file"
-msgstr ""
+msgstr "Chat-Mediendatei"
#: src/scripting/media_player_scripting.py:74
msgid "First Place Sound"
-msgstr ""
+msgstr "Erster Platz Sound"
#: src/scripting/media_player_scripting.py:78
msgid "Sound file to play when you finish first."
-msgstr ""
+msgstr "Sounddatei, die abgespielt werden soll, wenn Sie fertig sind."
#: src/scripting/media_trigger_scripting.py:16
msgid "Media Trigger #"
-msgstr ""
+msgstr "Medientrigger #"
#: src/scripting/media_trigger_scripting.py:25
msgid "Sound File"
-msgstr ""
+msgstr "Audiodatei"
#: src/scripting/media_trigger_scripting.py:29
msgid "Type of Trigger"
-msgstr ""
+msgstr "Art des Auslösers"
#: src/scripting/media_trigger_scripting.py:32
msgid "Chat"
-msgstr ""
+msgstr "Chat"
#: src/scripting/media_trigger_scripting.py:33
msgid "Finish Place"
-msgstr ""
+msgstr "Platz beenden"
#: src/scripting/media_trigger_scripting.py:34
msgid "Timer"
@@ -174,11 +184,11 @@ msgstr ""
#: src/scripting/media_trigger_scripting.py:40
msgid "Only Listen"
-msgstr ""
+msgstr "Nur zuhören"
#: src/scripting/media_trigger_scripting.py:42
msgid "Only Stream"
-msgstr ""
+msgstr "Nur Stream"
#: src/scripting/media_trigger_scripting.py:56
msgid "Bot?"
@@ -186,7 +196,7 @@ msgstr ""
#: src/scripting/media_trigger_scripting.py:58
msgid "Highlighted?"
-msgstr ""
+msgstr "Hervorgehoben"
#: src/scripting/media_trigger_scripting.py:60
msgid "System?"
@@ -194,55 +204,55 @@ msgstr ""
#: src/scripting/media_trigger_scripting.py:72
msgid "Finish Place <="
-msgstr ""
+msgstr "Platz beenden <="
#: src/scripting/media_trigger_scripting.py:75
msgid "Num. Entrants >="
-msgstr ""
+msgstr "Num. Teilnehmer> ="
#: src/scripting/media_trigger_scripting.py:85
msgid "Start playing at "
-msgstr ""
+msgstr "Anfangen bei"
#: src/scripting/qualifier_scripting.py:16
msgid "Display race results as tournament qualifier?"
-msgstr ""
+msgstr "Rennergebnisse als Turnierqualifikation anzeigen?"
#: src/scripting/qualifier_scripting.py:21
msgid "Qualifier Mode"
-msgstr ""
+msgstr "Qualifizierungsmodus"
#: src/scripting/qualifier_scripting.py:30
msgid "Use Top X as par time, where X="
-msgstr ""
+msgstr "Verwenden Sie Top X als Par-Zeit, wobei X ="
#: src/scripting/qualifier_scripting.py:35
msgid "Qualifier Par Time Source"
-msgstr ""
+msgstr "Nach Zeitquelle qualifizieren"
#: src/scripting/qualifier_scripting.py:43
msgid "Qualifier Score Source"
-msgstr ""
+msgstr "Qualifier Score Source"
#: src/scripting/setup_scripting.py:25
msgid "Initial setup - Check to make changes"
-msgstr ""
+msgstr "Ersteinrichtung - Überprüfen Sie, ob Änderungen vorgenommen wurden"
#: src/scripting/setup_scripting.py:29
msgid "Text Source"
-msgstr ""
+msgstr "Textquelle"
#: src/scripting/setup_scripting.py:34
msgid "Username"
-msgstr ""
+msgstr "Nutzername"
#: src/scripting/setup_scripting.py:36
msgid "Enable logging"
-msgstr ""
+msgstr "Aktiviere das Logging"
#: src/scripting/setup_scripting.py:38
msgid "Log level"
-msgstr ""
+msgstr "Protokollstufe"
#: src/scripting/setup_scripting.py:41
msgid "Error"
@@ -250,7 +260,7 @@ msgstr ""
#: src/scripting/setup_scripting.py:42
msgid "Debug"
-msgstr ""
+msgstr "Debuggen"
#: src/scripting/setup_scripting.py:43
msgid "Info"
@@ -261,58 +271,60 @@ msgid ""
"Generally, only log errors unless you are developing or are trying to "
"find a specific problem."
msgstr ""
+"Im Allgemeinen werden nur Fehler protokolliert, es sei denn, Sie entwickeln "
+"oder versuchen, ein bestimmtes Problem zu finden."
#: src/scripting/setup_scripting.py:49
msgid "Log to file?"
-msgstr ""
+msgstr "In Datei anmelden?"
#: src/scripting/setup_scripting.py:51
msgid "Log File"
-msgstr ""
+msgstr "Logdatei"
#: src/scripting/setup_scripting.py:55
msgid "Filter by Category"
-msgstr ""
+msgstr "Nach Kategorie filtern"
#: src/scripting/setup_scripting.py:59
msgid "Race"
-msgstr ""
+msgstr "Rennen"
#: src/scripting/setup_scripting.py:69
msgid "Race Desc"
-msgstr ""
+msgstr "Rennbeschreibung"
#: src/scripting/timer_scripting.py:33
msgid "Use custom color for podium finishes?"
-msgstr ""
+msgstr "Benutzerdefinierte Farbe für Podestplätze verwenden?"
#: src/scripting/timer_scripting.py:37
msgid "Podium Colors"
-msgstr ""
+msgstr "Podiumsfarben"
#: src/scripting/timer_scripting.py:42
msgid "Pre-race:"
-msgstr ""
+msgstr "Vor dem Rennen:"
#: src/scripting/timer_scripting.py:44
msgid "Still racing:"
-msgstr ""
+msgstr "Noch Rennen:"
#: src/scripting/timer_scripting.py:45
msgid "1st place:"
-msgstr ""
+msgstr "Platz 1:"
#: src/scripting/timer_scripting.py:46
msgid "2nd place:"
-msgstr ""
+msgstr "Platz 2:"
#: src/scripting/timer_scripting.py:47
msgid "3rd place:"
-msgstr ""
+msgstr "Platz 3:"
#: src/scripting/timer_scripting.py:49
msgid "After podium:"
-msgstr ""
+msgstr "Nach dem Podium:"
#~ msgid ""
#~ "Select a text source to use as "
@@ -327,3 +339,16 @@ msgstr ""
#~ "or not."
#~ msgstr ""
+#~ msgid ""
+#~ "Select a text source to use as "
+#~ "your timer and enter your full "
+#~ "username on racetime.gg (including "
+#~ "discriminator). This only needs to be"
+#~ " done once.\n"
+#~ "\n"
+#~ "Then select the race room each "
+#~ "race you join and stop worrying "
+#~ "about whether you started your timer "
+#~ "or not."
+#~ msgstr ""
+
diff --git a/src/locales/en/LC_MESSAGES/racetime-obs.po b/src/locales/en/LC_MESSAGES/racetime-obs.po
index 50a1b66..49c3ec0 100644
--- a/src/locales/en/LC_MESSAGES/racetime-obs.po
+++ b/src/locales/en/LC_MESSAGES/racetime-obs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-12-28 21:58-0500\n"
+"POT-Creation-Date: 2020-12-29 07:01-0500\n"
"PO-Revision-Date: 2020-12-28 15:50-0500\n"
"Last-Translator: FULL NAME \n"
"Language: en\n"
@@ -24,25 +24,23 @@ msgid ""
"add 'racetime_obs.py' instead
"
msgstr ""
-#: src/racetime_obs.py:26
+#: src/racetime_obs.py:29
msgid ""
"Select a text source to use as your timer and enter your full username on"
" racetime.gg (including discriminator). This only needs to be done once."
-"\n"
-"\n"
-"Then select the race room each race you join and stop worrying about "
+" Then select the race room each race you join and stop worrying about "
"whether you started your timer or not."
msgstr ""
-#: src/racetime_obs.py:81
+#: src/racetime_obs.py:85
msgid "Race info"
msgstr ""
-#: src/racetime_obs.py:103
+#: src/racetime_obs.py:107
msgid "Refresh"
msgstr ""
-#: src/racetime_obs.py:157
+#: src/racetime_obs.py:161
msgid "Race not found"
msgstr ""
@@ -327,3 +325,16 @@ msgstr ""
#~ "or not."
#~ msgstr ""
+#~ msgid ""
+#~ "Select a text source to use as "
+#~ "your timer and enter your full "
+#~ "username on racetime.gg (including "
+#~ "discriminator). This only needs to be"
+#~ " done once.\n"
+#~ "\n"
+#~ "Then select the race room each "
+#~ "race you join and stop worrying "
+#~ "about whether you started your timer "
+#~ "or not."
+#~ msgstr ""
+
diff --git a/src/locales/es/LC_MESSAGES/racetime-obs.po b/src/locales/es/LC_MESSAGES/racetime-obs.po
index 77b976e..d39b639 100644
--- a/src/locales/es/LC_MESSAGES/racetime-obs.po
+++ b/src/locales/es/LC_MESSAGES/racetime-obs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-12-28 21:58-0500\n"
+"POT-Creation-Date: 2020-12-29 07:01-0500\n"
"PO-Revision-Date: 2020-12-28 16:01-0500\n"
"Last-Translator: FULL NAME \n"
"Language: es\n"
@@ -26,32 +26,29 @@ msgstr ""
"Cargó la secuencia de comandos incorrecta.
Elimine este "
"archivo y agregue 'racetime_obs.py' en su lugar
"
-#: src/racetime_obs.py:26
+#: src/racetime_obs.py:29
#, fuzzy
msgid ""
"Select a text source to use as your timer and enter your full username on"
" racetime.gg (including discriminator). This only needs to be done once."
-"\n"
-"\n"
-"Then select the race room each race you join and stop worrying about "
+" Then select the race room each race you join and stop worrying about "
"whether you started your timer or not."
msgstr ""
"Seleccione una fuente de texto para usar como su temporizador e ingrese "
"su nombre de usuario completo enracetime.gg (incluido el discriminador). "
-"Esto solo debe hacerse una vez.\n"
-"\n"
+"Esto solo debe hacerse una vez."
"Luego, selecciona la sala de carreras en cada carrera a la que te unes y "
"deja de preocuparteya sea que haya iniciado el temporizador o no."
-#: src/racetime_obs.py:81
+#: src/racetime_obs.py:85
msgid "Race info"
msgstr "Info de carrera"
-#: src/racetime_obs.py:103
+#: src/racetime_obs.py:107
msgid "Refresh"
msgstr "Actualizar"
-#: src/racetime_obs.py:157
+#: src/racetime_obs.py:161
msgid "Race not found"
msgstr "Carrera no encontrada"
diff --git a/src/locales/fr/LC_MESSAGES/racetime-obs.po b/src/locales/fr/LC_MESSAGES/racetime-obs.po
index 371c0cd..0ca8a5f 100644
--- a/src/locales/fr/LC_MESSAGES/racetime-obs.po
+++ b/src/locales/fr/LC_MESSAGES/racetime-obs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-12-28 21:58-0500\n"
+"POT-Creation-Date: 2020-12-29 07:01-0500\n"
"PO-Revision-Date: 2020-12-28 15:51-0500\n"
"Last-Translator: FULL NAME \n"
"Language: fr\n"
@@ -23,48 +23,53 @@ msgid ""
"You've loaded the incorrect script.
Please remove this fileand "
"add 'racetime_obs.py' instead
"
msgstr ""
+" Vous avez chargé le script incorrect.
Veuillez supprimer ce "
+"fichier et ajouter "racetime_obs.py" à la place
"
-#: src/racetime_obs.py:26
+#: src/racetime_obs.py:29
msgid ""
"Select a text source to use as your timer and enter your full username on"
" racetime.gg (including discriminator). This only needs to be done once."
-"\n"
-"\n"
-"Then select the race room each race you join and stop worrying about "
+" Then select the race room each race you join and stop worrying about "
"whether you started your timer or not."
msgstr ""
+"Sélectionnez une source de texte à utiliser comme minuterie et entrez votre "
+"nom d'utilisateur complet sur racetime.gg (y compris le discriminateur). "
+"Cela a seulement besoin d'être fait une fois. Ensuite, sélectionnez la "
+"salle de course à chaque course que vous rejoignez et arrêtez de vous "
+"soucier de savoir si vous avez démarré votre chronomètre ou non."
-#: src/racetime_obs.py:81
+#: src/racetime_obs.py:85
msgid "Race info"
-msgstr ""
+msgstr "Infos course"
-#: src/racetime_obs.py:103
+#: src/racetime_obs.py:107
msgid "Refresh"
-msgstr ""
+msgstr "Rafraîchir"
-#: src/racetime_obs.py:157
+#: src/racetime_obs.py:161
msgid "Race not found"
-msgstr ""
+msgstr "Race introuvable"
#: src/scripting/__init__.py:33
msgid "All"
-msgstr ""
+msgstr "Toute"
#: src/scripting/__init__.py:35
msgid "None"
-msgstr ""
+msgstr "Aucune"
#: src/scripting/coop_scripting.py:15
msgid "Display coop information?"
-msgstr ""
+msgstr "Afficher les informations sur la coopérative"
#: src/scripting/coop_scripting.py:19
msgid "Co-op Mode"
-msgstr ""
+msgstr "Mode coopératif"
#: src/scripting/coop_scripting.py:24
msgid "Co-op Partner"
-msgstr ""
+msgstr "Partenaire coop"
#: src/scripting/coop_scripting.py:28
msgid "Co-op Rival 1"
@@ -76,55 +81,59 @@ msgstr ""
#: src/scripting/coop_scripting.py:37
msgid "Our Team's Timer"
-msgstr ""
+msgstr "Le chronomètre de notre équipe"
#: src/scripting/coop_scripting.py:41
msgid "This text source will display your team's timer when you finish."
msgstr ""
+"Cette source de texte affichera le chronomètre de votre équipe lorsque "
+"vous aurez terminé."
#: src/scripting/coop_scripting.py:48
msgid ""
"This text source will be use to display your rival's timer when they "
"finish"
msgstr ""
+"Cette source de texte sera utilisée pour afficher le chronomètre de votre "
+"rival lorsqu'il aura terminé"
#: src/scripting/coop_scripting.py:53
msgid "Winner Color:"
-msgstr ""
+msgstr "Couleur du gagnant:"
#: src/scripting/coop_scripting.py:55
msgid "Loser Color:"
-msgstr ""
+msgstr "Couleur du perdant:"
#: src/scripting/coop_scripting.py:57
msgid "Winner Undetermined Color"
-msgstr ""
+msgstr "Couleur indéterminée du gagnant"
#: src/scripting/media_player_scripting.py:37
msgid "Enable sounds?"
-msgstr ""
+msgstr "Activer les sons?"
#: src/scripting/media_player_scripting.py:42
msgid "Media Player Mode"
-msgstr ""
+msgstr "Mode lecteur multimédia"
#: src/scripting/media_player_scripting.py:50
#: src/scripting/media_trigger_scripting.py:37
msgid "Monitoring Type"
-msgstr ""
+msgstr "Type de surveillance"
#: src/scripting/media_player_scripting.py:53
msgid "Listen Only"
-msgstr ""
+msgstr "Écoutez seulement"
#: src/scripting/media_player_scripting.py:57
msgid "Stream Only"
-msgstr ""
+msgstr "Diffuser uniquement"
#: src/scripting/media_player_scripting.py:59
#: src/scripting/media_trigger_scripting.py:44
msgid "Listen and Stream"
-msgstr ""
+msgstr "Écoutez et diffusez"
#: src/scripting/media_player_scripting.py:62
msgid "Chat Pings"
@@ -135,30 +144,32 @@ msgid ""
"Enable this and set choose a sound file to play when a bot posts or when "
"someone @s you in racetime.gg chat"
msgstr ""
+"Activez cette option et choisissez un fichier son à lire lorsqu'un bot "
+"publie ou lorsque quelqu'un vous @s dans le chat racetime.gg"
#: src/scripting/media_player_scripting.py:69
msgid "Chat media file"
-msgstr ""
+msgstr "Fichier multimédia de chat"
#: src/scripting/media_player_scripting.py:74
msgid "First Place Sound"
-msgstr ""
+msgstr "Premier son"
#: src/scripting/media_player_scripting.py:78
msgid "Sound file to play when you finish first."
-msgstr ""
+msgstr "Fichier son à lire lorsque vous avez terminé en premier."
#: src/scripting/media_trigger_scripting.py:16
msgid "Media Trigger #"
-msgstr ""
+msgstr "Déclencheur multimédia #"
#: src/scripting/media_trigger_scripting.py:25
msgid "Sound File"
-msgstr ""
+msgstr "Fichier audio"
#: src/scripting/media_trigger_scripting.py:29
msgid "Type of Trigger"
-msgstr ""
+msgstr "Type de déclencheur"
#: src/scripting/media_trigger_scripting.py:32
msgid "Chat"
@@ -166,19 +177,19 @@ msgstr ""
#: src/scripting/media_trigger_scripting.py:33
msgid "Finish Place"
-msgstr ""
+msgstr "Endroit d'arrivée"
#: src/scripting/media_trigger_scripting.py:34
msgid "Timer"
-msgstr ""
+msgstr "chronomètre"
#: src/scripting/media_trigger_scripting.py:40
msgid "Only Listen"
-msgstr ""
+msgstr "Écoutez seulement"
#: src/scripting/media_trigger_scripting.py:42
msgid "Only Stream"
-msgstr ""
+msgstr "Écoutez et diffusez"
#: src/scripting/media_trigger_scripting.py:56
msgid "Bot?"
@@ -186,7 +197,7 @@ msgstr ""
#: src/scripting/media_trigger_scripting.py:58
msgid "Highlighted?"
-msgstr ""
+msgstr "Souligné?"
#: src/scripting/media_trigger_scripting.py:60
msgid "System?"
@@ -198,59 +209,59 @@ msgstr ""
#: src/scripting/media_trigger_scripting.py:75
msgid "Num. Entrants >="
-msgstr ""
+msgstr "Nombre de participants> ="
#: src/scripting/media_trigger_scripting.py:85
msgid "Start playing at "
-msgstr ""
+msgstr "Commencer à "
#: src/scripting/qualifier_scripting.py:16
msgid "Display race results as tournament qualifier?"
-msgstr ""
+msgstr "Afficher les résultats de la course comme qualification du tournoi?"
#: src/scripting/qualifier_scripting.py:21
msgid "Qualifier Mode"
-msgstr ""
+msgstr "Mode qualificatif"
#: src/scripting/qualifier_scripting.py:30
msgid "Use Top X as par time, where X="
-msgstr ""
+msgstr "Utilisez Top X comme temps par, où X ="
#: src/scripting/qualifier_scripting.py:35
msgid "Qualifier Par Time Source"
-msgstr ""
+msgstr "Source de temps par qualificatif"
#: src/scripting/qualifier_scripting.py:43
msgid "Qualifier Score Source"
-msgstr ""
+msgstr "Source du score du qualificatif"
#: src/scripting/setup_scripting.py:25
msgid "Initial setup - Check to make changes"
-msgstr ""
+msgstr "Configuration initiale - Cochez pour apporter des modifications"
#: src/scripting/setup_scripting.py:29
msgid "Text Source"
-msgstr ""
+msgstr "Source du texte"
#: src/scripting/setup_scripting.py:34
msgid "Username"
-msgstr ""
+msgstr "Nom d'utilisateur"
#: src/scripting/setup_scripting.py:36
msgid "Enable logging"
-msgstr ""
+msgstr "Activer la journalisation"
#: src/scripting/setup_scripting.py:38
msgid "Log level"
-msgstr ""
+msgstr "Niveau de journal"
#: src/scripting/setup_scripting.py:41
msgid "Error"
-msgstr ""
+msgstr "Erreur"
#: src/scripting/setup_scripting.py:42
msgid "Debug"
-msgstr ""
+msgstr "Déboguer"
#: src/scripting/setup_scripting.py:43
msgid "Info"
@@ -261,14 +272,16 @@ msgid ""
"Generally, only log errors unless you are developing or are trying to "
"find a specific problem."
msgstr ""
+"En règle générale, enregistrez uniquement les erreurs, sauf si vous "
+"développez ou essayez de trouver un problème spécifique."
#: src/scripting/setup_scripting.py:49
msgid "Log to file?"
-msgstr ""
+msgstr "Connectez-vous au fichier?"
#: src/scripting/setup_scripting.py:51
msgid "Log File"
-msgstr ""
+msgstr "Fichier journal"
#: src/scripting/setup_scripting.py:55
msgid "Filter by Category"
@@ -276,43 +289,43 @@ msgstr ""
#: src/scripting/setup_scripting.py:59
msgid "Race"
-msgstr ""
+msgstr "Course"
#: src/scripting/setup_scripting.py:69
msgid "Race Desc"
-msgstr ""
+msgstr "Desc de course"
#: src/scripting/timer_scripting.py:33
msgid "Use custom color for podium finishes?"
-msgstr ""
+msgstr "Utiliser une couleur personnalisée pour les podiums?"
#: src/scripting/timer_scripting.py:37
msgid "Podium Colors"
-msgstr ""
+msgstr "Couleurs du podium"
#: src/scripting/timer_scripting.py:42
msgid "Pre-race:"
-msgstr ""
+msgstr "Avant la course:"
#: src/scripting/timer_scripting.py:44
msgid "Still racing:"
-msgstr ""
+msgstr "Toujours en course:"
#: src/scripting/timer_scripting.py:45
msgid "1st place:"
-msgstr ""
+msgstr "1ère place:"
#: src/scripting/timer_scripting.py:46
msgid "2nd place:"
-msgstr ""
+msgstr "2ème place:"
#: src/scripting/timer_scripting.py:47
msgid "3rd place:"
-msgstr ""
+msgstr "3ème place:"
#: src/scripting/timer_scripting.py:49
msgid "After podium:"
-msgstr ""
+msgstr "Après le podium:"
#~ msgid ""
#~ "Select a text source to use as "
@@ -327,3 +340,16 @@ msgstr ""
#~ "or not."
#~ msgstr ""
+#~ msgid ""
+#~ "Select a text source to use as "
+#~ "your timer and enter your full "
+#~ "username on racetime.gg (including "
+#~ "discriminator). This only needs to be"
+#~ " done once.\n"
+#~ "\n"
+#~ "Then select the race room each "
+#~ "race you join and stop worrying "
+#~ "about whether you started your timer "
+#~ "or not."
+#~ msgstr ""
+
diff --git a/src/locales/pt/LC_MESSAGES/racetime-obs.po b/src/locales/pt/LC_MESSAGES/racetime-obs.po
index 832d44a..25e7e81 100644
--- a/src/locales/pt/LC_MESSAGES/racetime-obs.po
+++ b/src/locales/pt/LC_MESSAGES/racetime-obs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-12-28 21:58-0500\n"
+"POT-Creation-Date: 2020-12-29 07:01-0500\n"
"PO-Revision-Date: 2020-12-28 15:51-0500\n"
"Last-Translator: FULL NAME \n"
"Language: pt\n"
@@ -23,108 +23,116 @@ msgid ""
"You've loaded the incorrect script.
Please remove this fileand "
"add 'racetime_obs.py' instead
"
msgstr ""
+" Você carregou o script incorreto.
Remova este arquivo e "
+"adicione 'racetime_obs.py' em seu lugar
"
-#: src/racetime_obs.py:26
+#: src/racetime_obs.py:29
msgid ""
"Select a text source to use as your timer and enter your full username on"
" racetime.gg (including discriminator). This only needs to be done once."
-"\n"
-"\n"
-"Then select the race room each race you join and stop worrying about "
+" Then select the race room each race you join and stop worrying about "
"whether you started your timer or not."
msgstr ""
+"Selecione uma fonte de texto para usar como seu cronômetro e digite seu "
+"nome de usuário completo em racetime.gg (incluindo discriminador). Isso só "
+"precisa ser feito uma vez. Em seguida, selecione a sala de corrida de cada "
+"corrida em que você participa e pare de se preocupar se você iniciou o "
+"cronômetro ou não."
-#: src/racetime_obs.py:81
+#: src/racetime_obs.py:85
msgid "Race info"
-msgstr ""
+msgstr "Informação da corrida"
-#: src/racetime_obs.py:103
+#: src/racetime_obs.py:107
msgid "Refresh"
-msgstr ""
+msgstr "Atualizar"
-#: src/racetime_obs.py:157
+#: src/racetime_obs.py:161
msgid "Race not found"
-msgstr ""
+msgstr "Raça não encontrada"
#: src/scripting/__init__.py:33
msgid "All"
-msgstr ""
+msgstr "Todos"
#: src/scripting/__init__.py:35
msgid "None"
-msgstr ""
+msgstr "Nenhum"
#: src/scripting/coop_scripting.py:15
msgid "Display coop information?"
-msgstr ""
+msgstr "Exibir informações da cooperativa?"
#: src/scripting/coop_scripting.py:19
msgid "Co-op Mode"
-msgstr ""
+msgstr "Modo Co-op"
#: src/scripting/coop_scripting.py:24
msgid "Co-op Partner"
-msgstr ""
+msgstr "Parceiro Co-op"
#: src/scripting/coop_scripting.py:28
msgid "Co-op Rival 1"
-msgstr ""
+msgstr "Rival Co-op 1"
#: src/scripting/coop_scripting.py:32
msgid "Co-op Rival 2"
-msgstr ""
+msgstr "Rival Co-op 2"
#: src/scripting/coop_scripting.py:37
msgid "Our Team's Timer"
-msgstr ""
+msgstr "Cronômetro de nossa equipe"
#: src/scripting/coop_scripting.py:41
msgid "This text source will display your team's timer when you finish."
msgstr ""
+"Esta fonte de texto exibirá o cronômetro de sua equipe quando você terminar."
#: src/scripting/coop_scripting.py:48
msgid ""
"This text source will be use to display your rival's timer when they "
"finish"
msgstr ""
+"Esta fonte de texto será usada para exibir o cronômetro do seu rival quando "
+"ele terminar"
#: src/scripting/coop_scripting.py:53
msgid "Winner Color:"
-msgstr ""
+msgstr "Cor do vencedor:"
#: src/scripting/coop_scripting.py:55
msgid "Loser Color:"
-msgstr ""
+msgstr "Cor do perdedor:"
#: src/scripting/coop_scripting.py:57
msgid "Winner Undetermined Color"
-msgstr ""
+msgstr "Cor Indeterminada do Vencedor"
#: src/scripting/media_player_scripting.py:37
msgid "Enable sounds?"
-msgstr ""
+msgstr "Habilitar sons?"
#: src/scripting/media_player_scripting.py:42
msgid "Media Player Mode"
-msgstr ""
+msgstr "Modo Media Player"
#: src/scripting/media_player_scripting.py:50
#: src/scripting/media_trigger_scripting.py:37
msgid "Monitoring Type"
-msgstr ""
+msgstr "Tipo de Monitoramento"
#: src/scripting/media_player_scripting.py:53
msgid "Listen Only"
-msgstr ""
+msgstr "Ouvir apenas"
#: src/scripting/media_player_scripting.py:57
msgid "Stream Only"
-msgstr ""
+msgstr "Transmitir apenas"
#: src/scripting/media_player_scripting.py:59
#: src/scripting/media_trigger_scripting.py:44
msgid "Listen and Stream"
-msgstr ""
+msgstr "Ouça e transmita"
#: src/scripting/media_player_scripting.py:62
msgid "Chat Pings"
@@ -135,18 +143,20 @@ msgid ""
"Enable this and set choose a sound file to play when a bot posts or when "
"someone @s you in racetime.gg chat"
msgstr ""
+"Habilite isso e defina a escolha de um arquivo de som para tocar quando um "
+"bot postar ou quando alguém falar com você no chat racetime.gg"
#: src/scripting/media_player_scripting.py:69
msgid "Chat media file"
-msgstr ""
+msgstr "Arquivo de mídia de bate-papo"
#: src/scripting/media_player_scripting.py:74
msgid "First Place Sound"
-msgstr ""
+msgstr "Primeiro lugar de som"
#: src/scripting/media_player_scripting.py:78
msgid "Sound file to play when you finish first."
-msgstr ""
+msgstr "Arquivo de som a ser reproduzido quando você terminar primeiro."
#: src/scripting/media_trigger_scripting.py:16
msgid "Media Trigger #"
@@ -154,31 +164,31 @@ msgstr ""
#: src/scripting/media_trigger_scripting.py:25
msgid "Sound File"
-msgstr ""
+msgstr "Arquivo de Som"
#: src/scripting/media_trigger_scripting.py:29
msgid "Type of Trigger"
-msgstr ""
+msgstr "Tipo de gatilho"
#: src/scripting/media_trigger_scripting.py:32
msgid "Chat"
-msgstr ""
+msgstr "Bate-papo"
#: src/scripting/media_trigger_scripting.py:33
msgid "Finish Place"
-msgstr ""
+msgstr "Terminar lugar"
#: src/scripting/media_trigger_scripting.py:34
msgid "Timer"
-msgstr ""
+msgstr "Cronômetro"
#: src/scripting/media_trigger_scripting.py:40
msgid "Only Listen"
-msgstr ""
+msgstr "Apenas escute"
#: src/scripting/media_trigger_scripting.py:42
msgid "Only Stream"
-msgstr ""
+msgstr "Apenas transmita"
#: src/scripting/media_trigger_scripting.py:56
msgid "Bot?"
@@ -186,7 +196,7 @@ msgstr ""
#: src/scripting/media_trigger_scripting.py:58
msgid "Highlighted?"
-msgstr ""
+msgstr "Em destaque?"
#: src/scripting/media_trigger_scripting.py:60
msgid "System?"
@@ -194,125 +204,127 @@ msgstr ""
#: src/scripting/media_trigger_scripting.py:72
msgid "Finish Place <="
-msgstr ""
+msgstr "Terminar Lugar <="
#: src/scripting/media_trigger_scripting.py:75
msgid "Num. Entrants >="
-msgstr ""
+msgstr "Número de participantes >="
#: src/scripting/media_trigger_scripting.py:85
msgid "Start playing at "
-msgstr ""
+msgstr "Começa ás"
#: src/scripting/qualifier_scripting.py:16
msgid "Display race results as tournament qualifier?"
-msgstr ""
+msgstr "Exibir os resultados da corrida como qualificação do torneio?"
#: src/scripting/qualifier_scripting.py:21
msgid "Qualifier Mode"
-msgstr ""
+msgstr "Modo Qualificador"
#: src/scripting/qualifier_scripting.py:30
msgid "Use Top X as par time, where X="
-msgstr ""
+msgstr "Use o Top X como tempo nominal, onde X ="
#: src/scripting/qualifier_scripting.py:35
msgid "Qualifier Par Time Source"
-msgstr ""
+msgstr "Fonte de tempo par do qualificador"
#: src/scripting/qualifier_scripting.py:43
msgid "Qualifier Score Source"
-msgstr ""
+msgstr "Fonte de pontuação do qualificador"
#: src/scripting/setup_scripting.py:25
msgid "Initial setup - Check to make changes"
-msgstr ""
+msgstr "Configuração inicial - marque para fazer alterações"
#: src/scripting/setup_scripting.py:29
msgid "Text Source"
-msgstr ""
+msgstr "Fonte do Texto"
#: src/scripting/setup_scripting.py:34
msgid "Username"
-msgstr ""
+msgstr "Nome do usuário"
#: src/scripting/setup_scripting.py:36
msgid "Enable logging"
-msgstr ""
+msgstr "Habilitar registro"
#: src/scripting/setup_scripting.py:38
msgid "Log level"
-msgstr ""
+msgstr "Nível de registro"
#: src/scripting/setup_scripting.py:41
msgid "Error"
-msgstr ""
+msgstr "Erro"
#: src/scripting/setup_scripting.py:42
msgid "Debug"
-msgstr ""
+msgstr "Depurar"
#: src/scripting/setup_scripting.py:43
msgid "Info"
-msgstr ""
+msgstr "Informações"
#: src/scripting/setup_scripting.py:45
msgid ""
"Generally, only log errors unless you are developing or are trying to "
"find a specific problem."
msgstr ""
+"Geralmente, apenas registre os erros, a menos que você esteja desenvolvendo "
+"ou tentando encontrar um problema específico."
#: src/scripting/setup_scripting.py:49
msgid "Log to file?"
-msgstr ""
+msgstr "Entrar no arquivo?"
#: src/scripting/setup_scripting.py:51
msgid "Log File"
-msgstr ""
+msgstr "Arquivo de log"
#: src/scripting/setup_scripting.py:55
msgid "Filter by Category"
-msgstr ""
+msgstr "Filtrar por categoria"
#: src/scripting/setup_scripting.py:59
msgid "Race"
-msgstr ""
+msgstr "Corrida"
#: src/scripting/setup_scripting.py:69
msgid "Race Desc"
-msgstr ""
+msgstr "Descrição da corrida"
#: src/scripting/timer_scripting.py:33
msgid "Use custom color for podium finishes?"
-msgstr ""
+msgstr "Usar cores personalizadas para acabamentos de pódio?"
#: src/scripting/timer_scripting.py:37
msgid "Podium Colors"
-msgstr ""
+msgstr "Cores do Pódio"
#: src/scripting/timer_scripting.py:42
msgid "Pre-race:"
-msgstr ""
+msgstr "Pré-corrida:"
#: src/scripting/timer_scripting.py:44
msgid "Still racing:"
-msgstr ""
+msgstr "Ainda correndo:"
#: src/scripting/timer_scripting.py:45
msgid "1st place:"
-msgstr ""
+msgstr "1 º lugar:"
#: src/scripting/timer_scripting.py:46
msgid "2nd place:"
-msgstr ""
+msgstr "2 º lugar:"
#: src/scripting/timer_scripting.py:47
msgid "3rd place:"
-msgstr ""
+msgstr "3 º lugar:"
#: src/scripting/timer_scripting.py:49
msgid "After podium:"
-msgstr ""
+msgstr "Depois do pódio:"
#~ msgid ""
#~ "Select a text source to use as "
@@ -327,3 +339,16 @@ msgstr ""
#~ "or not."
#~ msgstr ""
+#~ msgid ""
+#~ "Select a text source to use as "
+#~ "your timer and enter your full "
+#~ "username on racetime.gg (including "
+#~ "discriminator). This only needs to be"
+#~ " done once.\n"
+#~ "\n"
+#~ "Then select the race room each "
+#~ "race you join and stop worrying "
+#~ "about whether you started your timer "
+#~ "or not."
+#~ msgstr ""
+
diff --git a/src/racetime_obs.py b/src/racetime_obs.py
index ea29d40..adbf620 100644
--- a/src/racetime_obs.py
+++ b/src/racetime_obs.py
@@ -23,10 +23,11 @@ def script_path():
def script_description():
+ set_locale()
message = _(
"Select a text source to use as your timer and enter your "
"full username on racetime.gg (including discriminator). This "
- "only needs to be done once.\n\nThen select the race room each "
+ "only needs to be done once. Then select the race room each "
"race you join and stop worrying about whether you started your "
"timer or not."
)
From ec539041921ddf2999d147cc0c886d50aa47ff27 Mon Sep 17 00:00:00 2001
From: ssbmoro <69113632+ssbm-oro@users.noreply.github.com>
Date: Tue, 29 Dec 2020 08:31:46 -0500
Subject: [PATCH 5/8] fixed un-escaped quotes in fr translation
---
src/locales/fr/LC_MESSAGES/racetime-obs.po | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/locales/fr/LC_MESSAGES/racetime-obs.po b/src/locales/fr/LC_MESSAGES/racetime-obs.po
index 0ca8a5f..ff7bc62 100644
--- a/src/locales/fr/LC_MESSAGES/racetime-obs.po
+++ b/src/locales/fr/LC_MESSAGES/racetime-obs.po
@@ -24,7 +24,7 @@ msgid ""
"add 'racetime_obs.py' instead"
msgstr ""
" Vous avez chargé le script incorrect.
Veuillez supprimer ce "
-"fichier et ajouter "racetime_obs.py" à la place
"
+"fichier et ajouter \"racetime_obs.py\" à la place "
#: src/racetime_obs.py:29
msgid ""
From a6bf92ac6095829e928420aef006e1183282d5f1 Mon Sep 17 00:00:00 2001
From: oro <69113632+ssbm-oro@users.noreply.github.com>
Date: Tue, 29 Dec 2020 11:24:46 -0500
Subject: [PATCH 6/8] Update create-release.yml
trying to change to use pybabel for compiling .po
---
.github/workflows/create-release.yml | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml
index 2ce9083..5f88e39 100644
--- a/.github/workflows/create-release.yml
+++ b/.github/workflows/create-release.yml
@@ -20,13 +20,11 @@ jobs:
- name: Get tag annotation
uses: ericcornelissen/git-tag-annotation-action@v1
id: tag_data
- - name: msgfmt
- uses: whtsky/msgfmt-action@20190305
- env:
- WORKDIR: src/locales
- name: Build project # This would actually build your project, using zip for an example artifact
id: build
run: |
+ pip install Babel
+ pybabel compile -D racetime-obs -d src/locales -f
cp requirements.txt src/
sed -i s/xxVERSIONxx/${GITHUB_REF/refs\/tags\//}/ src/racetime_obs.py
mv src racetime-obs
From 62be379eff814f1f5c532c2addf9a98192747ba1 Mon Sep 17 00:00:00 2001
From: oro <69113632+ssbm-oro@users.noreply.github.com>
Date: Tue, 29 Dec 2020 11:30:56 -0500
Subject: [PATCH 7/8] Update create-release.yml
first try didn't work
---
.github/workflows/create-release.yml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml
index 5f88e39..5c5d581 100644
--- a/.github/workflows/create-release.yml
+++ b/.github/workflows/create-release.yml
@@ -23,6 +23,9 @@ jobs:
- name: Build project # This would actually build your project, using zip for an example artifact
id: build
run: |
+ sudo pip install virtualenv
+ virtualenv venv
+ . venv/bin/activate
pip install Babel
pybabel compile -D racetime-obs -d src/locales -f
cp requirements.txt src/
From 1496cf0f36c8de93a935606ba6386f962fd131f2 Mon Sep 17 00:00:00 2001
From: ssbmoro <69113632+ssbm-oro@users.noreply.github.com>
Date: Tue, 29 Dec 2020 11:35:55 -0500
Subject: [PATCH 8/8] update create-release to use python3
---
.github/workflows/create-release.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml
index 5c5d581..e84ab1b 100644
--- a/.github/workflows/create-release.yml
+++ b/.github/workflows/create-release.yml
@@ -23,10 +23,10 @@ jobs:
- name: Build project # This would actually build your project, using zip for an example artifact
id: build
run: |
- sudo pip install virtualenv
+ sudo python3 -m pip install virtualenv
virtualenv venv
. venv/bin/activate
- pip install Babel
+ python3 -m pip install Babel
pybabel compile -D racetime-obs -d src/locales -f
cp requirements.txt src/
sed -i s/xxVERSIONxx/${GITHUB_REF/refs\/tags\//}/ src/racetime_obs.py