aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/aooptionsdialog.h2
-rw-r--r--resource/translations/ao_de.qmbin22162 -> 22325 bytes
-rw-r--r--resource/translations/ao_de.ts370
-rw-r--r--resource/translations/ao_en.ts383
-rw-r--r--resource/translations/ao_es.ts811
-rw-r--r--resource/translations/ao_ja.qmbin2051 -> 1859 bytes
-rw-r--r--resource/translations/ao_ja.ts384
-rw-r--r--src/aoapplication.cpp3
-rw-r--r--src/aooptionsdialog.cpp13
-rw-r--r--src/charselect.cpp2
-rw-r--r--src/courtroom.cpp10
-rw-r--r--src/lobby.cpp10
-rw-r--r--src/main.cpp11
13 files changed, 1430 insertions, 569 deletions
diff --git a/include/aooptionsdialog.h b/include/aooptionsdialog.h
index a65e3f59..83b84cbc 100644
--- a/include/aooptionsdialog.h
+++ b/include/aooptionsdialog.h
@@ -55,6 +55,8 @@ private:
QLineEdit *ui_ms_textbox;
QLabel *ui_discord_lbl;
QCheckBox *ui_discord_cb;
+ QLabel *ui_language_label;
+ QComboBox *ui_language_combobox;
QWidget *ui_callwords_tab;
QWidget *ui_callwords_widget;
diff --git a/resource/translations/ao_de.qm b/resource/translations/ao_de.qm
index 1f4defe0..884bd65f 100644
--- a/resource/translations/ao_de.qm
+++ b/resource/translations/ao_de.qm
Binary files differ
diff --git a/resource/translations/ao_de.ts b/resource/translations/ao_de.ts
index 11af5570..6dec05b1 100644
--- a/resource/translations/ao_de.ts
+++ b/resource/translations/ao_de.ts
@@ -4,16 +4,21 @@
<context>
<name>AOApplication</name>
<message>
- <location filename="../src/aoapplication.cpp" line="138"/>
+ <location filename="../../src/aoapplication.cpp" line="138"/>
<source>Disconnected from server.</source>
<translation>Vom Server getrennt.</translation>
</message>
<message>
+ <location filename="../../src/aoapplication.cpp" line="163"/>
+ <source>Error connecting to master server. Will try again in %1 seconds.</source>
+ <translation>Fehler bei der Verbindung zum Master Server. Erneuter Versuch in %1 Sekunden.</translation>
+ </message>
+ <message>
<source>Error connecting to master server. Will try again in %n seconds.</source>
<translation type="vanished">Fehler bei der Verbindung zum Master Server. Erneuter Versuch in %n Sekunden.</translation>
</message>
<message>
- <location filename="../src/aoapplication.cpp" line="168"/>
+ <location filename="../../src/aoapplication.cpp" line="167"/>
<source>There was an error connecting to the master server.
We deploy multiple master servers to mitigate any possible downtime, but the client appears to have exhausted all possible methods of finding and connecting to one.
Please check your Internet connection and firewall, and please try again.</source>
@@ -22,60 +27,60 @@ Wir verwenden mehrere Master Server um Ausfälle zu verhindern, jedoch hat der C
Bitte prüfe deine Internetverbindung und Firewall, und versuche es erneut.</translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="106"/>
+ <location filename="../../src/packet_distribution.cpp" line="106"/>
<source>Outdated version! Your version: %1
Please go to aceattorneyonline.com to update.</source>
<translation>Version zu alt! Deine Version: %1
Bitte besuche aceattorneyonline.com für ein Update.</translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="114"/>
+ <location filename="../../src/packet_distribution.cpp" line="114"/>
<source>You have been exiled from AO.
Have a nice day.</source>
<translation>Du wurdest von AO befreit.
Schönen Urlaub.</translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="249"/>
+ <location filename="../../src/packet_distribution.cpp" line="249"/>
<source>Attorney Online 2</source>
<translation>Attorney Online 2</translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="275"/>
+ <location filename="../../src/packet_distribution.cpp" line="275"/>
<source>Loading</source>
<translation>Laden</translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="363"/>
+ <location filename="../../src/packet_distribution.cpp" line="363"/>
<source>Loading evidence:
%1/%2</source>
<translation>Lade Beweisstücke:
%1/%2</translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="395"/>
- <location filename="../src/packet_distribution.cpp" line="490"/>
+ <location filename="../../src/packet_distribution.cpp" line="395"/>
+ <location filename="../../src/packet_distribution.cpp" line="490"/>
<source>Loading music:
%1/%2</source>
<translation>Lade Musik:
%1/%2</translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="467"/>
+ <location filename="../../src/packet_distribution.cpp" line="467"/>
<source>Loading chars:
%1/%2</source>
<translation>Lade Charaktere:
%1/%2</translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="642"/>
+ <location filename="../../src/packet_distribution.cpp" line="642"/>
<source>You have been kicked from the server.
Reason: </source>
<translation>Du wurdest von diesem Server geschmissen.
Grund: </translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="659"/>
+ <location filename="../../src/packet_distribution.cpp" line="659"/>
<source>You are banned on this server.
Reason: </source>
<translation>Du wurdest von diesem Server verbannt.
@@ -93,37 +98,37 @@ Grund: </translation>
<context>
<name>AOCaseAnnouncerDialog</name>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="9"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="9"/>
<source>Case Announcer</source>
<translation>Fallansager</translation>
</message>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="38"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="38"/>
<source>Case title:</source>
<translation>Fallname:</translation>
</message>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="48"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="48"/>
<source>Defense needed</source>
<translation>Verteidiger benötigt</translation>
</message>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="50"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="50"/>
<source>Prosecution needed</source>
<translation>Kläger benötigt</translation>
</message>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="52"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="52"/>
<source>Judge needed</source>
<translation>Richter benötigt</translation>
</message>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="54"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="54"/>
<source>Jurors needed</source>
<translation>Jury benötigt</translation>
</message>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="56"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="56"/>
<source>Stenographer needed</source>
<translation>Stenograph benötigt</translation>
</message>
@@ -131,257 +136,257 @@ Grund: </translation>
<context>
<name>AOOptionsDialog</name>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="11"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="11"/>
<source>Settings</source>
<translation>Einstellungen</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="40"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="40"/>
<source>Gameplay</source>
<translation>Spiel</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="51"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="51"/>
<source>Theme:</source>
<translation>Theme:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="52"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="52"/>
<source>Sets the theme used in-game. If the new theme changes the lobby&apos;s look as well, you&apos;ll need to reload the lobby for the changes to take effect, such as by joining a server and leaving it.</source>
<translation>Setzt das Theme. Wenn das neue Theme auch das Aussehen der Lobby verändert, must du diese neu laden um die Änderungen zu sehen.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="81"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="81"/>
<source>Log goes downwards:</source>
<translation>Verlauf geht nach unten:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="82"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="82"/>
<source>If ticked, new messages will appear at the bottom (like the OOC chatlog). The traditional (AO1) behaviour is equivalent to this being unticked.</source>
<translation>Wenn angehakt werden neue Nachrichten unten erscheinen (wie beim OOC). Das traditionelle (AO1) Verhalten wäre nicht angehakt.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="94"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="94"/>
<source>Log length:</source>
<translation>Länge:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="95"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="95"/>
<source>The amount of messages the IC chatlog will keep before deleting older messages. A value of 0 or below counts as &apos;infinite&apos;.</source>
<translation>Die Menge an Nachrichten die aufgehoben werden bevor alte gelöscht werden. 0 bedeutet unendlich.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="113"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="113"/>
<source>Default username:</source>
<translation>Standard Benutzername:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="114"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="114"/>
<source>Your OOC name will be automatically set to this value when you join a server.</source>
<translation>Dein OOC Name wird automatisch auf dies gesetzt.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="126"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="126"/>
<source>Custom shownames:</source>
<translation>Eigener Anzeigename:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="127"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="127"/>
<source>Gives the default value for the in-game &apos;Custom shownames&apos; tickbox, which in turn determines whether the client should display custom in-character names.</source>
<translation>Standardwert für die Anzeigename Box, welche den In-Charakter Namen bestimmt.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="145"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="145"/>
<source>Backup MS:</source>
<translation>Rückfall MS:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="146"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="146"/>
<source>If the built-in server lookups fail, the game will try the address given here and use it as a backup master server address.</source>
<translation>Wenn dereingebaute Master Server fehlschlägt, wird das Spiel diesen hier verwenden.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="158"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="158"/>
<source>Discord:</source>
<translation>Discord:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="159"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="159"/>
<source>Allows others on Discord to see what server you are in, what character are you playing, and how long you have been playing for.</source>
<translation>Erlaubt anderen auf Discord zu sehen auf welchem Server du spielst, welchen Charakter du spielst und wie lange.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="172"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="172"/>
<source>Callwords</source>
<translation>Alarmwörter</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="197"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="197"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;Enter as many callwords as you would like. These are case insensitive. Make sure to leave every callword in its own line!&lt;br&gt;Do not leave a line with a space at the end -- you will be alerted everytime someone uses a space in their messages.&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;Gib so viele Alarmwörter ein wie du möchtest. Groß/Kleinschreibung ist egal. Für jede Wort nur eine Zeile!&lt;br&gt;Bitte keine leere Zeile am Ende -- du bekommst sonst bei jeder Nachricht einen Alarm.&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="204"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="203"/>
<source>Audio</source>
<translation>Audio</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="215"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="214"/>
<source>Audio device:</source>
<translation>Audiogerät:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="216"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="215"/>
<source>Sets the audio device for all sounds.</source>
<translation>Setzt das Audiogerät für all Geräusche.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="247"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="249"/>
<source>Music:</source>
<translation>Musik:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="248"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="250"/>
<source>Sets the music&apos;s default volume.</source>
<translation>Setzt die Musiklautstärke.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="260"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="262"/>
<source>SFX:</source>
<translation>SFX:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="261"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="263"/>
<source>Sets the SFX&apos;s default volume. Interjections and actual sound effects count as &apos;SFX&apos;.</source>
<translation>Setzt die Lautstärke der Soundeffekte wie Einsprüche und die Geräusche der Charaktere.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="274"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="276"/>
<source>Blips:</source>
<translation>Blips:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="275"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="277"/>
<source>Sets the volume of the blips, the talking sound effects.</source>
<translation>Setzt die Lautstärke der Blips, das ist das Geräusch das die Charaktere beim Reden machen.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="293"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="295"/>
<source>Blip rate:</source>
<translation>Bliprate:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="294"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="296"/>
<source>Sets the delay between playing the blip sounds.</source>
<translation>Setzt die Pause zwischen einzelnen Blips.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="305"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="307"/>
<source>Blank blips:</source>
<translation>Leere Blips:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="306"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="308"/>
<source>If true, the game will play a blip sound even when a space is &apos;being said&apos;.</source>
<translation>Wenn angehakt wird das Spiel auch bei einem Leerzeichen einen Blip machen.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="319"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="320"/>
<source>Casing</source>
<translation>Fälle</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="333"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="334"/>
<source>This server supports case alerts.</source>
<translation>Dieser Server unterstützt Fallalarme.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="335"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="336"/>
<source>This server does not support case alerts.</source>
<translation>Dieser Server unterstützt Fallalarme nicht.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="336"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="337"/>
<source>Pretty self-explanatory.</source>
<translation>Eigentlich selbsterklärend.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="343"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="344"/>
<source>Casing:</source>
<translation>Fälle:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="344"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="345"/>
<source>If checked, you will get alerts about case announcements.</source>
<translation>Wenn angehakt wirst du benachrichtigt wenn ein Fall angekündigt wird.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="357"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="358"/>
<source>Defense:</source>
<translation>Verteidigung:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="358"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="359"/>
<source>If checked, you will get alerts about case announcements if a defense spot is open.</source>
<translation>Wenn angehakt wirst du benachrichtigt wenn ein Verteidiger benötigt wird.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="371"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="372"/>
<source>Prosecution:</source>
<translation>Kläger:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="372"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="373"/>
<source>If checked, you will get alerts about case announcements if a prosecutor spot is open.</source>
<translation>Wenn angehakt wirst du benachrichtigt wenn ein Kläger benötigt wird.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="385"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="386"/>
<source>Judge:</source>
<translation>Richter:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="386"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="387"/>
<source>If checked, you will get alerts about case announcements if the judge spot is open.</source>
<translation>Wenn angehakt wirst du benachrichtigt wenn ein Richter benötigt wird.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="399"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="400"/>
<source>Juror:</source>
<translation>Jury:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="400"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="401"/>
<source>If checked, you will get alerts about case announcements if a juror spot is open.</source>
<translation>Wenn angehakt wirst du benachrichtigt wenn eine Jury benötigt wird.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="413"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="414"/>
<source>Stenographer:</source>
<translation>Stenograph:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="414"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="415"/>
<source>If checked, you will get alerts about case announcements if a stenographer spot is open.</source>
<translation>Wenn angehakt wirst du benachrichtigt wenn ein Stenograph benötigt wird.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="427"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="428"/>
<source>CM:</source>
<translation>CM:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="428"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="429"/>
<source>If checked, you will appear amongst the potential CMs on the server.</source>
<translation>Wenn angehakt wirst du als potentielle CM angezeigt.</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="441"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="442"/>
<source>Hosting cases:</source>
<translation>Fallleitung:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="442"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="443"/>
<source>If you&apos;re a CM, enter what cases you are willing to host.</source>
<translation>Wenn du CM bist, gib ein welche Fälle du spielen möchtest.</translation>
</message>
@@ -389,36 +394,42 @@ Grund: </translation>
<context>
<name>Courtroom</name>
<message>
- <location filename="../src/charselect.cpp" line="21"/>
+ <location filename="../../src/charselect.cpp" line="21"/>
<source>Password</source>
<translation>Passwort</translation>
</message>
<message>
- <location filename="../src/charselect.cpp" line="27"/>
+ <location filename="../../src/charselect.cpp" line="27"/>
<source>Spectator</source>
<translation>Zuschauer</translation>
</message>
<message>
- <location filename="../src/charselect.cpp" line="30"/>
- <location filename="../src/courtroom.cpp" line="138"/>
+ <location filename="../../src/charselect.cpp" line="30"/>
+ <location filename="../../src/courtroom.cpp" line="138"/>
<source>Search</source>
<translation>Suche</translation>
</message>
<message>
- <location filename="../src/charselect.cpp" line="35"/>
+ <location filename="../../src/charselect.cpp" line="35"/>
<source>Passworded</source>
<translation>Gesperrt</translation>
</message>
<message>
- <location filename="../src/charselect.cpp" line="39"/>
+ <location filename="../../src/charselect.cpp" line="39"/>
<source>Taken</source>
<translation>Benutzt</translation>
</message>
<message>
- <location filename="../src/charselect.cpp" line="217"/>
+ <location filename="../../src/charselect.cpp" line="217"/>
<source>Generating chars:
-</source>
+%1/%2</source>
<translation>Generiere Charaktere:
+%1/%2</translation>
+ </message>
+ <message>
+ <source>Generating chars:
+</source>
+ <translation type="vanished">Generiere Charaktere:
</translation>
</message>
<message>
@@ -426,77 +437,77 @@ Grund: </translation>
<translation type="vanished">Konnte %1 nicht finden.</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="116"/>
+ <location filename="../../src/courtroom.cpp" line="116"/>
<source>Showname</source>
<translation>Anzeigename</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="120"/>
+ <location filename="../../src/courtroom.cpp" line="120"/>
<source>Message</source>
<translation>Nachricht</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="130"/>
+ <location filename="../../src/courtroom.cpp" line="130"/>
<source>Name</source>
<translation>Name</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="183"/>
+ <location filename="../../src/courtroom.cpp" line="183"/>
<source>Pre</source>
<translation>Vor</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="186"/>
+ <location filename="../../src/courtroom.cpp" line="186"/>
<source>Flip</source>
<translation>Spiegeln</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="190"/>
+ <location filename="../../src/courtroom.cpp" line="190"/>
<source>Guard</source>
<translation>Wache</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="195"/>
+ <location filename="../../src/courtroom.cpp" line="195"/>
<source>Casing</source>
<translation>Fall</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="200"/>
+ <location filename="../../src/courtroom.cpp" line="200"/>
<source>Shownames</source>
<translation>Anzeigenamen</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="203"/>
+ <location filename="../../src/courtroom.cpp" line="203"/>
<source>No Interrupt</source>
<translation>Keine Unterbrechung</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="217"/>
+ <location filename="../../src/courtroom.cpp" line="217"/>
<source>White</source>
<translation>Weiß</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="218"/>
+ <location filename="../../src/courtroom.cpp" line="218"/>
<source>Green</source>
<translation>Grün</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="219"/>
+ <location filename="../../src/courtroom.cpp" line="219"/>
<source>Red</source>
<translation>Rot</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="220"/>
+ <location filename="../../src/courtroom.cpp" line="220"/>
<source>Orange</source>
<translation>Orange</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="221"/>
+ <location filename="../../src/courtroom.cpp" line="221"/>
<source>Blue</source>
<translation>Blau</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="222"/>
+ <location filename="../../src/courtroom.cpp" line="222"/>
<source>Yellow</source>
<translation>Gelb</translation>
</message>
@@ -513,7 +524,7 @@ Grund: </translation>
<translation type="vanished">Blips</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2959"/>
+ <location filename="../../src/courtroom.cpp" line="2959"/>
<source>Server</source>
<translation>Server</translation>
</message>
@@ -530,7 +541,7 @@ Grund: </translation>
<translation type="vanished">Moderator rufen</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="692"/>
+ <location filename="../../src/courtroom.cpp" line="692"/>
<source>Back to Lobby</source>
<translation>Zurück zur Lobby</translation>
</message>
@@ -543,22 +554,27 @@ Grund: </translation>
<translation type="vanished">%1 hat ein Lied gespielt: %2</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="223"/>
+ <location filename="../../src/courtroom.cpp" line="223"/>
<source>Rainbow</source>
<translation>Regenbogen</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="224"/>
+ <location filename="../../src/courtroom.cpp" line="224"/>
<source>Pink</source>
<translation>Pink</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="225"/>
+ <location filename="../../src/courtroom.cpp" line="225"/>
<source>Cyan</source>
<translation>Cyan</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2681"/>
+ <location filename="../../src/courtroom.cpp" line="248"/>
+ <source>% offset</source>
+ <translation>% Abstand</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2681"/>
<source>You were granted the Guard button.</source>
<translation>Dir wurde der Wache Knopf gegeben.</translation>
</message>
@@ -567,170 +583,186 @@ Grund: </translation>
<translation type="vanished">Dies bewirkt nichts, aber egal.</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2688"/>
+ <location filename="../../src/courtroom.cpp" line="2688"/>
<source>This does nothing, but there you go.</source>
<translation>Dies bewirkt nichts, aber egal.</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2695"/>
+ <location filename="../../src/courtroom.cpp" line="2695"/>
<source>You opened the settings menu.</source>
<translation>Du hast die Einstellungen geöffnet.</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2710"/>
+ <location filename="../../src/courtroom.cpp" line="2710"/>
<source>You will now pair up with </source>
<translation>Du wirst nun mit </translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2712"/>
+ <location filename="../../src/courtroom.cpp" line="2712"/>
<source> if they also choose your character in return.</source>
<translation> gepaart, wenn der andere dies auch tut.</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2718"/>
+ <location filename="../../src/courtroom.cpp" line="2718"/>
<source>You are no longer paired with anyone.</source>
<translation>Du bist nicht mehr gepaart.</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2723"/>
+ <location filename="../../src/courtroom.cpp" line="2723"/>
<source>Are you sure you typed that well? The char ID could not be recognised.</source>
<translation>Hast du dich vertippt? Die ID konnte nicht erkannt werden.</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2739"/>
+ <location filename="../../src/courtroom.cpp" line="2739"/>
<source>You have set your offset to </source>
<translation>Dein Abstand ist auf </translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2746"/>
+ <location filename="../../src/courtroom.cpp" line="2746"/>
<source>Your offset must be between -100% and 100%!</source>
<translation>Der Abstand muss zwischen -100% und 100% liegen!</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2751"/>
+ <location filename="../../src/courtroom.cpp" line="2751"/>
<source>That offset does not look like one.</source>
<translation>Das sieht nicht wie ein Abstand aus.</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2757"/>
+ <location filename="../../src/courtroom.cpp" line="2757"/>
<source>You switched your music and area list.</source>
<translation>Du hast zwischen Musik- und Gebitsliste umgeschaltet.</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2764"/>
+ <location filename="../../src/courtroom.cpp" line="2764"/>
<source>You have forcefully enabled features that the server may not support. You may not be able to talk IC, or worse, because of this.</source>
<translation>Du hast Funktionen erzwungen die der Server eventuell nicht unterstützt. Möglicherweise wirst du nicht mehr sprechen können.</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2775"/>
+ <location filename="../../src/courtroom.cpp" line="2775"/>
<source>Your pre-animations interrupt again.</source>
<translation>Deine Voranimation unterbrechen nun Text.</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2777"/>
+ <location filename="../../src/courtroom.cpp" line="2777"/>
<source>Your pre-animations will not interrupt text.</source>
<translation>Deine Voranimation unterbrechen Text nicht.</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2788"/>
+ <location filename="../../src/courtroom.cpp" line="2788"/>
<source>Couldn&apos;t open chatlog.txt to write into.</source>
<translation>Konnte chatlog.txt nicht öffnen.</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2801"/>
+ <location filename="../../src/courtroom.cpp" line="2801"/>
<source>The IC chatlog has been saved.</source>
<translation>Der IC Verlauf wurde gespeichert.</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2813"/>
+ <location filename="../../src/courtroom.cpp" line="2813"/>
<source>You don&apos;t have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it&apos;s likely the case file you&apos;re looking for can&apos;t be found in there.</source>
<translation>Du hattest keinen &apos;base/cases&apos; Ordner! Ich hab ihn nun angelegt aber bedenke das er leer sein wird.</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2824"/>
+ <location filename="../../src/courtroom.cpp" line="2824"/>
<source>You need to give a filename to load (extension not needed)! Make sure that it is in the `base/cases/` folder, and that it is a correctly formatted ini.
-Cases you can load: </source>
+Cases you can load: %1</source>
<translation>Du musst einen Dateinamen angeben (ohne .ini). Stelle sicher das er im &apos;base/cases&apos; Ordner ist und das er korrekt formatiert ist.
+Verfügbare Fälle: %1</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2845"/>
+ <source>Case made by %1.</source>
+ <translation>Fall von %1.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2851"/>
+ <source>Navigate to %1 for the CM doc.</source>
+ <translation>Gehe zu %1 für das CM Dokument.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2870"/>
+ <source>Your case &quot;%1&quot; was loaded!</source>
+ <translation>Dein Fall &quot;%1&quot; wurde geladen!</translation>
+ </message>
+ <message>
+ <source>You need to give a filename to load (extension not needed)! Make sure that it is in the `base/cases/` folder, and that it is a correctly formatted ini.
+Cases you can load: </source>
+ <translation type="vanished">Du musst einen Dateinamen angeben (ohne .ini). Stelle sicher das er im &apos;base/cases&apos; Ordner ist und das er korrekt formatiert ist.
Verfügbare Fälle: </translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2832"/>
+ <location filename="../../src/courtroom.cpp" line="2832"/>
<source>Too many arguments to load a case! You only need one filename, without extension.</source>
<translation>Zu viele Argumente! Du brauchst nur den Dateinamen, ohne Erweiterung.</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2845"/>
<source>Case made by </source>
- <translation>Fall von </translation>
+ <translation type="vanished">Fall von </translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2851"/>
<source>Navigate to </source>
- <translation>Gehe zu </translation>
+ <translation type="vanished">Gehe zu </translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2851"/>
<source> for the CM doc.</source>
- <translation> für das CM Dokument.</translation>
+ <translation type="vanished"> für das CM Dokument.</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2870"/>
<source>Your case &quot;</source>
- <translation>Dein Fall &quot;</translation>
+ <translation type="vanished">Dein Fall &quot;</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2870"/>
<source>&quot; was loaded!</source>
- <translation>&quot; wurde geladen!</translation>
+ <translation type="vanished">&quot; wurde geladen!</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2882"/>
+ <location filename="../../src/courtroom.cpp" line="2882"/>
<source>You don&apos;t have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it&apos;s likely that you somehow deleted it.</source>
<translation>Du hattest keinen &apos;base/cases&apos; Ordner! Ich hab ihn nun angelegt aber bedenke das er leer sein wird.</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2893"/>
+ <location filename="../../src/courtroom.cpp" line="2893"/>
<source>You need to give a filename to save (extension not needed) and the courtroom status!</source>
<translation>Du musst einen Dateinamen (ohne Erweiterung) angebenn, sowie den Gebietsstatus!</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2901"/>
+ <location filename="../../src/courtroom.cpp" line="2901"/>
<source>Too many arguments to save a case! You only need a filename without extension and the courtroom status!</source>
<translation>Zu viele Argumente! Du brauchst nur den Dateinamen, ohne Erweiterung sowie den Gebietsstatus!</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2923"/>
+ <location filename="../../src/courtroom.cpp" line="2923"/>
<source>Succesfully saved, edit doc and cmdoc link on the ini!</source>
<translation>Erfolgreich gespeichert!</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2951"/>
+ <location filename="../../src/courtroom.cpp" line="2951"/>
<source>Master</source>
<translation>Master</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="3422"/>
+ <location filename="../../src/courtroom.cpp" line="3422"/>
<source>Reason:</source>
<translation>Grund:</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="3423"/>
+ <location filename="../../src/courtroom.cpp" line="3423"/>
<source>Call Moderator</source>
<translation>Moderator rufen</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="3431"/>
- <location filename="../src/courtroom.cpp" line="3434"/>
+ <location filename="../../src/courtroom.cpp" line="3431"/>
+ <location filename="../../src/courtroom.cpp" line="3434"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="3431"/>
+ <location filename="../../src/courtroom.cpp" line="3431"/>
<source>You must provide a reason.</source>
<translation>Du musst einen Grund angeben.</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="3434"/>
+ <location filename="../../src/courtroom.cpp" line="3434"/>
<source>The message is too long.</source>
<translation>Die Nachricht ist zu lang.</translation>
</message>
@@ -739,17 +771,17 @@ Verfügbare Fälle: </translation>
<translation type="vanished">Wähle..</translation>
</message>
<message>
- <location filename="../src/evidence.cpp" line="25"/>
+ <location filename="../../src/evidence.cpp" line="25"/>
<source>Choose...</source>
<translation>Wähle...</translation>
</message>
<message>
- <location filename="../src/evidence.cpp" line="194"/>
+ <location filename="../../src/evidence.cpp" line="194"/>
<source>Images (*.png)</source>
<translation>Bilder (*.png)</translation>
</message>
<message>
- <location filename="../src/evidence.cpp" line="268"/>
+ <location filename="../../src/evidence.cpp" line="268"/>
<source>Add new evidence...</source>
<translation>Neues Beweisstück...</translation>
</message>
@@ -757,72 +789,75 @@ Verfügbare Fälle: </translation>
<context>
<name>Discord</name>
<message>
- <location filename="../src/discord_rich_presence.cpp" line="34"/>
- <location filename="../src/discord_rich_presence.cpp" line="49"/>
- <location filename="../src/discord_rich_presence.cpp" line="75"/>
- <location filename="../src/discord_rich_presence.cpp" line="94"/>
<source>Objection!</source>
- <translation>Einspruch!</translation>
+ <translation type="vanished">Einspruch!</translation>
</message>
<message>
- <location filename="../src/discord_rich_presence.cpp" line="37"/>
<source>In Lobby</source>
- <translation>In Lobby</translation>
+ <translation type="vanished">In Lobby</translation>
</message>
<message>
- <location filename="../src/discord_rich_presence.cpp" line="38"/>
<source>Idle</source>
- <translation>Untätig</translation>
+ <translation type="vanished">Untätig</translation>
</message>
<message>
- <location filename="../src/discord_rich_presence.cpp" line="54"/>
<source>In a Server</source>
- <translation>In einem Server</translation>
+ <translation type="vanished">In einem Server</translation>
</message>
<message>
- <location filename="../src/discord_rich_presence.cpp" line="69"/>
<source>Playing as %1</source>
- <translation>Spielt als %1</translation>
+ <translation type="vanished">Spielt als %1</translation>
</message>
<message>
- <location filename="../src/discord_rich_presence.cpp" line="100"/>
<source>Spectating</source>
- <translation>Zuschauend</translation>
+ <translation type="vanished">Zuschauend</translation>
</message>
</context>
<context>
<name>Lobby</name>
<message>
+ <location filename="../../src/lobby.cpp" line="12"/>
<source>Attorney Online 2</source>
- <translation type="vanished">Attorney Online 2</translation>
+ <translation>Attorney Online 2</translation>
</message>
<message>
+ <location filename="../../src/lobby.cpp" line="29"/>
<source>Name</source>
- <translation type="vanished">Name</translation>
+ <translation>Name</translation>
</message>
<message>
- <location filename="../src/lobby.cpp" line="74"/>
+ <location filename="../../src/lobby.cpp" line="74"/>
<source>It doesn&apos;t look like your client is set up correctly.
Did you download all resources correctly from tiny.cc/getao, including the large &apos;base&apos; folder?</source>
<translation>Dein Client ist nicht korrekt eingerichtet.
Hast du ALLES von tiny.cc/getao heruntergeladen und entpackt, auch den großen &apos;base&apos; Ordner?</translation>
</message>
<message>
- <location filename="../src/lobby.cpp" line="147"/>
+ <location filename="../../src/lobby.cpp" line="104"/>
+ <source>Version: %1</source>
+ <translation>Version: %1</translation>
+ </message>
+ <message>
+ <location filename="../../src/lobby.cpp" line="147"/>
<source>Loading</source>
<translation>Laden</translation>
</message>
<message>
- <location filename="../src/lobby.cpp" line="151"/>
+ <location filename="../../src/lobby.cpp" line="151"/>
<source>Cancel</source>
<translation>Abbrechen</translation>
</message>
<message>
- <location filename="../src/lobby.cpp" line="270"/>
+ <location filename="../../src/lobby.cpp" line="270"/>
<source>&lt;h2&gt;Attorney Online %1&lt;/h2&gt;The courtroom drama simulator&lt;p&gt;&lt;b&gt;Source code:&lt;/b&gt; &lt;a href=&apos;https://github.com/AttorneyOnline/AO2-Client&apos;&gt;https://github.com/AttorneyOnline/AO2-Client&lt;/a&gt;&lt;p&gt;&lt;b&gt;Major development:&lt;/b&gt;&lt;br&gt;OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter&lt;p&gt;&lt;b&gt;Special thanks:&lt;/b&gt;&lt;br&gt;Remy, Iamgoofball, Hibiki, Qubrick (webAO), Ruekasu (UI design), Draxirch (UI design), Unishred, Argoneus (tsuserver), Fiercy, Noevain, Cronnicossy</source>
<translation>&lt;h2&gt;Attorney Online %1&lt;/h2&gt;Der Gerichtsdrama Simulator&lt;p&gt;&lt;b&gt;Quelltext:&lt;/b&gt; &lt;a href=&apos;https://github.com/AttorneyOnline/AO2-Client&apos;&gt;https://github.com/AttorneyOnline/AO2-Client&lt;/a&gt;&lt;p&gt;&lt;b&gt;Leitende Entwicklung:&lt;/b&gt;&lt;br&gt;OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter&lt;p&gt;&lt;b&gt;Danksagungen:&lt;/b&gt;&lt;br&gt;Remy, Iamgoofball, Hibiki, Qubrick (webAO), Ruekasu (UI design), Draxirch (UI design), Unishred, Argoneus (tsuserver), Fiercy, Noevain, Cronnicossy</translation>
</message>
<message>
+ <location filename="../../src/lobby.cpp" line="376"/>
+ <source>Online: %1/%2</source>
+ <translation>Online: %1/%2</translation>
+ </message>
+ <message>
<source>Attorney Online 2 is built using Qt 5.11.
Lead development:
@@ -863,7 +898,8 @@ Noevain
Cronnicossy</translation>
</message>
<message>
- <location filename="../src/lobby.cpp" line="316"/>
+ <location filename="../../src/lobby.cpp" line="114"/>
+ <location filename="../../src/lobby.cpp" line="316"/>
<source>Offline</source>
<translation>Offline</translation>
</message>
@@ -871,17 +907,17 @@ Cronnicossy</translation>
<context>
<name>debug_functions</name>
<message>
- <location filename="../src/debug_functions.cpp" line="10"/>
+ <location filename="../../src/debug_functions.cpp" line="10"/>
<source>Error: %1</source>
<translation>Fehler: %1</translation>
</message>
<message>
- <location filename="../src/debug_functions.cpp" line="11"/>
+ <location filename="../../src/debug_functions.cpp" line="11"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
- <location filename="../src/debug_functions.cpp" line="23"/>
+ <location filename="../../src/debug_functions.cpp" line="23"/>
<source>Notice</source>
<translation>Hinweis</translation>
</message>
diff --git a/resource/translations/ao_en.ts b/resource/translations/ao_en.ts
index 2128630b..390754f1 100644
--- a/resource/translations/ao_en.ts
+++ b/resource/translations/ao_en.ts
@@ -4,66 +4,71 @@
<context>
<name>AOApplication</name>
<message>
- <location filename="../src/aoapplication.cpp" line="138"/>
+ <location filename="../../src/aoapplication.cpp" line="138"/>
<source>Disconnected from server.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aoapplication.cpp" line="168"/>
+ <location filename="../../src/aoapplication.cpp" line="163"/>
+ <source>Error connecting to master server. Will try again in %1 seconds.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/aoapplication.cpp" line="167"/>
<source>There was an error connecting to the master server.
We deploy multiple master servers to mitigate any possible downtime, but the client appears to have exhausted all possible methods of finding and connecting to one.
Please check your Internet connection and firewall, and please try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="106"/>
+ <location filename="../../src/packet_distribution.cpp" line="106"/>
<source>Outdated version! Your version: %1
Please go to aceattorneyonline.com to update.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="114"/>
+ <location filename="../../src/packet_distribution.cpp" line="114"/>
<source>You have been exiled from AO.
Have a nice day.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="249"/>
+ <location filename="../../src/packet_distribution.cpp" line="249"/>
<source>Attorney Online 2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="275"/>
+ <location filename="../../src/packet_distribution.cpp" line="275"/>
<source>Loading</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="363"/>
+ <location filename="../../src/packet_distribution.cpp" line="363"/>
<source>Loading evidence:
%1/%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="395"/>
- <location filename="../src/packet_distribution.cpp" line="490"/>
+ <location filename="../../src/packet_distribution.cpp" line="395"/>
+ <location filename="../../src/packet_distribution.cpp" line="490"/>
<source>Loading music:
%1/%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="467"/>
+ <location filename="../../src/packet_distribution.cpp" line="467"/>
<source>Loading chars:
%1/%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="642"/>
+ <location filename="../../src/packet_distribution.cpp" line="642"/>
<source>You have been kicked from the server.
Reason: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="659"/>
+ <location filename="../../src/packet_distribution.cpp" line="659"/>
<source>You are banned on this server.
Reason: </source>
<translation type="unfinished"></translation>
@@ -72,37 +77,37 @@ Reason: </source>
<context>
<name>AOCaseAnnouncerDialog</name>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="9"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="9"/>
<source>Case Announcer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="38"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="38"/>
<source>Case title:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="48"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="48"/>
<source>Defense needed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="50"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="50"/>
<source>Prosecution needed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="52"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="52"/>
<source>Judge needed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="54"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="54"/>
<source>Jurors needed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="56"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="56"/>
<source>Stenographer needed</source>
<translation type="unfinished"></translation>
</message>
@@ -110,257 +115,257 @@ Reason: </source>
<context>
<name>AOOptionsDialog</name>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="11"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="11"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="40"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="40"/>
<source>Gameplay</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="51"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="51"/>
<source>Theme:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="52"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="52"/>
<source>Sets the theme used in-game. If the new theme changes the lobby&apos;s look as well, you&apos;ll need to reload the lobby for the changes to take effect, such as by joining a server and leaving it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="81"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="81"/>
<source>Log goes downwards:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="82"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="82"/>
<source>If ticked, new messages will appear at the bottom (like the OOC chatlog). The traditional (AO1) behaviour is equivalent to this being unticked.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="94"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="94"/>
<source>Log length:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="95"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="95"/>
<source>The amount of messages the IC chatlog will keep before deleting older messages. A value of 0 or below counts as &apos;infinite&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="113"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="113"/>
<source>Default username:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="114"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="114"/>
<source>Your OOC name will be automatically set to this value when you join a server.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="126"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="126"/>
<source>Custom shownames:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="127"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="127"/>
<source>Gives the default value for the in-game &apos;Custom shownames&apos; tickbox, which in turn determines whether the client should display custom in-character names.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="145"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="145"/>
<source>Backup MS:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="146"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="146"/>
<source>If the built-in server lookups fail, the game will try the address given here and use it as a backup master server address.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="158"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="158"/>
<source>Discord:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="159"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="159"/>
<source>Allows others on Discord to see what server you are in, what character are you playing, and how long you have been playing for.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="172"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="172"/>
<source>Callwords</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="197"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="197"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;Enter as many callwords as you would like. These are case insensitive. Make sure to leave every callword in its own line!&lt;br&gt;Do not leave a line with a space at the end -- you will be alerted everytime someone uses a space in their messages.&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="204"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="203"/>
<source>Audio</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="215"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="214"/>
<source>Audio device:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="216"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="215"/>
<source>Sets the audio device for all sounds.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="247"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="249"/>
<source>Music:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="248"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="250"/>
<source>Sets the music&apos;s default volume.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="260"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="262"/>
<source>SFX:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="261"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="263"/>
<source>Sets the SFX&apos;s default volume. Interjections and actual sound effects count as &apos;SFX&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="274"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="276"/>
<source>Blips:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="275"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="277"/>
<source>Sets the volume of the blips, the talking sound effects.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="293"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="295"/>
<source>Blip rate:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="294"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="296"/>
<source>Sets the delay between playing the blip sounds.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="305"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="307"/>
<source>Blank blips:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="306"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="308"/>
<source>If true, the game will play a blip sound even when a space is &apos;being said&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="319"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="320"/>
<source>Casing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="333"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="334"/>
<source>This server supports case alerts.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="335"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="336"/>
<source>This server does not support case alerts.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="336"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="337"/>
<source>Pretty self-explanatory.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="343"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="344"/>
<source>Casing:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="344"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="345"/>
<source>If checked, you will get alerts about case announcements.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="357"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="358"/>
<source>Defense:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="358"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="359"/>
<source>If checked, you will get alerts about case announcements if a defense spot is open.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="371"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="372"/>
<source>Prosecution:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="372"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="373"/>
<source>If checked, you will get alerts about case announcements if a prosecutor spot is open.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="385"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="386"/>
<source>Judge:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="386"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="387"/>
<source>If checked, you will get alerts about case announcements if the judge spot is open.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="399"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="400"/>
<source>Juror:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="400"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="401"/>
<source>If checked, you will get alerts about case announcements if a juror spot is open.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="413"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="414"/>
<source>Stenographer:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="414"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="415"/>
<source>If checked, you will get alerts about case announcements if a stenographer spot is open.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="427"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="428"/>
<source>CM:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="428"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="429"/>
<source>If checked, you will appear amongst the potential CMs on the server.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="441"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="442"/>
<source>Hosting cases:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="442"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="443"/>
<source>If you&apos;re a CM, enter what cases you are willing to host.</source>
<translation type="unfinished"></translation>
</message>
@@ -368,386 +373,366 @@ Reason: </source>
<context>
<name>Courtroom</name>
<message>
- <location filename="../src/charselect.cpp" line="21"/>
+ <location filename="../../src/charselect.cpp" line="21"/>
<source>Password</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/charselect.cpp" line="27"/>
+ <location filename="../../src/charselect.cpp" line="27"/>
<source>Spectator</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/charselect.cpp" line="30"/>
- <location filename="../src/courtroom.cpp" line="138"/>
+ <location filename="../../src/charselect.cpp" line="30"/>
+ <location filename="../../src/courtroom.cpp" line="138"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/charselect.cpp" line="35"/>
+ <location filename="../../src/charselect.cpp" line="35"/>
<source>Passworded</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/charselect.cpp" line="39"/>
+ <location filename="../../src/charselect.cpp" line="39"/>
<source>Taken</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/charselect.cpp" line="217"/>
+ <location filename="../../src/charselect.cpp" line="217"/>
<source>Generating chars:
-</source>
+%1/%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="116"/>
+ <location filename="../../src/courtroom.cpp" line="116"/>
<source>Showname</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="120"/>
+ <location filename="../../src/courtroom.cpp" line="120"/>
<source>Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="130"/>
+ <location filename="../../src/courtroom.cpp" line="130"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="183"/>
+ <location filename="../../src/courtroom.cpp" line="183"/>
<source>Pre</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="186"/>
+ <location filename="../../src/courtroom.cpp" line="186"/>
<source>Flip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="190"/>
+ <location filename="../../src/courtroom.cpp" line="190"/>
<source>Guard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="195"/>
+ <location filename="../../src/courtroom.cpp" line="195"/>
<source>Casing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="200"/>
+ <location filename="../../src/courtroom.cpp" line="200"/>
<source>Shownames</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="203"/>
+ <location filename="../../src/courtroom.cpp" line="203"/>
<source>No Interrupt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="217"/>
+ <location filename="../../src/courtroom.cpp" line="217"/>
<source>White</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="218"/>
+ <location filename="../../src/courtroom.cpp" line="218"/>
<source>Green</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="219"/>
+ <location filename="../../src/courtroom.cpp" line="219"/>
<source>Red</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="220"/>
+ <location filename="../../src/courtroom.cpp" line="220"/>
<source>Orange</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="221"/>
+ <location filename="../../src/courtroom.cpp" line="221"/>
<source>Blue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="222"/>
+ <location filename="../../src/courtroom.cpp" line="222"/>
<source>Yellow</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2688"/>
+ <location filename="../../src/courtroom.cpp" line="2688"/>
<source>This does nothing, but there you go.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2959"/>
+ <location filename="../../src/courtroom.cpp" line="2824"/>
+ <source>You need to give a filename to load (extension not needed)! Make sure that it is in the `base/cases/` folder, and that it is a correctly formatted ini.
+Cases you can load: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2845"/>
+ <source>Case made by %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2851"/>
+ <source>Navigate to %1 for the CM doc.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2870"/>
+ <source>Your case &quot;%1&quot; was loaded!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2959"/>
<source>Server</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="692"/>
+ <location filename="../../src/courtroom.cpp" line="692"/>
<source>Back to Lobby</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="223"/>
+ <location filename="../../src/courtroom.cpp" line="223"/>
<source>Rainbow</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="224"/>
+ <location filename="../../src/courtroom.cpp" line="224"/>
<source>Pink</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="225"/>
+ <location filename="../../src/courtroom.cpp" line="225"/>
<source>Cyan</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2681"/>
+ <location filename="../../src/courtroom.cpp" line="248"/>
+ <source>% offset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2681"/>
<source>You were granted the Guard button.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2695"/>
+ <location filename="../../src/courtroom.cpp" line="2695"/>
<source>You opened the settings menu.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2710"/>
+ <location filename="../../src/courtroom.cpp" line="2710"/>
<source>You will now pair up with </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2712"/>
+ <location filename="../../src/courtroom.cpp" line="2712"/>
<source> if they also choose your character in return.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2718"/>
+ <location filename="../../src/courtroom.cpp" line="2718"/>
<source>You are no longer paired with anyone.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2723"/>
+ <location filename="../../src/courtroom.cpp" line="2723"/>
<source>Are you sure you typed that well? The char ID could not be recognised.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2739"/>
+ <location filename="../../src/courtroom.cpp" line="2739"/>
<source>You have set your offset to </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2746"/>
+ <location filename="../../src/courtroom.cpp" line="2746"/>
<source>Your offset must be between -100% and 100%!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2751"/>
+ <location filename="../../src/courtroom.cpp" line="2751"/>
<source>That offset does not look like one.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2757"/>
+ <location filename="../../src/courtroom.cpp" line="2757"/>
<source>You switched your music and area list.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2764"/>
+ <location filename="../../src/courtroom.cpp" line="2764"/>
<source>You have forcefully enabled features that the server may not support. You may not be able to talk IC, or worse, because of this.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2775"/>
+ <location filename="../../src/courtroom.cpp" line="2775"/>
<source>Your pre-animations interrupt again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2777"/>
+ <location filename="../../src/courtroom.cpp" line="2777"/>
<source>Your pre-animations will not interrupt text.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2788"/>
+ <location filename="../../src/courtroom.cpp" line="2788"/>
<source>Couldn&apos;t open chatlog.txt to write into.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2801"/>
+ <location filename="../../src/courtroom.cpp" line="2801"/>
<source>The IC chatlog has been saved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2813"/>
+ <location filename="../../src/courtroom.cpp" line="2813"/>
<source>You don&apos;t have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it&apos;s likely the case file you&apos;re looking for can&apos;t be found in there.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2824"/>
- <source>You need to give a filename to load (extension not needed)! Make sure that it is in the `base/cases/` folder, and that it is a correctly formatted ini.
-Cases you can load: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/courtroom.cpp" line="2832"/>
+ <location filename="../../src/courtroom.cpp" line="2832"/>
<source>Too many arguments to load a case! You only need one filename, without extension.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2845"/>
- <source>Case made by </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/courtroom.cpp" line="2851"/>
- <source>Navigate to </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/courtroom.cpp" line="2851"/>
- <source> for the CM doc.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/courtroom.cpp" line="2870"/>
- <source>Your case &quot;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/courtroom.cpp" line="2870"/>
- <source>&quot; was loaded!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/courtroom.cpp" line="2882"/>
+ <location filename="../../src/courtroom.cpp" line="2882"/>
<source>You don&apos;t have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it&apos;s likely that you somehow deleted it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2893"/>
+ <location filename="../../src/courtroom.cpp" line="2893"/>
<source>You need to give a filename to save (extension not needed) and the courtroom status!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2901"/>
+ <location filename="../../src/courtroom.cpp" line="2901"/>
<source>Too many arguments to save a case! You only need a filename without extension and the courtroom status!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2923"/>
+ <location filename="../../src/courtroom.cpp" line="2923"/>
<source>Succesfully saved, edit doc and cmdoc link on the ini!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2951"/>
+ <location filename="../../src/courtroom.cpp" line="2951"/>
<source>Master</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="3422"/>
+ <location filename="../../src/courtroom.cpp" line="3422"/>
<source>Reason:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="3423"/>
+ <location filename="../../src/courtroom.cpp" line="3423"/>
<source>Call Moderator</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="3431"/>
- <location filename="../src/courtroom.cpp" line="3434"/>
+ <location filename="../../src/courtroom.cpp" line="3431"/>
+ <location filename="../../src/courtroom.cpp" line="3434"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="3431"/>
+ <location filename="../../src/courtroom.cpp" line="3431"/>
<source>You must provide a reason.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="3434"/>
+ <location filename="../../src/courtroom.cpp" line="3434"/>
<source>The message is too long.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/evidence.cpp" line="25"/>
+ <location filename="../../src/evidence.cpp" line="25"/>
<source>Choose...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/evidence.cpp" line="194"/>
+ <location filename="../../src/evidence.cpp" line="194"/>
<source>Images (*.png)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/evidence.cpp" line="268"/>
+ <location filename="../../src/evidence.cpp" line="268"/>
<source>Add new evidence...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>Discord</name>
- <message>
- <location filename="../src/discord_rich_presence.cpp" line="34"/>
- <location filename="../src/discord_rich_presence.cpp" line="49"/>
- <location filename="../src/discord_rich_presence.cpp" line="75"/>
- <location filename="../src/discord_rich_presence.cpp" line="94"/>
- <source>Objection!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/discord_rich_presence.cpp" line="37"/>
- <source>In Lobby</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/discord_rich_presence.cpp" line="38"/>
- <source>Idle</source>
- <translation type="unfinished"></translation>
- </message>
+ <name>Lobby</name>
<message>
- <location filename="../src/discord_rich_presence.cpp" line="54"/>
- <source>In a Server</source>
+ <location filename="../../src/lobby.cpp" line="12"/>
+ <source>Attorney Online 2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/discord_rich_presence.cpp" line="69"/>
- <source>Playing as %1</source>
+ <location filename="../../src/lobby.cpp" line="29"/>
+ <source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/discord_rich_presence.cpp" line="100"/>
- <source>Spectating</source>
+ <location filename="../../src/lobby.cpp" line="74"/>
+ <source>It doesn&apos;t look like your client is set up correctly.
+Did you download all resources correctly from tiny.cc/getao, including the large &apos;base&apos; folder?</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>Lobby</name>
<message>
- <location filename="../src/lobby.cpp" line="74"/>
- <source>It doesn&apos;t look like your client is set up correctly.
-Did you download all resources correctly from tiny.cc/getao, including the large &apos;base&apos; folder?</source>
+ <location filename="../../src/lobby.cpp" line="104"/>
+ <source>Version: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/lobby.cpp" line="147"/>
+ <location filename="../../src/lobby.cpp" line="147"/>
<source>Loading</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/lobby.cpp" line="151"/>
+ <location filename="../../src/lobby.cpp" line="151"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/lobby.cpp" line="270"/>
+ <location filename="../../src/lobby.cpp" line="270"/>
<source>&lt;h2&gt;Attorney Online %1&lt;/h2&gt;The courtroom drama simulator&lt;p&gt;&lt;b&gt;Source code:&lt;/b&gt; &lt;a href=&apos;https://github.com/AttorneyOnline/AO2-Client&apos;&gt;https://github.com/AttorneyOnline/AO2-Client&lt;/a&gt;&lt;p&gt;&lt;b&gt;Major development:&lt;/b&gt;&lt;br&gt;OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter&lt;p&gt;&lt;b&gt;Special thanks:&lt;/b&gt;&lt;br&gt;Remy, Iamgoofball, Hibiki, Qubrick (webAO), Ruekasu (UI design), Draxirch (UI design), Unishred, Argoneus (tsuserver), Fiercy, Noevain, Cronnicossy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/lobby.cpp" line="316"/>
+ <location filename="../../src/lobby.cpp" line="376"/>
+ <source>Online: %1/%2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/lobby.cpp" line="114"/>
+ <location filename="../../src/lobby.cpp" line="316"/>
<source>Offline</source>
<translation type="unfinished"></translation>
</message>
@@ -755,17 +740,17 @@ Did you download all resources correctly from tiny.cc/getao, including the large
<context>
<name>debug_functions</name>
<message>
- <location filename="../src/debug_functions.cpp" line="10"/>
+ <location filename="../../src/debug_functions.cpp" line="10"/>
<source>Error: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/debug_functions.cpp" line="11"/>
+ <location filename="../../src/debug_functions.cpp" line="11"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/debug_functions.cpp" line="23"/>
+ <location filename="../../src/debug_functions.cpp" line="23"/>
<source>Notice</source>
<translation type="unfinished"></translation>
</message>
diff --git a/resource/translations/ao_es.ts b/resource/translations/ao_es.ts
new file mode 100644
index 00000000..c55ed16f
--- /dev/null
+++ b/resource/translations/ao_es.ts
@@ -0,0 +1,811 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="es">
+<context>
+ <name>AOApplication</name>
+ <message>
+ <location filename="../../src/aoapplication.cpp" line="138"/>
+ <source>Disconnected from server.</source>
+ <translation>Desconectado del servidor.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aoapplication.cpp" line="163"/>
+ <source>Error connecting to master server. Will try again in %1 seconds.</source>
+ <translation>Error al conectarse a la lista de servidores. Se intentará nuevamente en %1 segundos.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aoapplication.cpp" line="167"/>
+ <source>There was an error connecting to the master server.
+We deploy multiple master servers to mitigate any possible downtime, but the client appears to have exhausted all possible methods of finding and connecting to one.
+Please check your Internet connection and firewall, and please try again.</source>
+ <translatorcomment>I translated master servers as &quot;lista de servidores&quot; because literally nobody will understand if i make the literal translation &quot;servidor maestro&quot;. And in the end a master server is just a list of servers. Also removed the part about having multiple master servers, i just don&apos;t think the average user will understand this even if i do a good translation.</translatorcomment>
+ <translation>Hubo un error al obtener la lista de servidores. Verifique su conexión a Internet y firewall, y vuelva a intentarlo.</translation>
+ </message>
+ <message>
+ <location filename="../../src/packet_distribution.cpp" line="106"/>
+ <source>Outdated version! Your version: %1
+Please go to aceattorneyonline.com to update.</source>
+ <translation>¡Versión desactualizada! Su versión: %1 Vaya a aceattorneyonline.com para actualizar.</translation>
+ </message>
+ <message>
+ <location filename="../../src/packet_distribution.cpp" line="114"/>
+ <source>You have been exiled from AO.
+Have a nice day.</source>
+ <translation>Has sido exiliado de AO.
+Que tengas un buen día.</translation>
+ </message>
+ <message>
+ <location filename="../../src/packet_distribution.cpp" line="249"/>
+ <source>Attorney Online 2</source>
+ <translation>Attorney Online 2</translation>
+ </message>
+ <message>
+ <location filename="../../src/packet_distribution.cpp" line="275"/>
+ <source>Loading</source>
+ <translation>Cargando</translation>
+ </message>
+ <message>
+ <location filename="../../src/packet_distribution.cpp" line="363"/>
+ <source>Loading evidence:
+%1/%2</source>
+ <translation>Cargando evidencia:
+%1/%2</translation>
+ </message>
+ <message>
+ <location filename="../../src/packet_distribution.cpp" line="395"/>
+ <location filename="../../src/packet_distribution.cpp" line="490"/>
+ <source>Loading music:
+%1/%2</source>
+ <translation>Cargando música:
+%1/%2</translation>
+ </message>
+ <message>
+ <location filename="../../src/packet_distribution.cpp" line="467"/>
+ <source>Loading chars:
+%1/%2</source>
+ <translation>Cargando personajes:
+%1/%2</translation>
+ </message>
+ <message>
+ <location filename="../../src/packet_distribution.cpp" line="642"/>
+ <source>You have been kicked from the server.
+Reason: </source>
+ <translation>Has sido expulsado del servidor.
+Razón: </translation>
+ </message>
+ <message>
+ <location filename="../../src/packet_distribution.cpp" line="659"/>
+ <source>You are banned on this server.
+Reason: </source>
+ <translation>Has sido baneado en este servidor.
+Razón: </translation>
+ </message>
+</context>
+<context>
+ <name>AOCaseAnnouncerDialog</name>
+ <message>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="9"/>
+ <source>Case Announcer</source>
+ <translation>Anunciar caso</translation>
+ </message>
+ <message>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="38"/>
+ <source>Case title:</source>
+ <translation>Título del caso:</translation>
+ </message>
+ <message>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="48"/>
+ <source>Defense needed</source>
+ <translation>Se necesita defensa</translation>
+ </message>
+ <message>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="50"/>
+ <source>Prosecution needed</source>
+ <translation>Se necesita fiscal</translation>
+ </message>
+ <message>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="52"/>
+ <source>Judge needed</source>
+ <translation>Se necesita juez</translation>
+ </message>
+ <message>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="54"/>
+ <source>Jurors needed</source>
+ <translation>Se necesita jurado</translation>
+ </message>
+ <message>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="56"/>
+ <source>Stenographer needed</source>
+ <translation>Se necesita taquígrafo</translation>
+ </message>
+</context>
+<context>
+ <name>AOOptionsDialog</name>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="11"/>
+ <source>Settings</source>
+ <translation>Ajustes</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="40"/>
+ <source>Gameplay</source>
+ <translation>Jugabilidad</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="51"/>
+ <source>Theme:</source>
+ <translation>Tema visual:</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="52"/>
+ <source>Sets the theme used in-game. If the new theme changes the lobby&apos;s look as well, you&apos;ll need to reload the lobby for the changes to take effect, such as by joining a server and leaving it.</source>
+ <translation>Establece el tema visual utilizado en el juego. Si el nuevo tema también cambia el aspecto del lobby, deberá volver a cargar el lobby para que los cambios surtan efecto, como unirse a un servidor y volver al lobby.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="81"/>
+ <source>Log goes downwards:</source>
+ <translation>Invertir historial IC:</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="82"/>
+ <source>If ticked, new messages will appear at the bottom (like the OOC chatlog). The traditional (AO1) behaviour is equivalent to this being unticked.</source>
+ <translation>Si está marcado, los nuevos mensajes aparecerán en la parte inferior (como el chat OOC).</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="94"/>
+ <source>Log length:</source>
+ <translation>Longitud del historial:</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="95"/>
+ <source>The amount of messages the IC chatlog will keep before deleting older messages. A value of 0 or below counts as &apos;infinite&apos;.</source>
+ <translation>La cantidad de mensajes que mantendrá el historial del chat IC antes de eliminar mensajes más antiguos. 0 significa &apos;infinito&apos;.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="113"/>
+ <source>Default username:</source>
+ <translation>Usuario predeterminado:</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="114"/>
+ <source>Your OOC name will be automatically set to this value when you join a server.</source>
+ <translation>Su nombre OOC se establecerá automáticamente a este cuando se una a un servidor.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="126"/>
+ <source>Custom shownames:</source>
+ <translation>Mostrar nombres:</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="127"/>
+ <source>Gives the default value for the in-game &apos;Custom shownames&apos; tickbox, which in turn determines whether the client should display custom in-character names.</source>
+ <translation>Activa la casilla &apos;Mostrar nombres&apos; de forma predeterminada en el juego, que a su vez determina si el cliente debe mostrar nombres personalizados en los personajes.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="145"/>
+ <source>Backup MS:</source>
+ <translation>MS de respaldo:</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="146"/>
+ <source>If the built-in server lookups fail, the game will try the address given here and use it as a backup master server address.</source>
+ <translation>Si la lista de servidores predeterminada falla, el juego probará la dirección proporcionada aquí.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="158"/>
+ <source>Discord:</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="159"/>
+ <source>Allows others on Discord to see what server you are in, what character are you playing, and how long you have been playing for.</source>
+ <translation>Permite a otros en Discord ver en qué servidor estás, qué personaje juegas y cuánto tiempo has estado jugando.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="171"/>
+ <source>Language:</source>
+ <translation>Idioma:</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="172"/>
+ <source>Sets the language if you don&apos;t want to use your system language.</source>
+ <translation>Establece el idioma si no desea utilizar el idioma de su sistema.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="184"/>
+ <source>Callwords</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="209"/>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;Enter as many callwords as you would like. These are case insensitive. Make sure to leave every callword in its own line!&lt;br&gt;Do not leave a line with a space at the end -- you will be alerted everytime someone uses a space in their messages.&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;Ingrese tantas palabras de llamada como desee.&lt;br&gt;Esto no distingue entre mayúsculas y minúsculas. ¡Asegúrese de dejar cada palabra en su propia línea!&lt;br&gt;No deje una línea con un espacio al final; recibirá una alerta cada vez que alguien use un espacio en sus mensajes.&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="215"/>
+ <source>Audio</source>
+ <translation>Audio</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="226"/>
+ <source>Audio device:</source>
+ <translation>Dispositivo:</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="227"/>
+ <source>Sets the audio device for all sounds.</source>
+ <translation>Establece el dispositivo de audio.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="261"/>
+ <source>Music:</source>
+ <translation>Música:</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="262"/>
+ <source>Sets the music&apos;s default volume.</source>
+ <translation>Establece el volumen predeterminado de la música.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="274"/>
+ <source>SFX:</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="275"/>
+ <source>Sets the SFX&apos;s default volume. Interjections and actual sound effects count as &apos;SFX&apos;.</source>
+ <translation>Establece el volumen predeterminado de SFX. Las interjecciones y los efectos de sonido reales cuentan como &apos;SFX&apos;.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="288"/>
+ <source>Blips:</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="289"/>
+ <source>Sets the volume of the blips, the talking sound effects.</source>
+ <translation>Establece el volumen de los blips, el sonido al hablar.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="307"/>
+ <source>Blip rate:</source>
+ <translation>Tasa de blips:</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="308"/>
+ <source>Sets the delay between playing the blip sounds.</source>
+ <translation>Establece el retraso entre la reproducción de los sonidos blip.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="319"/>
+ <source>Blank blips:</source>
+ <translation>Blips en blanco:</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="320"/>
+ <source>If true, the game will play a blip sound even when a space is &apos;being said&apos;.</source>
+ <translation>Si está marcada, el juego reproducirá un sonido blip incluso cuando se &apos;dice&apos; un espacio.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="332"/>
+ <source>Casing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="346"/>
+ <source>This server supports case alerts.</source>
+ <translation>Este servidor admite alertas de casos.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="348"/>
+ <source>This server does not support case alerts.</source>
+ <translation>Este servidor no admite alertas de casos.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="349"/>
+ <source>Pretty self-explanatory.</source>
+ <translation>Bastante autoexplicativo.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="356"/>
+ <source>Casing:</source>
+ <translation>Caso:</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="357"/>
+ <source>If checked, you will get alerts about case announcements.</source>
+ <translation>Si está marcado, recibirá anuncios de casos.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="370"/>
+ <source>Defense:</source>
+ <translation>Defensa:</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="371"/>
+ <source>If checked, you will get alerts about case announcements if a defense spot is open.</source>
+ <translation>Si está marcado, recibirá alertas sobre anuncios de casos si hay un lugar de defensa abierto.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="384"/>
+ <source>Prosecution:</source>
+ <translation>Fiscal:</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="385"/>
+ <source>If checked, you will get alerts about case announcements if a prosecutor spot is open.</source>
+ <translation>Si está marcada, recibirá alertas sobre anuncios de casos si hay un puesto de fiscal abierto.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="398"/>
+ <source>Judge:</source>
+ <translation>Juez:</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="399"/>
+ <source>If checked, you will get alerts about case announcements if the judge spot is open.</source>
+ <translation>Si está marcado, recibirá alertas sobre anuncios de casos si el puesto de juez está abierto.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="412"/>
+ <source>Juror:</source>
+ <translation>Jurado:</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="413"/>
+ <source>If checked, you will get alerts about case announcements if a juror spot is open.</source>
+ <translation>Si está marcado, recibirá alertas sobre anuncios de casos si hay un puesto de jurado abierto.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="426"/>
+ <source>Stenographer:</source>
+ <translation>Taquígrafo:</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="427"/>
+ <source>If checked, you will get alerts about case announcements if a stenographer spot is open.</source>
+ <translation>Si está marcado, recibirá alertas sobre anuncios de casos si hay un lugar de taquígrafo abierto.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="440"/>
+ <source>CM:</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="441"/>
+ <source>If checked, you will appear amongst the potential CMs on the server.</source>
+ <translation>Si está marcado, aparecerá entre los posibles CM en el servidor.</translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="454"/>
+ <source>Hosting cases:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/aooptionsdialog.cpp" line="455"/>
+ <source>If you&apos;re a CM, enter what cases you are willing to host.</source>
+ <translation>Si eres un CM, ingresa qué casos estás dispuesto a organizar.</translation>
+ </message>
+</context>
+<context>
+ <name>Courtroom</name>
+ <message>
+ <location filename="../../src/charselect.cpp" line="21"/>
+ <source>Password</source>
+ <translation>Contraseña</translation>
+ </message>
+ <message>
+ <location filename="../../src/charselect.cpp" line="27"/>
+ <source>Spectator</source>
+ <translation>Espectador</translation>
+ </message>
+ <message>
+ <location filename="../../src/charselect.cpp" line="30"/>
+ <location filename="../../src/courtroom.cpp" line="138"/>
+ <source>Search</source>
+ <translation>Buscar</translation>
+ </message>
+ <message>
+ <location filename="../../src/charselect.cpp" line="35"/>
+ <source>Passworded</source>
+ <translation>Contraseña</translation>
+ </message>
+ <message>
+ <location filename="../../src/charselect.cpp" line="39"/>
+ <source>Taken</source>
+ <translation>En uso</translation>
+ </message>
+ <message>
+ <location filename="../../src/charselect.cpp" line="217"/>
+ <source>Generating chars:
+%1/%2</source>
+ <translation>Generando personajes:
+%1/%2</translation>
+ </message>
+ <message>
+ <source>Generating chars:
+</source>
+ <translation type="obsolete">Generando personajes:
+</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="116"/>
+ <source>Showname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="120"/>
+ <source>Message</source>
+ <translation>Mensaje</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="130"/>
+ <source>Name</source>
+ <translation>Nombre</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="183"/>
+ <source>Pre</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="186"/>
+ <source>Flip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="190"/>
+ <source>Guard</source>
+ <translation>Guardia</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="195"/>
+ <source>Casing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="200"/>
+ <source>Shownames</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="203"/>
+ <source>No Interrupt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="217"/>
+ <source>White</source>
+ <translation>Blanco</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="218"/>
+ <source>Green</source>
+ <translation>Verde</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="219"/>
+ <source>Red</source>
+ <translation>Rojo</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="220"/>
+ <source>Orange</source>
+ <translation>Naranja</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="221"/>
+ <source>Blue</source>
+ <translation>Azul</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="222"/>
+ <source>Yellow</source>
+ <translation>Amarillo</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="223"/>
+ <source>Rainbow</source>
+ <translation>Arcoíris</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="224"/>
+ <source>Pink</source>
+ <translation>Rosado</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="225"/>
+ <source>Cyan</source>
+ <translation>Cian</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="248"/>
+ <source>% offset</source>
+ <translation>% desplazamiento</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="692"/>
+ <source>Back to Lobby</source>
+ <translation>Volver al lobby</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2681"/>
+ <source>You were granted the Guard button.</source>
+ <translation>Te ha sido otorgado el botón Guardia.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2688"/>
+ <source>This does nothing, but there you go.</source>
+ <translation>Esto no hace nada, pero ahí lo tienes.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2695"/>
+ <source>You opened the settings menu.</source>
+ <translation>Abriste el menú de configuración.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2710"/>
+ <source>You will now pair up with </source>
+ <translation>Ahora te emparejarás con </translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2712"/>
+ <source> if they also choose your character in return.</source>
+ <translation> si ellos también eligen a tu personaje a cambio.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2718"/>
+ <source>You are no longer paired with anyone.</source>
+ <translation>Ya no estás emparejado con nadie.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2723"/>
+ <source>Are you sure you typed that well? The char ID could not be recognised.</source>
+ <translation>¿Estás seguro de que lo escribiste bien? El ID de personaje no pudo ser reconocido.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2739"/>
+ <source>You have set your offset to </source>
+ <translation>Ha configurado su desplazamiento en </translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2746"/>
+ <source>Your offset must be between -100% and 100%!</source>
+ <translation>¡Su desplazamiento debe estar entre -100% y 100%!</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2751"/>
+ <source>That offset does not look like one.</source>
+ <translation>Ese desplazamiento no se parece a uno.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2757"/>
+ <source>You switched your music and area list.</source>
+ <translation>Cambiaste tu lista de música y área.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2764"/>
+ <source>You have forcefully enabled features that the server may not support. You may not be able to talk IC, or worse, because of this.</source>
+ <translation>Ha habilitado forzosamente funciones que el servidor puede no admitir. Es posible que no pueda hablar IC, o peor, debido a esto.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2775"/>
+ <source>Your pre-animations interrupt again.</source>
+ <translation>Sus pre-animaciones interrumpen de nuevo.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2777"/>
+ <source>Your pre-animations will not interrupt text.</source>
+ <translation>Sus pre-animaciones no interrumpirán el texto.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2788"/>
+ <source>Couldn&apos;t open chatlog.txt to write into.</source>
+ <translation>No se pudo abrir chatlog.txt para escribir.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2801"/>
+ <source>The IC chatlog has been saved.</source>
+ <translation>El chat IC se ha guardado.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2813"/>
+ <source>You don&apos;t have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it&apos;s likely the case file you&apos;re looking for can&apos;t be found in there.</source>
+ <translation>¡No tienes una carpeta `base/cases /`! Ha sido creada para ti. Pero debido a que no existia la carpeta, tampoco habían casos guardados ahí.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2824"/>
+ <source>You need to give a filename to load (extension not needed)! Make sure that it is in the `base/cases/` folder, and that it is a correctly formatted ini.
+Cases you can load: %1</source>
+ <translation>¡Debe dar un nombre de archivo para cargar (no se necesita extensión)! Asegúrese de que esté en la carpeta `base/cases/` y de que tenga el formato correcto.
+Casos que puede cargar: %1</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2845"/>
+ <source>Case made by %1.</source>
+ <translation>Caso hecho por %1.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2851"/>
+ <source>Navigate to %1 for the CM doc.</source>
+ <translation>Navegue a %1 para el documento del CM.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2870"/>
+ <source>Your case &quot;%1&quot; was loaded!</source>
+ <translation>Su caso &quot;%1&quot; fue cargado!</translation>
+ </message>
+ <message>
+ <source>You need to give a filename to load (extension not needed)! Make sure that it is in the `base/cases/` folder, and that it is a correctly formatted ini.
+Cases you can load: </source>
+ <translation type="obsolete">¡Debe dar un nombre de archivo para cargar (no se necesita extensión)! Asegúrese de que esté en la carpeta `base/cases/` y de que tenga el formato correcto.
+Casos que puede cargar: </translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2832"/>
+ <source>Too many arguments to load a case! You only need one filename, without extension.</source>
+ <translation>¡Demasiados argumentos para cargar un caso! Solo necesita un nombre de archivo, sin extensión.</translation>
+ </message>
+ <message>
+ <source>Case made by </source>
+ <translation type="obsolete">Caso hecho por </translation>
+ </message>
+ <message>
+ <source>Navigate to </source>
+ <translation type="obsolete">Navegue a </translation>
+ </message>
+ <message>
+ <source> for the CM doc.</source>
+ <translation type="obsolete"> para el documento de CM.</translation>
+ </message>
+ <message>
+ <source>Your case &quot;</source>
+ <translation type="obsolete">Su caso &quot;</translation>
+ </message>
+ <message>
+ <source>&quot; was loaded!</source>
+ <translation type="obsolete">&quot; fue cargado!</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2882"/>
+ <source>You don&apos;t have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it&apos;s likely that you somehow deleted it.</source>
+ <translation>¡No tienes una carpeta `base/cases /`! Fue creada para ti.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2893"/>
+ <source>You need to give a filename to save (extension not needed) and the courtroom status!</source>
+ <translation>¡Debe dar un nombre de archivo para guardar (no se necesita la extensión) y el estado de la sala del tribunal!</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2901"/>
+ <source>Too many arguments to save a case! You only need a filename without extension and the courtroom status!</source>
+ <translatorcomment>why two exclamations, seems excesive.</translatorcomment>
+ <translation>¡Demasiados argumentos para salvar un caso! Solo necesita un nombre de archivo sin extensión y el estado de la sala del tribunal.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2923"/>
+ <source>Succesfully saved, edit doc and cmdoc link on the ini!</source>
+ <translation>¡Guardado con éxito, puede editar el doc y doc link en el archivo ini!</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2951"/>
+ <source>Master</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2959"/>
+ <source>Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="3422"/>
+ <source>Reason:</source>
+ <translation>Razón:</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="3423"/>
+ <source>Call Moderator</source>
+ <translation>Llamar Moderador</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="3431"/>
+ <location filename="../../src/courtroom.cpp" line="3434"/>
+ <source>Error</source>
+ <translation>Error</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="3431"/>
+ <source>You must provide a reason.</source>
+ <translation>Debes proporcionar una razón.</translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="3434"/>
+ <source>The message is too long.</source>
+ <translation>El mensaje es muy largo.</translation>
+ </message>
+ <message>
+ <location filename="../../src/evidence.cpp" line="25"/>
+ <source>Choose...</source>
+ <translation>Elegir...</translation>
+ </message>
+ <message>
+ <location filename="../../src/evidence.cpp" line="194"/>
+ <source>Images (*.png)</source>
+ <translation>Imágenes (* .png)</translation>
+ </message>
+ <message>
+ <location filename="../../src/evidence.cpp" line="268"/>
+ <source>Add new evidence...</source>
+ <translation>Añadir nueva evidencia...</translation>
+ </message>
+</context>
+<context>
+ <name>Lobby</name>
+ <message>
+ <location filename="../../src/lobby.cpp" line="12"/>
+ <source>Attorney Online 2</source>
+ <translation>Attorney Online 2</translation>
+ </message>
+ <message>
+ <location filename="../../src/lobby.cpp" line="29"/>
+ <source>Name</source>
+ <translation>Nombre</translation>
+ </message>
+ <message>
+ <location filename="../../src/lobby.cpp" line="74"/>
+ <source>It doesn&apos;t look like your client is set up correctly.
+Did you download all resources correctly from tiny.cc/getao, including the large &apos;base&apos; folder?</source>
+ <translation>No parece que su cliente esté configurado correctamente.
+¿Descargó todos los recursos correctamente desde tiny.cc/getao, incluida la gran carpeta &apos;base&apos;?</translation>
+ </message>
+ <message>
+ <location filename="../../src/lobby.cpp" line="104"/>
+ <source>Version: %1</source>
+ <translation>Versión: %1</translation>
+ </message>
+ <message>
+ <location filename="../../src/lobby.cpp" line="147"/>
+ <source>Loading</source>
+ <translation>Cargando</translation>
+ </message>
+ <message>
+ <location filename="../../src/lobby.cpp" line="151"/>
+ <source>Cancel</source>
+ <translation>Cancelar</translation>
+ </message>
+ <message>
+ <location filename="../../src/lobby.cpp" line="270"/>
+ <source>&lt;h2&gt;Attorney Online %1&lt;/h2&gt;The courtroom drama simulator&lt;p&gt;&lt;b&gt;Source code:&lt;/b&gt; &lt;a href=&apos;https://github.com/AttorneyOnline/AO2-Client&apos;&gt;https://github.com/AttorneyOnline/AO2-Client&lt;/a&gt;&lt;p&gt;&lt;b&gt;Major development:&lt;/b&gt;&lt;br&gt;OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter&lt;p&gt;&lt;b&gt;Special thanks:&lt;/b&gt;&lt;br&gt;Remy, Iamgoofball, Hibiki, Qubrick (webAO), Ruekasu (UI design), Draxirch (UI design), Unishred, Argoneus (tsuserver), Fiercy, Noevain, Cronnicossy</source>
+ <translation>&lt;h2&gt;Attorney Online %1&lt;/h2&gt;El simulador de drama de la sala del tribunal&lt;p&gt;&lt;b&gt;Código fuente:&lt;/b&gt; &lt;a href=&apos;https://github.com/AttorneyOnline/AO2-Client&apos;&gt;https: //github.com/AttorneyOnline/AO2-Client&lt;/a&gt;&lt;p&gt;&lt;b&gt;Desarrollo mayor:&lt;/b&gt; &lt;br&gt;OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter&lt;p&gt;&lt;b&gt;Agradecimiento especial:&lt;/b&gt;&lt;br&gt;Remy, Iamgoofball, Hibiki, Qubrick (webAO), Ruekasu (diseño de interfaz de usuario), Draxirch (diseño de interfaz de usuario), Unishred, Argoneus (tsuserver), Fiercy, Noevain, Cronnicossy</translation>
+ </message>
+ <message>
+ <location filename="../../src/lobby.cpp" line="376"/>
+ <source>Online: %1/%2</source>
+ <translation>En línea: %1/%2</translation>
+ </message>
+ <message>
+ <location filename="../../src/lobby.cpp" line="114"/>
+ <location filename="../../src/lobby.cpp" line="316"/>
+ <source>Offline</source>
+ <translation>Fuera de línea</translation>
+ </message>
+</context>
+<context>
+ <name>debug_functions</name>
+ <message>
+ <location filename="../../src/debug_functions.cpp" line="10"/>
+ <source>Error: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/debug_functions.cpp" line="11"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/debug_functions.cpp" line="23"/>
+ <source>Notice</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/resource/translations/ao_ja.qm b/resource/translations/ao_ja.qm
index 2e7093ac..badf3f44 100644
--- a/resource/translations/ao_ja.qm
+++ b/resource/translations/ao_ja.qm
Binary files differ
diff --git a/resource/translations/ao_ja.ts b/resource/translations/ao_ja.ts
index 7d3eb8b0..adacb544 100644
--- a/resource/translations/ao_ja.ts
+++ b/resource/translations/ao_ja.ts
@@ -4,66 +4,71 @@
<context>
<name>AOApplication</name>
<message>
- <location filename="../src/aoapplication.cpp" line="138"/>
+ <location filename="../../src/aoapplication.cpp" line="138"/>
<source>Disconnected from server.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aoapplication.cpp" line="168"/>
+ <location filename="../../src/aoapplication.cpp" line="163"/>
+ <source>Error connecting to master server. Will try again in %1 seconds.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/aoapplication.cpp" line="167"/>
<source>There was an error connecting to the master server.
We deploy multiple master servers to mitigate any possible downtime, but the client appears to have exhausted all possible methods of finding and connecting to one.
Please check your Internet connection and firewall, and please try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="106"/>
+ <location filename="../../src/packet_distribution.cpp" line="106"/>
<source>Outdated version! Your version: %1
Please go to aceattorneyonline.com to update.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="114"/>
+ <location filename="../../src/packet_distribution.cpp" line="114"/>
<source>You have been exiled from AO.
Have a nice day.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="249"/>
+ <location filename="../../src/packet_distribution.cpp" line="249"/>
<source>Attorney Online 2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="275"/>
+ <location filename="../../src/packet_distribution.cpp" line="275"/>
<source>Loading</source>
<translation>ロード中</translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="363"/>
+ <location filename="../../src/packet_distribution.cpp" line="363"/>
<source>Loading evidence:
%1/%2</source>
<translation>証拠がロード中: %1/%2</translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="395"/>
- <location filename="../src/packet_distribution.cpp" line="490"/>
+ <location filename="../../src/packet_distribution.cpp" line="395"/>
+ <location filename="../../src/packet_distribution.cpp" line="490"/>
<source>Loading music:
%1/%2</source>
<translation>音楽がロード中: %1/%2</translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="467"/>
+ <location filename="../../src/packet_distribution.cpp" line="467"/>
<source>Loading chars:
%1/%2</source>
<translation>キャラがロード中: %1/%2</translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="642"/>
+ <location filename="../../src/packet_distribution.cpp" line="642"/>
<source>You have been kicked from the server.
Reason: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/packet_distribution.cpp" line="659"/>
+ <location filename="../../src/packet_distribution.cpp" line="659"/>
<source>You are banned on this server.
Reason: </source>
<translation type="unfinished"></translation>
@@ -72,37 +77,37 @@ Reason: </source>
<context>
<name>AOCaseAnnouncerDialog</name>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="9"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="9"/>
<source>Case Announcer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="38"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="38"/>
<source>Case title:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="48"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="48"/>
<source>Defense needed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="50"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="50"/>
<source>Prosecution needed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="52"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="52"/>
<source>Judge needed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="54"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="54"/>
<source>Jurors needed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aocaseannouncerdialog.cpp" line="56"/>
+ <location filename="../../src/aocaseannouncerdialog.cpp" line="56"/>
<source>Stenographer needed</source>
<translation type="unfinished"></translation>
</message>
@@ -110,257 +115,257 @@ Reason: </source>
<context>
<name>AOOptionsDialog</name>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="11"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="11"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="40"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="40"/>
<source>Gameplay</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="51"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="51"/>
<source>Theme:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="52"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="52"/>
<source>Sets the theme used in-game. If the new theme changes the lobby&apos;s look as well, you&apos;ll need to reload the lobby for the changes to take effect, such as by joining a server and leaving it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="81"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="81"/>
<source>Log goes downwards:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="82"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="82"/>
<source>If ticked, new messages will appear at the bottom (like the OOC chatlog). The traditional (AO1) behaviour is equivalent to this being unticked.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="94"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="94"/>
<source>Log length:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="95"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="95"/>
<source>The amount of messages the IC chatlog will keep before deleting older messages. A value of 0 or below counts as &apos;infinite&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="113"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="113"/>
<source>Default username:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="114"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="114"/>
<source>Your OOC name will be automatically set to this value when you join a server.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="126"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="126"/>
<source>Custom shownames:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="127"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="127"/>
<source>Gives the default value for the in-game &apos;Custom shownames&apos; tickbox, which in turn determines whether the client should display custom in-character names.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="145"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="145"/>
<source>Backup MS:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="146"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="146"/>
<source>If the built-in server lookups fail, the game will try the address given here and use it as a backup master server address.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="158"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="158"/>
<source>Discord:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="159"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="159"/>
<source>Allows others on Discord to see what server you are in, what character are you playing, and how long you have been playing for.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="172"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="172"/>
<source>Callwords</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="197"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="197"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;Enter as many callwords as you would like. These are case insensitive. Make sure to leave every callword in its own line!&lt;br&gt;Do not leave a line with a space at the end -- you will be alerted everytime someone uses a space in their messages.&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="204"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="203"/>
<source>Audio</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="215"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="214"/>
<source>Audio device:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="216"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="215"/>
<source>Sets the audio device for all sounds.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="247"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="249"/>
<source>Music:</source>
<translation>音楽:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="248"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="250"/>
<source>Sets the music&apos;s default volume.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="260"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="262"/>
<source>SFX:</source>
<translation>効果音:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="261"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="263"/>
<source>Sets the SFX&apos;s default volume. Interjections and actual sound effects count as &apos;SFX&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="274"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="276"/>
<source>Blips:</source>
<translation>ブリップ:</translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="275"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="277"/>
<source>Sets the volume of the blips, the talking sound effects.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="293"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="295"/>
<source>Blip rate:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="294"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="296"/>
<source>Sets the delay between playing the blip sounds.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="305"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="307"/>
<source>Blank blips:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="306"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="308"/>
<source>If true, the game will play a blip sound even when a space is &apos;being said&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="319"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="320"/>
<source>Casing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="333"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="334"/>
<source>This server supports case alerts.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="335"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="336"/>
<source>This server does not support case alerts.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="336"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="337"/>
<source>Pretty self-explanatory.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="343"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="344"/>
<source>Casing:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="344"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="345"/>
<source>If checked, you will get alerts about case announcements.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="357"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="358"/>
<source>Defense:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="358"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="359"/>
<source>If checked, you will get alerts about case announcements if a defense spot is open.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="371"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="372"/>
<source>Prosecution:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="372"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="373"/>
<source>If checked, you will get alerts about case announcements if a prosecutor spot is open.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="385"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="386"/>
<source>Judge:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="386"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="387"/>
<source>If checked, you will get alerts about case announcements if the judge spot is open.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="399"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="400"/>
<source>Juror:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="400"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="401"/>
<source>If checked, you will get alerts about case announcements if a juror spot is open.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="413"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="414"/>
<source>Stenographer:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="414"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="415"/>
<source>If checked, you will get alerts about case announcements if a stenographer spot is open.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="427"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="428"/>
<source>CM:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="428"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="429"/>
<source>If checked, you will appear amongst the potential CMs on the server.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="441"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="442"/>
<source>Hosting cases:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/aooptionsdialog.cpp" line="442"/>
+ <location filename="../../src/aooptionsdialog.cpp" line="443"/>
<source>If you&apos;re a CM, enter what cases you are willing to host.</source>
<translation type="unfinished"></translation>
</message>
@@ -368,321 +373,316 @@ Reason: </source>
<context>
<name>Courtroom</name>
<message>
- <location filename="../src/charselect.cpp" line="21"/>
+ <location filename="../../src/charselect.cpp" line="21"/>
<source>Password</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/charselect.cpp" line="27"/>
+ <location filename="../../src/charselect.cpp" line="27"/>
<source>Spectator</source>
<translation>観客</translation>
</message>
<message>
- <location filename="../src/charselect.cpp" line="30"/>
- <location filename="../src/courtroom.cpp" line="138"/>
+ <location filename="../../src/charselect.cpp" line="30"/>
+ <location filename="../../src/courtroom.cpp" line="138"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/charselect.cpp" line="35"/>
+ <location filename="../../src/charselect.cpp" line="35"/>
<source>Passworded</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/charselect.cpp" line="39"/>
+ <location filename="../../src/charselect.cpp" line="39"/>
<source>Taken</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/charselect.cpp" line="217"/>
+ <location filename="../../src/charselect.cpp" line="217"/>
<source>Generating chars:
-</source>
+%1/%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="116"/>
+ <location filename="../../src/courtroom.cpp" line="116"/>
<source>Showname</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="120"/>
+ <location filename="../../src/courtroom.cpp" line="120"/>
<source>Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="130"/>
+ <location filename="../../src/courtroom.cpp" line="130"/>
<source>Name</source>
<translation>名前</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="183"/>
+ <location filename="../../src/courtroom.cpp" line="183"/>
<source>Pre</source>
<translation>前</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="186"/>
+ <location filename="../../src/courtroom.cpp" line="186"/>
<source>Flip</source>
<translation>フリップ</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="190"/>
+ <location filename="../../src/courtroom.cpp" line="190"/>
<source>Guard</source>
<translation>ガード</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="195"/>
+ <location filename="../../src/courtroom.cpp" line="195"/>
<source>Casing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="200"/>
+ <location filename="../../src/courtroom.cpp" line="200"/>
<source>Shownames</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="203"/>
+ <location filename="../../src/courtroom.cpp" line="203"/>
<source>No Interrupt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="217"/>
+ <location filename="../../src/courtroom.cpp" line="217"/>
<source>White</source>
<translation>白</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="218"/>
+ <location filename="../../src/courtroom.cpp" line="218"/>
<source>Green</source>
<translation>緑</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="219"/>
+ <location filename="../../src/courtroom.cpp" line="219"/>
<source>Red</source>
<translation>赤</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="220"/>
+ <location filename="../../src/courtroom.cpp" line="220"/>
<source>Orange</source>
<translation>オレンジ</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="221"/>
+ <location filename="../../src/courtroom.cpp" line="221"/>
<source>Blue</source>
<translation>青</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="222"/>
+ <location filename="../../src/courtroom.cpp" line="222"/>
<source>Yellow</source>
<translation>黄色</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2688"/>
+ <location filename="../../src/courtroom.cpp" line="2688"/>
<source>This does nothing, but there you go.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2959"/>
+ <location filename="../../src/courtroom.cpp" line="2824"/>
+ <source>You need to give a filename to load (extension not needed)! Make sure that it is in the `base/cases/` folder, and that it is a correctly formatted ini.
+Cases you can load: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2845"/>
+ <source>Case made by %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2851"/>
+ <source>Navigate to %1 for the CM doc.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2870"/>
+ <source>Your case &quot;%1&quot; was loaded!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2959"/>
<source>Server</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="692"/>
+ <location filename="../../src/courtroom.cpp" line="692"/>
<source>Back to Lobby</source>
<translation>ロビーに戻る</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="223"/>
+ <location filename="../../src/courtroom.cpp" line="223"/>
<source>Rainbow</source>
<translation>虹</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="224"/>
+ <location filename="../../src/courtroom.cpp" line="224"/>
<source>Pink</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="225"/>
+ <location filename="../../src/courtroom.cpp" line="225"/>
<source>Cyan</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2681"/>
+ <location filename="../../src/courtroom.cpp" line="248"/>
+ <source>% offset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/courtroom.cpp" line="2681"/>
<source>You were granted the Guard button.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2695"/>
+ <location filename="../../src/courtroom.cpp" line="2695"/>
<source>You opened the settings menu.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2710"/>
+ <location filename="../../src/courtroom.cpp" line="2710"/>
<source>You will now pair up with </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2712"/>
+ <location filename="../../src/courtroom.cpp" line="2712"/>
<source> if they also choose your character in return.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2718"/>
+ <location filename="../../src/courtroom.cpp" line="2718"/>
<source>You are no longer paired with anyone.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2723"/>
+ <location filename="../../src/courtroom.cpp" line="2723"/>
<source>Are you sure you typed that well? The char ID could not be recognised.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2739"/>
+ <location filename="../../src/courtroom.cpp" line="2739"/>
<source>You have set your offset to </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2746"/>
+ <location filename="../../src/courtroom.cpp" line="2746"/>
<source>Your offset must be between -100% and 100%!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2751"/>
+ <location filename="../../src/courtroom.cpp" line="2751"/>
<source>That offset does not look like one.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2757"/>
+ <location filename="../../src/courtroom.cpp" line="2757"/>
<source>You switched your music and area list.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2764"/>
+ <location filename="../../src/courtroom.cpp" line="2764"/>
<source>You have forcefully enabled features that the server may not support. You may not be able to talk IC, or worse, because of this.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2775"/>
+ <location filename="../../src/courtroom.cpp" line="2775"/>
<source>Your pre-animations interrupt again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2777"/>
+ <location filename="../../src/courtroom.cpp" line="2777"/>
<source>Your pre-animations will not interrupt text.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2788"/>
+ <location filename="../../src/courtroom.cpp" line="2788"/>
<source>Couldn&apos;t open chatlog.txt to write into.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2801"/>
+ <location filename="../../src/courtroom.cpp" line="2801"/>
<source>The IC chatlog has been saved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2813"/>
+ <location filename="../../src/courtroom.cpp" line="2813"/>
<source>You don&apos;t have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it&apos;s likely the case file you&apos;re looking for can&apos;t be found in there.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2824"/>
- <source>You need to give a filename to load (extension not needed)! Make sure that it is in the `base/cases/` folder, and that it is a correctly formatted ini.
-Cases you can load: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/courtroom.cpp" line="2832"/>
+ <location filename="../../src/courtroom.cpp" line="2832"/>
<source>Too many arguments to load a case! You only need one filename, without extension.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2845"/>
- <source>Case made by </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/courtroom.cpp" line="2851"/>
- <source>Navigate to </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/courtroom.cpp" line="2851"/>
- <source> for the CM doc.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/courtroom.cpp" line="2870"/>
- <source>Your case &quot;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/courtroom.cpp" line="2870"/>
- <source>&quot; was loaded!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/courtroom.cpp" line="2882"/>
+ <location filename="../../src/courtroom.cpp" line="2882"/>
<source>You don&apos;t have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it&apos;s likely that you somehow deleted it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2893"/>
+ <location filename="../../src/courtroom.cpp" line="2893"/>
<source>You need to give a filename to save (extension not needed) and the courtroom status!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2901"/>
+ <location filename="../../src/courtroom.cpp" line="2901"/>
<source>Too many arguments to save a case! You only need a filename without extension and the courtroom status!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2923"/>
+ <location filename="../../src/courtroom.cpp" line="2923"/>
<source>Succesfully saved, edit doc and cmdoc link on the ini!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="2951"/>
+ <location filename="../../src/courtroom.cpp" line="2951"/>
<source>Master</source>
<translation>マスター</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="3422"/>
+ <location filename="../../src/courtroom.cpp" line="3422"/>
<source>Reason:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="3423"/>
+ <location filename="../../src/courtroom.cpp" line="3423"/>
<source>Call Moderator</source>
<translation>モデレーターを呼ぶ</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="3431"/>
- <location filename="../src/courtroom.cpp" line="3434"/>
+ <location filename="../../src/courtroom.cpp" line="3431"/>
+ <location filename="../../src/courtroom.cpp" line="3434"/>
<source>Error</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">エラー</translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="3431"/>
+ <location filename="../../src/courtroom.cpp" line="3431"/>
<source>You must provide a reason.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/courtroom.cpp" line="3434"/>
+ <location filename="../../src/courtroom.cpp" line="3434"/>
<source>The message is too long.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/evidence.cpp" line="25"/>
+ <location filename="../../src/evidence.cpp" line="25"/>
<source>Choose...</source>
<translation>選択...</translation>
</message>
<message>
- <location filename="../src/evidence.cpp" line="194"/>
+ <location filename="../../src/evidence.cpp" line="194"/>
<source>Images (*.png)</source>
<translation>イメージ (*.png)</translation>
</message>
<message>
- <location filename="../src/evidence.cpp" line="268"/>
+ <location filename="../../src/evidence.cpp" line="268"/>
<source>Add new evidence...</source>
<translation>新しい証拠を付け加える...</translation>
</message>
@@ -690,64 +690,72 @@ Cases you can load: </source>
<context>
<name>Discord</name>
<message>
- <location filename="../src/discord_rich_presence.cpp" line="34"/>
- <location filename="../src/discord_rich_presence.cpp" line="49"/>
- <location filename="../src/discord_rich_presence.cpp" line="75"/>
- <location filename="../src/discord_rich_presence.cpp" line="94"/>
<source>Objection!</source>
- <translation>意義あり!</translation>
+ <translation type="vanished">意義あり!</translation>
</message>
<message>
- <location filename="../src/discord_rich_presence.cpp" line="37"/>
<source>In Lobby</source>
- <translation>ロビーでいる</translation>
+ <translation type="vanished">ロビーでいる</translation>
</message>
<message>
- <location filename="../src/discord_rich_presence.cpp" line="38"/>
<source>Idle</source>
- <translation>落ちている</translation>
+ <translation type="vanished">落ちている</translation>
</message>
<message>
- <location filename="../src/discord_rich_presence.cpp" line="54"/>
<source>In a Server</source>
- <translation>サーバーでいます</translation>
- </message>
- <message>
- <location filename="../src/discord_rich_presence.cpp" line="69"/>
- <source>Playing as %1</source>
- <translation type="unfinished"></translation>
+ <translation type="vanished">サーバーでいます</translation>
</message>
<message>
- <location filename="../src/discord_rich_presence.cpp" line="100"/>
<source>Spectating</source>
- <translation>観客している</translation>
+ <translation type="vanished">観客している</translation>
</message>
</context>
<context>
<name>Lobby</name>
<message>
- <location filename="../src/lobby.cpp" line="74"/>
+ <location filename="../../src/lobby.cpp" line="12"/>
+ <source>Attorney Online 2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/lobby.cpp" line="29"/>
+ <source>Name</source>
+ <translation type="unfinished">名前</translation>
+ </message>
+ <message>
+ <location filename="../../src/lobby.cpp" line="74"/>
<source>It doesn&apos;t look like your client is set up correctly.
Did you download all resources correctly from tiny.cc/getao, including the large &apos;base&apos; folder?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/lobby.cpp" line="147"/>
+ <location filename="../../src/lobby.cpp" line="104"/>
+ <source>Version: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/lobby.cpp" line="147"/>
<source>Loading</source>
<translation>ロード中</translation>
</message>
<message>
- <location filename="../src/lobby.cpp" line="151"/>
+ <location filename="../../src/lobby.cpp" line="151"/>
<source>Cancel</source>
<translation>キャンセル</translation>
</message>
<message>
- <location filename="../src/lobby.cpp" line="270"/>
+ <location filename="../../src/lobby.cpp" line="270"/>
<source>&lt;h2&gt;Attorney Online %1&lt;/h2&gt;The courtroom drama simulator&lt;p&gt;&lt;b&gt;Source code:&lt;/b&gt; &lt;a href=&apos;https://github.com/AttorneyOnline/AO2-Client&apos;&gt;https://github.com/AttorneyOnline/AO2-Client&lt;/a&gt;&lt;p&gt;&lt;b&gt;Major development:&lt;/b&gt;&lt;br&gt;OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter&lt;p&gt;&lt;b&gt;Special thanks:&lt;/b&gt;&lt;br&gt;Remy, Iamgoofball, Hibiki, Qubrick (webAO), Ruekasu (UI design), Draxirch (UI design), Unishred, Argoneus (tsuserver), Fiercy, Noevain, Cronnicossy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/lobby.cpp" line="316"/>
+ <location filename="../../src/lobby.cpp" line="376"/>
+ <source>Online: %1/%2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/lobby.cpp" line="114"/>
+ <location filename="../../src/lobby.cpp" line="316"/>
<source>Offline</source>
<translation>オフライン</translation>
</message>
@@ -755,17 +763,17 @@ Did you download all resources correctly from tiny.cc/getao, including the large
<context>
<name>debug_functions</name>
<message>
- <location filename="../src/debug_functions.cpp" line="10"/>
+ <location filename="../../src/debug_functions.cpp" line="10"/>
<source>Error: %1</source>
<translation>エラー: %1</translation>
</message>
<message>
- <location filename="../src/debug_functions.cpp" line="11"/>
+ <location filename="../../src/debug_functions.cpp" line="11"/>
<source>Error</source>
<translation>エラー</translation>
</message>
<message>
- <location filename="../src/debug_functions.cpp" line="23"/>
+ <location filename="../../src/debug_functions.cpp" line="23"/>
<source>Notice</source>
<translation type="unfinished"></translation>
</message>
diff --git a/src/aoapplication.cpp b/src/aoapplication.cpp
index c47f3507..6213acd6 100644
--- a/src/aoapplication.cpp
+++ b/src/aoapplication.cpp
@@ -160,8 +160,7 @@ void AOApplication::ms_connect_finished(bool connected, bool will_retry)
if (will_retry)
{
if (lobby_constructed)
- w_lobby->append_error("Error connecting to master server. Will try again in "
- + QString::number(net_manager->ms_reconnect_delay) + " seconds.");
+ w_lobby->append_error(tr("Error connecting to master server. Will try again in %1 seconds.").arg(QString::number(net_manager->ms_reconnect_delay)));
}
else
{
diff --git a/src/aooptionsdialog.cpp b/src/aooptionsdialog.cpp
index 4bfe9de2..d68f6cbb 100644
--- a/src/aooptionsdialog.cpp
+++ b/src/aooptionsdialog.cpp
@@ -167,6 +167,18 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app) : QDi
ui_gameplay_form->setWidget(9, QFormLayout::FieldRole, ui_discord_cb);
+ ui_language_label = new QLabel(ui_form_layout_widget);
+ ui_language_label->setText(tr("Language:"));
+ ui_language_label->setToolTip(tr("Sets the language if you don't want to use your system language."));
+ ui_gameplay_form->setWidget(10, QFormLayout::LabelRole, ui_language_label);
+
+ ui_language_combobox = new QComboBox(ui_form_layout_widget);
+ ui_language_combobox->addItem(" - Default");
+ ui_language_combobox->addItem("en - English");
+ ui_language_combobox->addItem("de - German");
+ ui_language_combobox->addItem("jp - Japanese");
+ ui_gameplay_form->setWidget(10, QFormLayout::FieldRole, ui_language_combobox);
+
// Here we start the callwords tab.
ui_callwords_tab = new QWidget();
ui_settings_tabs->addTab(ui_callwords_tab, tr("Callwords"));
@@ -466,6 +478,7 @@ void AOOptionsDialog::save_pressed()
configini->setValue("show_custom_shownames", ui_showname_cb->isChecked());
configini->setValue("master", ui_ms_textbox->text());
configini->setValue("discord", ui_discord_cb->isChecked());
+ configini->setValue("language", ui_language_combobox->currentText().left(2));
QFile* callwordsini = new QFile(ao_app->get_base_path() + "callwords.ini");
diff --git a/src/charselect.cpp b/src/charselect.cpp
index 58c990ba..7e20c74e 100644
--- a/src/charselect.cpp
+++ b/src/charselect.cpp
@@ -214,7 +214,7 @@ void Courtroom::character_loading_finished()
int total_loading_size = ao_app->char_list_size * 2 + ao_app->evidence_list_size + ao_app->music_list_size;
int loading_value = int(((ao_app->loaded_chars + ao_app->generated_chars + ao_app->loaded_music + ao_app->loaded_evidence) / static_cast<double>(total_loading_size)) * 100);
ao_app->w_lobby->set_loading_value(loading_value);
- ao_app->w_lobby->set_loading_text(tr("Generating chars:\n") + QString::number(ao_app->generated_chars) + "/" + QString::number(ao_app->char_list_size));
+ ao_app->w_lobby->set_loading_text(tr("Generating chars:\n%1/%2").arg(QString::number(ao_app->generated_chars)).arg(QString::number(ao_app->char_list_size)));
}
}
diff --git a/src/courtroom.cpp b/src/courtroom.cpp
index 2ba3ba2c..dc7f12ce 100644
--- a/src/courtroom.cpp
+++ b/src/courtroom.cpp
@@ -245,7 +245,7 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow()
ui_pair_list = new QListWidget(this);
ui_pair_offset_spinbox = new QSpinBox(this);
ui_pair_offset_spinbox->setRange(-100,100);
- ui_pair_offset_spinbox->setSuffix("% offset");
+ ui_pair_offset_spinbox->setSuffix(tr("% offset"));
ui_pair_button = new AOButton(this, ao_app);
ui_evidence_button = new AOButton(this, ao_app);
@@ -2821,7 +2821,7 @@ void Courtroom::on_ooc_return_pressed()
if (command.size() < 2)
{
- append_server_chatmessage("CLIENT", tr("You need to give a filename to load (extension not needed)! Make sure that it is in the `base/cases/` folder, and that it is a correctly formatted ini.\nCases you can load: ") + caseslist.join(", "), "1");
+ append_server_chatmessage("CLIENT", tr("You need to give a filename to load (extension not needed)! Make sure that it is in the `base/cases/` folder, and that it is a correctly formatted ini.\nCases you can load: %1").arg(caseslist.join(", ")), "1");
ui_ooc_chat_message->clear();
return;
}
@@ -2842,13 +2842,13 @@ void Courtroom::on_ooc_return_pressed()
QString casestatus = casefile.value("status", "").value<QString>();
if (!caseauth.isEmpty())
- append_server_chatmessage("CLIENT", tr("Case made by ") + caseauth + ".", "1");
+ append_server_chatmessage("CLIENT", tr("Case made by %1.").arg(caseauth), "1");
if (!casedoc.isEmpty())
ao_app->send_server_packet(new AOPacket("CT#" + ui_ooc_chat_name->text() + "#/doc " + casedoc + "#%"));
if (!casestatus.isEmpty())
ao_app->send_server_packet(new AOPacket("CT#" + ui_ooc_chat_name->text() + "#/status " + casestatus + "#%"));
if (!cmdoc.isEmpty())
- append_server_chatmessage("CLIENT", tr("Navigate to ") + cmdoc + tr(" for the CM doc."), "1");
+ append_server_chatmessage("CLIENT", tr("Navigate to %1 for the CM doc.").arg(cmdoc), "1");
for (int i = local_evidence_list.size() - 1; i >= 0; i--) {
ao_app->send_server_packet(new AOPacket("DE#" + QString::number(i) + "#%"));
@@ -2867,7 +2867,7 @@ void Courtroom::on_ooc_return_pressed()
ao_app->send_server_packet(new AOPacket("PE", f_contents));
}
- append_server_chatmessage("CLIENT", tr("Your case \"") + command[1] + tr("\" was loaded!"), "1");
+ append_server_chatmessage("CLIENT", tr("Your case \"%1\" was loaded!").arg(command[1]), "1");
ui_ooc_chat_message->clear();
return;
}
diff --git a/src/lobby.cpp b/src/lobby.cpp
index 776528c9..c95fd49c 100644
--- a/src/lobby.cpp
+++ b/src/lobby.cpp
@@ -9,7 +9,7 @@ Lobby::Lobby(AOApplication *p_ao_app) : QMainWindow()
{
ao_app = p_ao_app;
- this->setWindowTitle("Attorney Online 2");
+ this->setWindowTitle(tr("Attorney Online 2"));
this->setWindowIcon(QIcon(":/logo.png"));
ui_background = new AOImage(this, ao_app);
@@ -26,7 +26,7 @@ Lobby::Lobby(AOApplication *p_ao_app) : QMainWindow()
ui_chatbox = new AOTextArea(this);
ui_chatbox->setOpenExternalLinks(true);
ui_chatname = new QLineEdit(this);
- ui_chatname->setPlaceholderText("Name");
+ ui_chatname->setPlaceholderText(tr("Name"));
ui_chatname->setText(ao_app->get_ooc_name());
ui_chatmessage = new QLineEdit(this);
ui_loading_background = new AOImage(this, ao_app);
@@ -101,7 +101,7 @@ void Lobby::set_widgets()
ui_connect->set_image("connect.png");
set_size_and_pos(ui_version, "version");
- ui_version->setText("Version: " + ao_app->get_version_string());
+ ui_version->setText(tr("Version: %1").arg(ao_app->get_version_string()));
set_size_and_pos(ui_about, "about");
ui_about->set_image("about.png");
@@ -111,7 +111,7 @@ void Lobby::set_widgets()
"font: bold;");
set_size_and_pos(ui_player_count, "player_count");
- ui_player_count->setText("Offline");
+ ui_player_count->setText(tr("Offline"));
ui_player_count->setStyleSheet("font: bold;"
"color: white;"
"qproperty-alignment: AlignCenter;");
@@ -373,7 +373,7 @@ void Lobby::append_error(QString f_message)
void Lobby::set_player_count(int players_online, int max_players)
{
- QString f_string = "Online: " + QString::number(players_online) + "/" + QString::number(max_players);
+ QString f_string = tr("Online: %1/%2").arg(QString::number(players_online)).arg(QString::number(max_players));
ui_player_count->setText(f_string);
}
diff --git a/src/main.cpp b/src/main.cpp
index 7c2daa66..6c15e6f7 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -21,13 +21,20 @@ int main(int argc, char *argv[])
AOApplication main_app(argc, argv);
+ QSettings* configini = main_app.configini;
+
+ QString p_language = configini->value("language",QLocale::system().name()).toString();
+ if (p_language==" " || p_language=="")
+ p_language = QLocale::system().name();
+
QTranslator qtTranslator;
- qtTranslator.load("qt_" + QLocale::system().name(),
+ qtTranslator.load("qt_" + p_language,
QLibraryInfo::location(QLibraryInfo::TranslationsPath));
main_app.installTranslator(&qtTranslator);
QTranslator appTranslator;
- appTranslator.load("ao_" + QLocale::system().name(),":/resource/translations/");
+ qDebug() << ":/resource/translations/ao_" + p_language;
+ appTranslator.load("ao_" + p_language,":/resource/translations/");
main_app.installTranslator(&appTranslator);
main_app.construct_lobby();