diff --git a/base/themes b/base/themes index 7c036c0..0d8220b 160000 --- a/base/themes +++ b/base/themes @@ -1 +1 @@ -Subproject commit 7c036c09ddfadc2680a2c5dbfa188dc98142a427 +Subproject commit 0d8220b1912e841ecaaa8f47198c8406e41fb5b4 diff --git a/include/aoapplication.h b/include/aoapplication.h index d8d3c9a..1102ffd 100644 --- a/include/aoapplication.h +++ b/include/aoapplication.h @@ -503,8 +503,11 @@ public: // Get the message for the CM for casing alerts. QString get_casing_can_host_cases(); - // Get if automatic logging is enabled - bool get_auto_logging_enabled(); + // Get if text file logging is enabled + bool get_text_logging_enabled(); + + // Get if demo logging is enabled + bool get_demo_logging_enabled(); // Get the subtheme from settings QString get_subtheme(); @@ -563,6 +566,10 @@ private: public slots: void server_disconnected(); void loading_cancelled(); + +signals: + void qt_log_message(QtMsgType type, const QMessageLogContext &context, + const QString &msg); }; #endif // AOAPPLICATION_H diff --git a/include/aoemotebutton.h b/include/aoemotebutton.h index 58e7e74..add9b43 100644 --- a/include/aoemotebutton.h +++ b/include/aoemotebutton.h @@ -14,7 +14,7 @@ public: int p_w, int p_h); void set_image(QString p_image, QString p_emote_comment); - void set_char_image(QString p_char, int p_emote, QString suffix); + void set_char_image(QString p_char, int p_emote, bool on); void set_id(int p_id) { m_id = p_id; } int get_id() { return m_id; } diff --git a/include/aomusicplayer.h b/include/aomusicplayer.h index f899b9a..7c9bfb3 100644 --- a/include/aomusicplayer.h +++ b/include/aomusicplayer.h @@ -10,6 +10,8 @@ #include #include #include +#include +#include class AOMusicPlayer { public: @@ -24,8 +26,10 @@ public: int loop_start[4] = {0, 0, 0, 0}; int loop_end[4] = {0, 0, 0, 0}; + QFutureWatcher music_watcher; + public slots: - int play(QString p_song, int channel = 0, bool loop = false, + QString play(QString p_song, int channel = 0, bool loop = false, int effect_flags = 0); void stop(int channel = 0); diff --git a/include/aooptionsdialog.h b/include/aooptionsdialog.h index 84a9648..9c4d0d9 100644 --- a/include/aooptionsdialog.h +++ b/include/aooptionsdialog.h @@ -125,6 +125,12 @@ private: QLabel *ui_category_stop_lbl; QCheckBox *ui_category_stop_cb; + QLabel *ui_log_text_lbl; + QCheckBox *ui_log_text_cb; + + QLabel *ui_log_demo_lbl; + QCheckBox *ui_log_demo_cb; + QWidget *ui_callwords_tab; QWidget *ui_callwords_widget; QVBoxLayout *ui_callwords_layout; @@ -175,8 +181,6 @@ private: QCheckBox *ui_casing_cm_cb; QLabel *ui_casing_cm_cases_lbl; QLineEdit *ui_casing_cm_cases_textbox; - QLabel *ui_log_lbl; - QCheckBox *ui_log_cb; QWidget *ui_assets_tab; QVBoxLayout *ui_assets_tab_layout; diff --git a/include/aotextarea.h b/include/aotextarea.h index 453e965..d9a960d 100644 --- a/include/aotextarea.h +++ b/include/aotextarea.h @@ -12,7 +12,8 @@ public: AOTextArea(QWidget *p_parent = nullptr); void append_linked(QString p_message); - void append_chatmessage(QString p_name, QString p_message, QString p_colur); + void append_chatmessage(QString p_name, QString p_message, + QString p_name_colour, QString p_color = QString()); void append_error(QString p_message); private: diff --git a/include/courtroom.h b/include/courtroom.h index 4bc8624..8a41b60 100644 --- a/include/courtroom.h +++ b/include/courtroom.h @@ -57,6 +57,8 @@ #include #include +#include + #include #include @@ -214,8 +216,12 @@ public: void list_music(); void list_areas(); - // these are for OOC chat - void append_ms_chatmessage(QString f_name, QString f_message); + // Debug log (formerly master server chat log) + void debug_message_handler(QtMsgType type, const QMessageLogContext &context, + const QString &msg); + void append_debug_message(QString f_message); + + // OOC chat log void append_server_chatmessage(QString p_name, QString p_message, QString p_color); @@ -628,7 +634,7 @@ private: QTextEdit *ui_ic_chatlog; - AOTextArea *ui_ms_chatlog; + AOTextArea *ui_debug_log; AOTextArea *ui_server_chatlog; QListWidget *ui_mute_list; @@ -814,6 +820,8 @@ public slots: bool steno); void on_reload_theme_clicked(); + void update_ui_music_name(); + private slots: void start_chat_ticking(); void play_sfx(); diff --git a/resource/translations/ao_de.qm b/resource/translations/ao_de.qm index d48db4c..5a81fc2 100644 Binary files a/resource/translations/ao_de.qm and b/resource/translations/ao_de.qm differ diff --git a/resource/translations/ao_de.ts b/resource/translations/ao_de.ts index d6e13b2..804a3fb 100644 --- a/resource/translations/ao_de.ts +++ b/resource/translations/ao_de.ts @@ -4,12 +4,12 @@ AOApplication - + Disconnected from server. Vom Server getrennt. - + Error connecting to master server. Will try again in %1 seconds. Fehler bei der Verbindung zum Master Server. Erneuter Versuch in %1 Sekunden. @@ -18,7 +18,7 @@ Fehler bei der Verbindung zum Master Server. Erneuter Versuch in %n Sekunden. - + 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. @@ -40,12 +40,11 @@ Have a nice day. Schönen Urlaub. - - Attorney Online 2 - Attorney Online 2 + Attorney Online + Attorney Online - + Loading Laden @@ -56,35 +55,40 @@ Schönen Urlaub. %1/%2 - + Loading music: %1/%2 Lade Musik: %1/%2 - + Loading chars: %1/%2 Lade Charaktere: %1/%2 - + + Attorney Online %1 + Attorney Online %1 + + + You have been kicked from the server. Reason: %1 Du wurdest von diesem Server geschmissen. Grund: %1 - + You have been banned from the server. Reason: %1 Du wurdest von diesem Server verbannt. Grund: %1 - + You are banned on this server. Reason: %1 Du bist von diesem Server verbannt. @@ -110,6 +114,16 @@ Grund: You are banned on this server. Du wurdest verbannt. + + + Demo playback + + + + + Play back demos you have previously recorded + + AOCaseAnnouncerDialog @@ -156,22 +170,22 @@ Grund: AOOptionsDialog - + Settings Einstellungen - + Gameplay Spiel - + Theme: Theme: - + Sets the theme used in-game. If the new theme changes the lobby's look as well, you'll need to reload the lobby for the changes to take effect, such as by joining a server and leaving it. Setzt das Theme. Wenn das neue Theme auch das Aussehen der Lobby verändert, must du diese neu laden um die Änderungen zu sehen. @@ -216,17 +230,17 @@ Grund: Das Log spiegelt die Nachrichten. Bedeutet dass wenn jemand unterbrochen wird, kann man nicht sehen was derjenige sagen wollte. Für ein realistischeres Spielerlebnis. - + Log goes downwards: Verlauf geht nach unten: - + If ticked, new messages will appear at the bottom (like the OOC chatlog). The traditional (AO1) behaviour is equivalent to this being unticked. Wenn angehakt werden neue Nachrichten unten erscheinen (wie beim OOC). Das traditionelle (AO1) Verhalten wäre nicht angehakt. - + Log length: Länge: @@ -235,47 +249,47 @@ Grund: Die Menge an Nachrichten die aufgehoben werden bevor alte gelöscht werden. 0 bedeutet unendlich. - + Log newline: Absätze protokollieren: - + If ticked, new messages will appear separated, with the message coming on the next line after the name. When unticked, it displays it as 'name: message'. Wenn Nachrichten mehrere Zeilen enthalten wird dies mitprotokolliert. - + Log margin: Protokollabstand: - + The distance in pixels between each entry in the IC log. Default: 0. Setzt den Abstand zwischen den Zeilen im Protokoll. Standard: 0. - + Log timestamp: Zeitstempel: - + If ticked, log will contain a timestamp in UTC before the name. Das Protokoll enthält vor dem Namen einen Zeitstempel in UTC. - + Log IC actions: Aktionen protokollieren: - + If ticked, log will show IC actions such as shouting and presenting evidence. Protokolliert Charakteraktionen wie Zwischenrufe und Beweisstücke. - + Text Stay Time: Standzeit: @@ -284,62 +298,62 @@ Grund: Minimale Zeit (in Milisekunden) die eine Nachricht auf dem Bildschirm bleibt bevor die nächste gezeigt wird. 0 deaktiviert dies. - + Desynchronize IC Logs: Protokoll desynchronisieren: - + If ticked, log will show messages as-received, while viewport will parse according to the queue (Text Stay Time). Wenn angehakt werden die Nachrichten sofort im Protokoll angezeigt, ansonsten wartet es auf den Chat. - + Instant Objection: Zwischenrufe sofort: - + If Text Stay Time is more than 0, instant objection will skip queued messages instead of waiting to catch up. Wenn die Standzeit länger als 0 ist überspringen Zwischenrufe die Warteschleife. - + Default username: Standard Benutzername: - + Your OOC name will be automatically set to this value when you join a server. Dein OOC Name wird automatisch auf dies gesetzt. - + Custom shownames: Eigener Anzeigename: - + Gives the default value for the in-game 'Custom shownames' tickbox, which in turn determines whether the client should display custom in-character names. Standardwert für die Anzeigename Box, welche den In-Charakter Namen bestimmt. - + Backup MS: Rückfall MS: - + If the built-in server lookups fail, the game will try the address given here and use it as a backup master server address. Wenn dereingebaute Master Server fehlschlägt, wird das Spiel diesen hier verwenden. - + Discord: Discord: - + Allows others on Discord to see what server you are in, what character are you playing, and how long you have been playing for. Erlaubt anderen auf Discord zu sehen auf welchem Server du spielst, welchen Charakter du spielst und wie lange. @@ -352,12 +366,12 @@ Grund: Erlaubt schütteln des Bildschirms und weiße Blitze. Deaktiviere dies falls du Bedenken wegen Photosensitivität hast. - + Language: Sprache: - + Sets the language if you don't want to use your system language. Setzte die Sprache falls du nicht die Systemsprache verwenden möchtest. @@ -378,291 +392,378 @@ Grund: Aktivieren damit die Blips bei Satzzeichen langsamer werden. - + Subtheme: Untertheme: - + Sets a 'subtheme', which will stack on top of the current theme and replace anything it can.Keep it at 'server' to let the server decide. Keep it at 'default' to keep it unchanging. Setzt ein 'Untertheme', das alles aus dem aktuellen Theme ersetzt. Lass es auf 'Server' um den Server entscheiden zu lassen. 'Standard' um es so zu lassen. - + Reload Theme Aussehen neu laden - + Refresh the theme and update all of the ui elements to match. Aktualisiert das Design und alle UI Elemente. - + Animated Theme: Animiertes Theme: - + If ticked, themes will be allowed to have animated elements. Aktiviert animierte Theme Elemente. - + The amount of message lines the IC chatlog will keep before deleting older message lines. A value of 0 or below counts as 'infinite'. Die menge an Zeilen die das IC Log behält bevor ältere Nachrichten gelöscht werden. 0 bedeutet unendlich. - + + + Log timestamp format: + + + + + Minimum amount of time (in miliseconds) an IC message must stay on screen before the next IC message is shown, acting as a 'queue'. Set to 0 to disable this behavior. Minimale Zeit (in Milisekunden) die eine IC Nachricht auf dem Bildschirm bleibt bevore die nächste kommt, wie eine Art 'Warteschlange'. 0 deaktiviert das. - + Text crawl: Kriechender Text: - + Amount of time (in miliseconds) spent on each letter when the in-character text is being displayed. Zeit (in Milisekunden) für jeden Buchstaben. - + Chat Rate Limit: Chat Rate Limit: - + Minimum amount of time (in miliseconds) that must pass before the next Enter key press will send your IC message. Minimale Zeit (in Milisekunden) die verstreichen müssen bevore der nächste Enter Druck die Nachricht versendet. - + + Default showname: + + + + + Your showname will be automatically set to this value when you join a server. + + + + - Keep current setting - aktuelle Einstellung behalten - + + Scaling: + + + + + Sets the default scaling method, if there is not one already defined specifically for the character. + + + + + Pixel + + + + + Smooth + + + + Allow Screenshake: Schütteln erlauben: - + Allows screenshaking. Disable this if you have concerns or issues with photosensitivity and/or seizures. Erlaubt schütteln des Bildschirms. Deaktiviere dies falls du Bedenken wegen Photosensitivität hast. - + Allow Effects: Effekte erlauben: - + Allows screen effects. Disable this if you have concerns or issues with photosensitivity and/or seizures. Erlaubt Bildeffekte. Deaktiviere dies falls du Bedenken wegen Photosensitivität hast. - + Network Frame Effects: Netzwerk Frame-Effekte: - + Send screen-shaking, flashes and sounds as defined in the char.ini over the network. Only works for servers that support this functionality. Sendet schüttel, Blitze und Geräusche aus der char.ini Datei über das Netzwerk. Funkioniert nur wenn der Server dies unterstützt. - + Colors in IC Log: Farben im IC Log: - + Use the markup colors in the server IC chatlog. Verwendet Farbe im IC Log so wie im Bild. - + Sticky Sounds: Klebende Geräuschauswahl: - + Turn this on to prevent the sound dropdown from clearing the sound after playing it. Aktiviere dies damit die Geräuschauswahl nicht zurückspringt nachdem es abgespielt wurde. - + Sticky Effects: Klebende Effekt: - + Turn this on to prevent the effects dropdown from clearing the effect after playing it. Aktiviere dies damit die Effektauswahl nicht zurückspringt nachdem er abgespielt wurde. - + Sticky Preanims: Klebende Voranimation: - + Turn this on to prevent preanimation checkbox from clearing after playing the emote. Aktiviere dies damit das Kontrollkästchen für die Voranimation nicht zurückspringt nachdem sie abgespielt wurde. - + Custom Chatboxes: Eigene Chatboxen: - + Turn this on to allow characters to define their own custom chat box designs. Charaktere können ihre eigenen Chatboxen verwenden. - + Stickers: Sticker: - + Turn this on to allow characters to define their own stickers (unique images that show up over the chatbox - like avatars or shownames). An zeigt 'Sticker' an, kleine Bilder wie Avatare. - + Continuous Playback: Durchgehendes Abspielen: - + Whether or not to resume playing animations from where they left off. Turning off might reduce lag. Spielt Animationen wieder dort ab wo sie aufgehört haben. Ausschalten kann bei Lag helfen. - + Stop Music w/ Category: Musik durch eine Kategorie stoppen: - + Stop music when double-clicking a category. If this is disabled, use the right-click context menu to stop music. Stoppt die Musik wenn eine Kategorie doppelt geklickt wird. Wenn dies deaktiviert ist, benutze die Rechte Maustaste und das Kontextmenü um die Musik anzuhalten. - + Callwords Alarmwörter - + <html><head/><body>Enter as many callwords as you would like. These are case insensitive. Make sure to leave every callword in its own line!<br>Do not leave a line with a space at the end -- you will be alerted everytime someone uses a space in their messages.</body></html> <html><head/><body>Gib so viele Alarmwörter ein wie du möchtest. Groß/Kleinschreibung ist egal. Für jede Wort nur eine Zeile!<br>Bitte keine leere Zeile am Ende -- du bekommst sonst bei jeder Nachricht einen Alarm.</body></html> - + Audio Audio - + Audio device: Audiogerät: - + Sets the audio device for all sounds. Setzt das Audiogerät für all Geräusche. - + Music: Musik: - + Sets the music's default volume. Setzt die Musiklautstärke. - + SFX: SFX: - + Sets the SFX's default volume. Interjections and actual sound effects count as 'SFX'. Setzt die Lautstärke der Soundeffekte wie Einsprüche und die Geräusche der Charaktere. - + Blips: Blips: - + Sets the volume of the blips, the talking sound effects. Setzt die Lautstärke der Blips, das ist das Geräusch das die Charaktere beim Reden machen. - + Blip rate: Bliprate: - + Sets the delay between playing the blip sounds. Setzt die Pause zwischen einzelnen Blips. - + Play a blip sound "once per every X symbols", where X is the blip rate. Spiele ein blip einmal für all X Buchstaben. - + Blank blips: Leere Blips: - + If true, the game will play a blip sound even when a space is 'being said'. Wenn angehakt wird das Spiel auch bei einem Leerzeichen einen Blip machen. - + Enable Looping SFX: Wiederholende Soundeffekte: - + If true, the game will allow looping sound effects to play on preanimations. Wenn aktiviert, werden wiederholende Soundeffekte bei den Voranimationen erlaubt. - + Kill Music On Objection: Stoppe Musik bei Einspruch: - + If true, AO2 will ask the server to stop music when you use 'Objection!' Hält die Musik für alle an wenn du 'Einspruch' benutzt. + + + Assets + + + + + Add or remove base folders for use by assets. Base folders will be searched in the order provided. + + + + + Add… + + + + + Select a base folder + + + + + Remove + + + + + ↑ + + + + + ↓ + + + + + Clear Cache + + + + + Clears the lookup cache for assets. Use this when you have added an asset that takes precedence over another existing asset. + + + + + %1 (default) + + If true, AO2 will stop the music for you when you or someone else does 'Objection!'. Hält die Musik an wenn jemand "Einspruch" ruft, wie im echten Spiel. - + Automatic Logging: Autmatisches Protokollieren: - + If checked, all logs will be automatically written in the /logs folder. Schreibt die Protokolle automatisch in den /logs Ordner. @@ -671,92 +772,92 @@ Grund: Hält die Musik an wenn jemand "Einspruch" ruft, wie im echten Spiel. - + Casing Fälle - + This server supports case alerts. Dieser Server unterstützt Fallalarme. - + This server does not support case alerts. Dieser Server unterstützt Fallalarme nicht. - + Pretty self-explanatory. Eigentlich selbsterklärend. - + Casing: Fälle: - + If checked, you will get alerts about case announcements. Wenn angehakt wirst du benachrichtigt wenn ein Fall angekündigt wird. - + Defense: Verteidigung: - + If checked, you will get alerts about case announcements if a defense spot is open. Wenn angehakt wirst du benachrichtigt wenn ein Verteidiger benötigt wird. - + Prosecution: Kläger: - + If checked, you will get alerts about case announcements if a prosecutor spot is open. Wenn angehakt wirst du benachrichtigt wenn ein Kläger benötigt wird. - + Judge: Richter: - + If checked, you will get alerts about case announcements if the judge spot is open. Wenn angehakt wirst du benachrichtigt wenn ein Richter benötigt wird. - + Juror: Jury: - + If checked, you will get alerts about case announcements if a juror spot is open. Wenn angehakt wirst du benachrichtigt wenn eine Jury benötigt wird. - + Stenographer: Stenograph: - + If checked, you will get alerts about case announcements if a stenographer spot is open. Wenn angehakt wirst du benachrichtigt wenn ein Stenograph benötigt wird. - + CM: CM: - + If checked, you will appear amongst the potential CMs on the server. Wenn angehakt wirst du als potentielle CM angezeigt. @@ -769,12 +870,12 @@ Grund: Wenn angehakt wirst du als potentielle Zeuge angezeigt. - + Hosting cases: Fallleitung: - + If you're a CM, enter what cases you are willing to host. Wenn du CM bist, gib ein welche Fälle du spielen möchtest. @@ -787,28 +888,28 @@ Grund: Passwort - + Spectator Zuschauer - - + + Search Suche - + Passworded Gesperrt - + Taken Benutzt - + Generating chars: %1/%2 Generiere Charaktere: @@ -825,12 +926,12 @@ Grund: Konnte %1 nicht finden - + Showname Anzeigename - + Message Nachricht @@ -839,22 +940,22 @@ Grund: OOC Nachricht - + Name Name - + Pre Vor - + Flip Spiegeln - + Guard Wache @@ -863,18 +964,18 @@ Grund: Deaktiviere Moderatorenrufe - - + + Casing Fall - + Shownames Anzeigenamen - + Immediate Keine Unterbrechung @@ -903,17 +1004,17 @@ Grund: Gelb - + Music Musik - + Sfx Sfx - + Blips Blips @@ -922,53 +1023,53 @@ Grund: Verlaufsgrenze - - + + Server Server - + Change character Charakter ändern - + Reload theme Aussehen neu laden - + Call mod Moderator rufen - + Settings Einstellungen - + A/M A/M - + Preanim Voranimation - + Back to Lobby Zurück zur Lobby - + You were granted the Disable Modcalls button. Du hast nun den "Modcall deaktivieren" Knopf. - + You have been banned. Du wurdest verbannt. @@ -1009,9 +1110,8 @@ Grund: Dies bewirkt nichts, aber egal. - You opened the settings menu. - Du hast die Einstellungen geöffnet. + Du hast die Einstellungen geöffnet. You will now pair up with @@ -1022,40 +1122,49 @@ Grund: gepaart, wenn der andere dies auch tut. - - - - + + + None Keine - + Additive Hinzufügend - + % x offset % Horizontaler Abstand - + % y offset % Vertikaler Abstand - + To front Vorne - + To behind Hinten - + + Log goes down + + + + + Log goes up + + + + Select a character you wish to pair with. Wähle einen Charakter mit dem du gepaart sein möchtest. @@ -1064,27 +1173,27 @@ Grund: Ändere den Abstand des Charakters zur Mitte. - + Change the order of appearance for your character. Ändere die Reihenfolge in der die Charaktere erscheinen. - + Display the list of characters to pair with. Zeigt die Liste der paarbaren Charaktere. - + Oops, you're muted! Ohje, du bist stumm! - + Set your character's emote to play on your next message. Setzt den Ausdruck für die nächste Nachricht. - + Set your character's supplementary background. Setzt die Position des Charakters. @@ -1095,46 +1204,46 @@ Edit by typing and pressing Enter, [X] to remove. This saves to your base/charac Bearbeiten durch tippen und Enter drücken, [X] zum entfernen. Das wird in base/characters/<charname>/iniswaps.ini gespeichert. - + Change the horizontal percentage offset of your character's position from the center of the screen. Ändert den Hoizontalen Abstand relativ zur Mitte. - + Change the vertical percentage offset of your character's position from the center of the screen. Ändert den vertikalen Abstand relativ zur Mitte. - + Reset your character's supplementary background to its default. Setzt den Zusatzhintergrund deines Charakters zurück. - + Set an 'iniswap', or an alternative character folder to refer to from your current character. Edit by typing and pressing Enter, [X] to remove. This saves to your base/iniswaps.ini Setz einen 'iniswap', oder einen anderen Charakterordner von deinem aktuellen Charakter. Bearbeiten durch tippen und Enter drücken, [X] zum entfernen. Das wird in base/iniswaps.ini gespeichert. - + Remove the currently selected iniswap from the list and return to the original character folder. Entfernt den aktuellen iniswap von der Liste und stellt den originalen Ordner wieder her. - + Set a sound effect to play on your next 'Preanim'. Leaving it on Default will use the emote-defined sound (if any). Edit by typing and pressing Enter, [X] to remove. This saves to your base/characters/<charname>/soundlist.ini Wähle einen Soundeffekt der bei der nächsten 'Preanim' gespielt wird. Lasse dies auf Standard um den emote-Sound zu verwenden. Bearbeiten durch tippen und Enter drücken, [X] zum entfernen. Das wird in base/characters/<charname>/soundlist.ini gespeichert. - + Remove the currently selected sound effect. Entfernt den aktuell ausgewählten Soundeffekt. - + Choose an effect to play on your next spoken message. The effects are defined in your theme/effects/effects.ini. Your character can define custom effects by char.ini [Options] category, effects = 'miscname' where it referes to misc/<miscname>/effects.ini to read the effects. @@ -1143,345 +1252,340 @@ Die Effekte sind definiert in theme/effects/effects.ini. Dein Charakter kann eig char.ini [Options] Kategorie, effects = 'miscname' haben welcher dann misc/<miscname>/effects.ini liest. - + Hold It! Moment mal! - - - + + + When this is turned on, your next in-character message will be a shout! Wenn dies an ist, wird die Nächste Nachricht ein Zuruf! - + Objection! Einspruch! - + Take That! Nimm das! - + Toggle between server chat and global AO2 chat. Wechselt zwischen Serverchat und AO2 Chat. - - - - + + + + This will display the animation in the viewport as soon as it is pressed. Dies zeigt die Animation im Spielfeld sobald es angeklickt wird. - + Guilty! Schuldig! - + Bring up the Character Select Screen and change your character. Zeige die Charakterauswahl und ändere deinen Charakter. - + Refresh the theme and update all of the ui elements to match. Aktualisiert das Design und alle UI Elemente. - + Request the attention of the current server's moderator. Fordere einen Moderator an. - + Allows you to change various aspects of the client. Lässt dich verschiedene Dinge des Clients anpassen. - + An interface to help you announce a case (you have to be a CM first to be able to announce cases) Ein Menü um einen Fall anzukündigen (du musst dafür erst CM sein) - + Switch between Areas and Music lists Wechsel zwischen Areal- und Musikliste - + Play a single-shot animation as defined by the emote when checked. Zeigt eine Animation vor dem Sprechen. - + If preanim is checked, display the input text immediately as the animation plays concurrently. Starte sofort zu sprechen, ohne auf das Ende der Voranimation zu warten. - + Mirror your character's emotes when checked. Spiegelt die Emotes deines Charakters. - + Add text to your last spoken message when checked. Füge Text zu deiner letzten Nachricht hinzu. - + Do not listen to mod calls when checked, preventing them from playing sounds or focusing attention on the window. Ignoriere Modcalls und spiel keinen Ton ab. - + Lets you receive case alerts when enabled. (You can set your preferences in the Settings!) Lässt dich Fallalarme erhalten. (Du kannst dies in den Einstellungen anpassen!) - + Display customized shownames for all users when checked. Zeigt selbst einstellbare Namen für alle. - + Custom Shout! Eigener Zwischenruf! - + This will display the custom character-defined animation in the viewport as soon as it is pressed. To make one, your character's folder must contain custom.[webp/apng/gif/png] and custom.[wav/ogg/opus] sound effect Dies zeigt des Charakters eigenen Zwischenruf. Um einen zu haben muss im Charakterordner eine custom.[webp/apng/gif/png] und ein custom.[wav/ogg/opus] Soundeffekt sein - + Play realization sound and animation in the viewport on the next spoken message when checked. Spiele den Realisierung Sound und Animation mit der nächsten Nachricht. - + Shake the screen on next spoken message when checked. Schüttelt den Bildschirm bei der nächsten Nachricht. - + Display the list of character folders you wish to mute. Zeigt die Charakterliste um einen stumm zu schalten. - - + + Increase the health bar. Erhöhe die Gesundheit. - - + + Decrease the health bar. Verringere die Gesundheit. - + Change the text color of the spoken message. You can also select a part of your currently typed message and use the dropdown to change its color! Ändert die Textfarbe. Du kannst auch nur einen Teil der Nachricht auswählen und dessen Farbe ändern! - + Return back to the server list. Zurück zur Serverliste. - + Become a spectator. You won't be able to interact with the in-character screen. Werde ein Zuschauer. Es ist dir nicht möglich mit dem Spielfeld zu interagieren. - - + + + + CLIENT CLIENT - + + Login unsuccessful. + + + + + You were logged out. + + + + HOLD IT! MOMENT MAL! - + OBJECTION! EINSPRUCH! - + TAKE THAT! NIMM DAS! - + CUSTOM OBJECTION! SPEZIALRUF! - - - - + + + + shouts Zwischenruf - - - + + + has presented evidence hat Beweis präsentiert - - - + + + has stopped the music hat die Musik angehalten - - + [STREAM] %1 [STREAM] %1 - - + [MISSING] %1 [FEHLT] %1 - - + + has played a song spielte ein Lied - You will now pair up with %1 if they also choose your character in return. - Du paarst dich nun mit %1 wenn diese deinen Charakter auch gewählt haben. + Du paarst dich nun mit %1 wenn diese deinen Charakter auch gewählt haben. - You are no longer paired with anyone. - Du bist nicht mehr gepaart. + Du bist nicht mehr gepaart. - Are you sure you typed that well? The char ID could not be recognised. - Hast du dich vertippt? Die ID konnte nicht erkannt werden. + Hast du dich vertippt? Die ID konnte nicht erkannt werden. - You have set your offset to %1%%. - Dein Abstand ist auf %1%% gesetzt. + Dein Abstand ist auf %1%% gesetzt. You have set your offset to Dein Abstand ist auf - Your offset must be between -100% and 100%! - Der Abstand muss zwischen -100% und 100% liegen! + Der Abstand muss zwischen -100% und 100% liegen! - That offset does not look like one. - Das sieht nicht wie ein Abstand aus. + Das sieht nicht wie ein Abstand aus. - You have set your vertical offset to %1%%. - Du hast deinen vertikalen Abstand auf %1%% gesetzt. + Du hast deinen vertikalen Abstand auf %1%% gesetzt. - Your vertical offset must be between -100% and 100%! - Dein vertikaler Abstand muss zwischen -100% und 100% sein! + Dein vertikaler Abstand muss zwischen -100% und 100% sein! - That vertical offset does not look like one. - Das sieht nicht wie ein Abstand aus. + Das sieht nicht wie ein Abstand aus. - You switched your music and area list. - Du hast zwischen Musik- und Gebitsliste umgeschaltet. + Du hast zwischen Musik- und Gebitsliste umgeschaltet. - You have forcefully enabled features that the server may not support. You may not be able to talk IC, or worse, because of this. - Du hast Funktionen erzwungen die der Server eventuell nicht unterstützt. Möglicherweise wirst du nicht mehr sprechen können. + Du hast Funktionen erzwungen die der Server eventuell nicht unterstützt. Möglicherweise wirst du nicht mehr sprechen können. - Your pre-animations interrupt again. - Deine Voranimation unterbrechen nun Text. + Deine Voranimation unterbrechen nun Text. - Your pre-animations will not interrupt text. - Deine Voranimation unterbrechen Text nicht. + Deine Voranimation unterbrechen Text nicht. - Couldn't open chatlog.txt to write into. - Konnte chatlog.txt nicht öffnen. + Konnte chatlog.txt nicht öffnen. - The IC chatlog has been saved. - Der IC Verlauf wurde gespeichert. + Der IC Verlauf wurde gespeichert. - + You don't have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it's likely the case file you're looking for can't be found in there. Du hattest keinen 'base/cases' Ordner! Ich hab ihn nun angelegt aber bedenke das er leer sein wird. - + 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 Du musst einen Dateinamen angeben (ohne .ini). Stelle sicher das er im 'base/cases' Ordner ist und das er korrekt formatiert ist. Verfügbare Fälle: %1 - + Case made by %1. Fall von %1. - + Navigate to %1 for the CM doc. Gehe zu %1 für das CM Dokument. + - - - + + UNKNOWN UNBEKANNT - + Your case "%1" was loaded! Dein Fall "%1" wurde geladen! @@ -1492,7 +1596,7 @@ Cases you can load: Verfügbare Fälle: - + Too many arguments to load a case! You only need one filename, without extension. Zu viele Argumente! Du brauchst nur den Dateinamen, ohne Erweiterung. @@ -1517,98 +1621,98 @@ Verfügbare Fälle: " wurde geladen! - + You don't have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it's likely that you somehow deleted it. Du hattest keinen 'base/cases' Ordner! Ich hab ihn nun angelegt aber bedenke das er leer sein wird. - + You need to give a filename to save (extension not needed) and the courtroom status! Du musst einen Dateinamen (ohne Erweiterung) angebenn, sowie den Gebietsstatus! - + Too many arguments to save a case! You only need a filename without extension and the courtroom status! Zu viele Argumente! Du brauchst nur den Dateinamen, ohne Erweiterung sowie den Gebietsstatus! - + Succesfully saved, edit doc and cmdoc link on the ini! Erfolgreich gespeichert! - + Master Master - + Stop Current Song Lied stoppen - + Play Random Song Zufälliges Lied - + Expand All Categories Alle Kategorien erweitern - + Collapse All Categories Alle Kategorien verstecken - + Fade Out Previous Vorheriges ausblenden - + Fade In Einblenden - + Synchronize Synchronisieren - + Default Standard - + Reason: Grund: - + Call Moderator Moderator rufen - + Error Fehler - + You must provide a reason. Du musst einen Grund angeben. - + The message is too long. Die Nachricht ist zu lang. - + Choose.. Wähle.. @@ -1617,81 +1721,90 @@ Verfügbare Fälle: Wähle... - + Present this piece of evidence to everyone on your next spoken message Präsentiere dieses Beweisstück allen in der nächsten Nachricht - + Save evidence to an .ini file. Speichere Beweise in einer .ini Datei. - + Load evidence from an .ini file. Lade Beweise aus einer .ini Datei. - + Destroy this piece of evidence Zerstöre dieses Beweisstück - + Close the evidence display/editing overlay. You will be prompted if there's any unsaved changes. Schließe das Beweisfenster. Du wirst gefragt wenn es ungespeicherte Änderungen gibt. - + Save any changes made to this piece of evidence and send them to server. Speichert alle Änderungen an diesem Beweisstück und schickt sie zum Server. - Double-click to edit. Press [X] to update your changes. - Doppelklick zum bearbeiten. Klicke [X] um die Änderungen zu übernehmen. + Doppelklick zum bearbeiten. Klicke [X] um die Änderungen zu übernehmen. - + + Click the pencil icon to edit. Press [X] to update your changes. + + + + + Edit this piece of evidence. + + + + Bring up the Evidence screen. Zeigt die Beweisliste. - + Switch evidence to private inventory. Wechselt zum eigenen Inventar. - + Switch evidence to global inventory. Wechselt zum globalen Inventar. - - + + Transfer evidence to private inventory. Übertrage Beweisstück zum eigenen Inventar. - - + + Transfer evidence to global inventory. Übertrage Beweisstück zum globalen Inventar. - + The piece of evidence you've been editing has changed. Das Beweisstück das du bearbeitet hast hat sich verändert. - + Do you wish to keep your changes? Möchtest du deine Änderungen behalten? - + Name: %1 Image: %2 Description: @@ -1702,60 +1815,64 @@ Beschreibung: %3 - + Images (*.png) Bilder (*.png) - - - - Double-click to edit... - Doppelklick zum bearbeiten... + + + + Click the pencil to edit... + - + Double-click to edit... + Doppelklick zum bearbeiten... + + + Add new evidence... Neues Beweisstück... - + Evidence has been modified. Beweise wurden verändert. - + Do you want to save your changes? Möchtest du deine Änderungen speichen? - + Current evidence is global. Click to switch to private. Beweise sind global. Klicken um zu eigenen zu wechseln. - + Current evidence is private. Click to switch to global. Beweise sind die eigenen. Klicken um zu global zu wechseln. - + "%1" has been transferred. "%1" wurde übertragen. - + Save Inventory Inventar speichen - - + + Ini Files (*.ini) Ini Dateien (*.ini) - + Open Inventory Inventar öffnen @@ -1764,16 +1881,74 @@ Beschreibung: DemoServer - + Load Demo Demo laden - + Demo Files (*.demo) Demos (*.demo) + + + + Demo file loaded. Send /play or > in OOC to begin playback. + + + + + Resuming playback. + + + + + Pausing playback. + + + + + Setting max_wait to + + + + + + milliseconds. + + + + + Not a valid integer! + + + + + Current max_wait is + + + + + Current demo file reloaded. Send /play or > in OOC to begin playback. + + + + + min_wait is deprecated. Use the client Settings for minimum wait instead! + + + + + Available commands: +load, reload, play, pause, max_wait, help + + + + + Reached the end of the demo file. Send /play or > in OOC to restart, or /load to open a new file. + + Discord @@ -1805,54 +1980,58 @@ Beschreibung: Lobby - - Attorney Online 2 - Attorney Online 2 + Attorney Online + Attorney Online - + + Attorney Online %1 + Attorney Online %1 + + + Search Suche - + Name Name - + It doesn't look like your client is set up correctly. Did you download all resources correctly from tiny.cc/getao, including the large 'base' folder? Dein Client ist nicht korrekt eingerichtet. Hast du ALLES von tiny.cc/getao heruntergeladen und entpackt, auch den großen 'base' Ordner? - + Version: %1 Version: %1 - + Settings Einstellungen - + Allows you to change various aspects of the client. Erlaubt es verschiedene Aspekte des Clients zu ändern. - + Loading Laden - + Cancel Abbrechen - + <h2>Attorney Online %1</h2>The courtroom drama simulator.<p><b>Source code:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Major development:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter, Crystalwarrior, Iamgoofball, in1tiate<p><b>Client development:</b><br>Cents02, windrammer, skyedeving<p><b>QA testing:</b><br>CaseyCazy, CedricDewitt, Chewable Tablets, CrazyJC, Fantos, Fury McFlurry, Geck, Gin-Gi, Jamania, Minx, Pandae, Robotic Overlord, Shadowlions (aka Shali), Sierra, SomeGuy, Veritas, Wiso<p><b>Translations:</b><br>k-emiko (Русский), Pyraq (Polski), scatterflower (日本語), vintprox (Русский), windrammer (Español, Português)<p><b>Special thanks:</b><br>CrazyJC (2.8 release director) and MaximumVolty (2.8 release promotion); Remy, Hibiki, court-records.net (sprites); Qubrick (webAO); Rue (website); Draxirch (UI design); Lewdton and Argoneus (tsuserver); Fiercy, Noevain, Cronnicossy, and FanatSors (AO1); server hosts, game masters, case makers, content creators, and the whole AO2 community!<p>The Attorney Online networked visual novel project is copyright (c) 2016-2021 Attorney Online developers. Open-source licenses apply. All other assets are the property of their respective owners.<p>Running on Qt version %2 with the BASS audio engine.<br>APNG plugin loaded: %3<p>Built on %4 @@ -1861,12 +2040,12 @@ Hast du ALLES von tiny.cc/getao heruntergeladen und entpackt, auch den großen & <h2>Attorney Online %1</h2>Der Gerichtsdrama Simulator<p><b>Quelltext:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Leitende Entwicklung:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter, Crystalwarrior, Iamgoofball<p><b>Cliententwicklung:</b><br>Cents02, in1tiate, raidensnake, windrammer<p><b>Qualitätssicherung:</b><br>CaseyCazy, CedricDewitt, Chewable Tablets, CrazyJC, Fantos, Fury McFlurry, Geck, Gin-Gi, Jamania, Minx, Pandae, Robotic Overlord, Shadowlions (aka Shali), Sierra, SomeGuy, Veritas, Wiso<p><b>Danksagungen:</b><br>CrazyJC (2.8 release director) and MaximumVolty (2.8 release promotion); Remy, Hibiki, court-records.net (sprites); Qubrick (webAO); Rue (website); Draxirch (UI design); Lewdton and Argoneus (tsuserver); Fiercy, Noevain, Cronnicossy, und FanatSors (AO1); Serverbetreiber, Gamemaster, Fallersteller, Inhaltsersteller und die ganze AO2 Community!<p>Das Attorney Online networked visual novel Projekt ist copyright (c) 2016-2020 Attorney Online Entwickler. Unter Open-Source Lizenz. Alle anderen Inhalte sind Eigentum ihrer Besitzer.<p>Läuft auf Qt version %2 mit der BASS Audio Engine.<br>APNG plugin geladen: %3<p>Built on %4 - + Yes Ja - + No Nein @@ -1875,7 +2054,7 @@ Hast du ALLES von tiny.cc/getao heruntergeladen und entpackt, auch den großen & <h2>Attorney Online %1</h2>Der Gerichtsdrama Simulator<p><b>Quelltext:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Leitende Entwicklung:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter<p><b>Version 2.8 Entwicklung:</b><br>Crystalwarrior, Iamgoofball<p><b>2.8 Qualitätskontrolle:</b><br>WillDean, Captain N, Mr M, Riel, Seimmet, Fury McFlurry,CedricDewitt, Chewable Tablets, Fantos, Futugaze,Geck, Minx, Pandae, Sierra, CrazyJC, CaseyMayCazy,GreenBowers, Robotic Overlord, Veritas, Gin-Gi<p><b>Danksagungen:</b><br>Remy, Iamgoofball, Hibiki, Qubrick (webAO), Ruekasu (UI design), Draxirch (UI design), Unishred, Argoneus (tsuserver), Fiercy, Noevain, Cronnicossy, die AO2 Community, Serverbetreiber, Gamemaster, Fallersteller, Inhaltersteller und Spieler! - + About Über @@ -1888,7 +2067,7 @@ Hast du ALLES von tiny.cc/getao heruntergeladen und entpackt, auch den großen & <h2>Attorney Online %1</h2>Der Gerichtsdrama Simulator<p><b>Quelltext:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Leitende Entwicklung:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter<p><b>Danksagungen:</b><br>Remy, Iamgoofball, Hibiki, Qubrick (webAO), Ruekasu (UI design), Draxirch (UI design), Unishred, Argoneus (tsuserver), Fiercy, Noevain, Cronnicossy - + Online: %1/%2 Online: %1/%2 @@ -1933,8 +2112,8 @@ Noevain Cronnicossy - - + + Offline Offline @@ -1956,17 +2135,17 @@ Cronnicossy debug_functions - + Error: %1 Fehler: %1 - + Error Fehler - + Notice Hinweis diff --git a/resource/translations/ao_en.ts b/resource/translations/ao_en.ts index 1540aca..9ff71a2 100644 --- a/resource/translations/ao_en.ts +++ b/resource/translations/ao_en.ts @@ -4,17 +4,17 @@ AOApplication - + Disconnected from server. - + Error connecting to master server. Will try again in %1 seconds. - + 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. @@ -27,45 +27,55 @@ Please go to aceattorneyonline.com to update. - - Attorney Online 2 - - - - + Loading - + Loading music: %1/%2 - + Loading chars: %1/%2 - + + Attorney Online %1 + + + + You have been kicked from the server. Reason: %1 - + You have been banned from the server. Reason: %1 - + You are banned on this server. Reason: %1 + + + Demo playback + + + + + Play back demos you have previously recorded + + AOCaseAnnouncerDialog @@ -108,540 +118,627 @@ Reason: %1 AOOptionsDialog - + Settings - + Gameplay - + Theme: - + Sets the theme used in-game. If the new theme changes the lobby's look as well, you'll need to reload the lobby for the changes to take effect, such as by joining a server and leaving it. - + Log goes downwards: - + If ticked, new messages will appear at the bottom (like the OOC chatlog). The traditional (AO1) behaviour is equivalent to this being unticked. - + Log length: - + Default username: - + Your OOC name will be automatically set to this value when you join a server. - + Custom shownames: - + Gives the default value for the in-game 'Custom shownames' tickbox, which in turn determines whether the client should display custom in-character names. - + Backup MS: - + If the built-in server lookups fail, the game will try the address given here and use it as a backup master server address. - + Discord: - + Allows others on Discord to see what server you are in, what character are you playing, and how long you have been playing for. - + Language: - + Sets the language if you don't want to use your system language. - + Callwords - + <html><head/><body>Enter as many callwords as you would like. These are case insensitive. Make sure to leave every callword in its own line!<br>Do not leave a line with a space at the end -- you will be alerted everytime someone uses a space in their messages.</body></html> - + Audio - + Audio device: - + Sets the audio device for all sounds. - + Music: - + SFX: - + Blips: - + Sets the volume of the blips, the talking sound effects. - + Blip rate: - + Sets the delay between playing the blip sounds. - + Blank blips: - + If true, the game will play a blip sound even when a space is 'being said'. - + Enable Looping SFX: - + If true, the game will allow looping sound effects to play on preanimations. - + Kill Music On Objection: - + - Keep current setting - + Subtheme: - + Sets a 'subtheme', which will stack on top of the current theme and replace anything it can.Keep it at 'server' to let the server decide. Keep it at 'default' to keep it unchanging. - + Reload Theme - + Refresh the theme and update all of the ui elements to match. - + Animated Theme: - + If ticked, themes will be allowed to have animated elements. - + The amount of message lines the IC chatlog will keep before deleting older message lines. A value of 0 or below counts as 'infinite'. - + Log newline: - + If ticked, new messages will appear separated, with the message coming on the next line after the name. When unticked, it displays it as 'name: message'. - + Log margin: - + The distance in pixels between each entry in the IC log. Default: 0. - + Log timestamp: - + If ticked, log will contain a timestamp in UTC before the name. - + + + Log timestamp format: + + + + + Log IC actions: - + If ticked, log will show IC actions such as shouting and presenting evidence. - + Text Stay Time: - + Minimum amount of time (in miliseconds) an IC message must stay on screen before the next IC message is shown, acting as a 'queue'. Set to 0 to disable this behavior. - + Desynchronize IC Logs: - + If ticked, log will show messages as-received, while viewport will parse according to the queue (Text Stay Time). - + Instant Objection: - + If Text Stay Time is more than 0, instant objection will skip queued messages instead of waiting to catch up. - + Text crawl: - + Amount of time (in miliseconds) spent on each letter when the in-character text is being displayed. - + Chat Rate Limit: - + Minimum amount of time (in miliseconds) that must pass before the next Enter key press will send your IC message. - + + Default showname: + + + + + Your showname will be automatically set to this value when you join a server. + + + + + Scaling: + + + + + Sets the default scaling method, if there is not one already defined specifically for the character. + + + + + Pixel + + + + + Smooth + + + + Allow Screenshake: - + Allows screenshaking. Disable this if you have concerns or issues with photosensitivity and/or seizures. - + Allow Effects: - + Allows screen effects. Disable this if you have concerns or issues with photosensitivity and/or seizures. - + Network Frame Effects: - + Send screen-shaking, flashes and sounds as defined in the char.ini over the network. Only works for servers that support this functionality. - + Colors in IC Log: - + Use the markup colors in the server IC chatlog. - + Sticky Sounds: - + Turn this on to prevent the sound dropdown from clearing the sound after playing it. - + Sticky Effects: - + Turn this on to prevent the effects dropdown from clearing the effect after playing it. - + Sticky Preanims: - + Turn this on to prevent preanimation checkbox from clearing after playing the emote. - + Custom Chatboxes: - + Turn this on to allow characters to define their own custom chat box designs. - + Stickers: - + Turn this on to allow characters to define their own stickers (unique images that show up over the chatbox - like avatars or shownames). - + Continuous Playback: - + Whether or not to resume playing animations from where they left off. Turning off might reduce lag. - + Stop Music w/ Category: - + Stop music when double-clicking a category. If this is disabled, use the right-click context menu to stop music. - + Sets the music's default volume. - + Sets the SFX's default volume. Interjections and actual sound effects count as 'SFX'. - + Play a blip sound "once per every X symbols", where X is the blip rate. - + If true, AO2 will ask the server to stop music when you use 'Objection!' - + Casing - + This server supports case alerts. - + This server does not support case alerts. - + Pretty self-explanatory. - + Casing: - + If checked, you will get alerts about case announcements. - + Defense: - + If checked, you will get alerts about case announcements if a defense spot is open. - + Prosecution: - + If checked, you will get alerts about case announcements if a prosecutor spot is open. - + Judge: - + If checked, you will get alerts about case announcements if the judge spot is open. - + Juror: - + If checked, you will get alerts about case announcements if a juror spot is open. - + Stenographer: - + If checked, you will get alerts about case announcements if a stenographer spot is open. - + CM: - + If checked, you will appear amongst the potential CMs on the server. - + Hosting cases: - + If you're a CM, enter what cases you are willing to host. - + Automatic Logging: - + If checked, all logs will be automatically written in the /logs folder. + + + Assets + + + + + Add or remove base folders for use by assets. Base folders will be searched in the order provided. + + + + + Add… + + + + + Select a base folder + + + + + Remove + + + + + ↑ + + + + + ↓ + + + + + Clear Cache + + + + + Clears the lookup cache for assets. Use this when you have added an asset that takes precedence over another existing asset. + + + + + %1 (default) + + Courtroom @@ -651,767 +748,711 @@ Reason: %1 - + Spectator - - + + Search - + Passworded - + Taken - + Generating chars: %1/%2 - + Showname - + Message - + Name - + Pre - + Flip - - + + Casing - + Shownames - + Immediate - + % x offset - + % y offset - + Change the horizontal percentage offset of your character's position from the center of the screen. - + Change the vertical percentage offset of your character's position from the center of the screen. - + Set an 'iniswap', or an alternative character folder to refer to from your current character. Edit by typing and pressing Enter, [X] to remove. This saves to your base/iniswaps.ini - + You were granted the Disable Modcalls button. - - You have set your offset to %1%%. - - - - + 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 - + Case made by %1. - + Navigate to %1 for the CM doc. - + Your case "%1" was loaded! - - + + Server - + Back to Lobby - + Music - + Sfx - + Blips - + Change character - + Reload theme - + Call mod - + Settings - + A/M - + Preanim - + You have been banned. - - You opened the settings menu. - - - - - - - + + + None - + Guard - + Additive - + To front - + To behind - + + Log goes down + + + + + Log goes up + + + + Select a character you wish to pair with. - + Change the order of appearance for your character. - + Display the list of characters to pair with. - + Oops, you're muted! - + Set your character's emote to play on your next message. - + Set your character's supplementary background. - + Reset your character's supplementary background to its default. - + Remove the currently selected iniswap from the list and return to the original character folder. - + Set a sound effect to play on your next 'Preanim'. Leaving it on Default will use the emote-defined sound (if any). Edit by typing and pressing Enter, [X] to remove. This saves to your base/characters/<charname>/soundlist.ini - + Remove the currently selected sound effect. - + Choose an effect to play on your next spoken message. The effects are defined in your theme/effects/effects.ini. Your character can define custom effects by char.ini [Options] category, effects = 'miscname' where it referes to misc/<miscname>/effects.ini to read the effects. - + Hold It! - - - + + + When this is turned on, your next in-character message will be a shout! - + Objection! - + Take That! - + Toggle between server chat and global AO2 chat. - - - - + + + + This will display the animation in the viewport as soon as it is pressed. - + Guilty! - + Bring up the Character Select Screen and change your character. - + Refresh the theme and update all of the ui elements to match. - + Request the attention of the current server's moderator. - + Allows you to change various aspects of the client. - + An interface to help you announce a case (you have to be a CM first to be able to announce cases) - + Switch between Areas and Music lists - + Play a single-shot animation as defined by the emote when checked. - + If preanim is checked, display the input text immediately as the animation plays concurrently. - + Mirror your character's emotes when checked. - + Add text to your last spoken message when checked. - + Do not listen to mod calls when checked, preventing them from playing sounds or focusing attention on the window. - + Lets you receive case alerts when enabled. (You can set your preferences in the Settings!) - + Display customized shownames for all users when checked. - + Custom Shout! - + This will display the custom character-defined animation in the viewport as soon as it is pressed. To make one, your character's folder must contain custom.[webp/apng/gif/png] and custom.[wav/ogg/opus] sound effect - + Play realization sound and animation in the viewport on the next spoken message when checked. - + Shake the screen on next spoken message when checked. - + Display the list of character folders you wish to mute. - - + + Increase the health bar. - - + + Decrease the health bar. - + Change the text color of the spoken message. You can also select a part of your currently typed message and use the dropdown to change its color! - + Return back to the server list. - + Become a spectator. You won't be able to interact with the in-character screen. - - + + + + CLIENT - + + Login unsuccessful. + + + + + You were logged out. + + + + HOLD IT! - + OBJECTION! - + TAKE THAT! - + CUSTOM OBJECTION! - - - - + + + + shouts - - - + + + has presented evidence - - - + + + has stopped the music - - + [STREAM] %1 - - + [MISSING] %1 - - + + has played a song - - You will now pair up with %1 if they also choose your character in return. - - - - - You are no longer paired with anyone. - - - - - Are you sure you typed that well? The char ID could not be recognised. - - - - - Your offset must be between -100% and 100%! - - - - - That offset does not look like one. - - - - - You have set your vertical offset to %1%%. - - - - - Your vertical offset must be between -100% and 100%! - - - - - That vertical offset does not look like one. - - - - - You switched your music and area list. - - - - - You have forcefully enabled features that the server may not support. You may not be able to talk IC, or worse, because of this. - - - - - Your pre-animations interrupt again. - - - - - Your pre-animations will not interrupt text. - - - - - Couldn't open chatlog.txt to write into. - - - - - The IC chatlog has been saved. - - - - + You don't have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it's likely the case file you're looking for can't be found in there. - + Too many arguments to load a case! You only need one filename, without extension. + - - - + + UNKNOWN - + You don't have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it's likely that you somehow deleted it. - + You need to give a filename to save (extension not needed) and the courtroom status! - + Too many arguments to save a case! You only need a filename without extension and the courtroom status! - + Succesfully saved, edit doc and cmdoc link on the ini! - + Master - + Stop Current Song - + Play Random Song - + Expand All Categories - + Collapse All Categories - + Fade Out Previous - + Fade In - + Synchronize - + Default - + Reason: - + Call Moderator - + Error - + You must provide a reason. - + The message is too long. - + Present this piece of evidence to everyone on your next spoken message - + Save evidence to an .ini file. - + Load evidence from an .ini file. - + Destroy this piece of evidence - + Choose.. - + Close the evidence display/editing overlay. You will be prompted if there's any unsaved changes. - + Save any changes made to this piece of evidence and send them to server. - - Double-click to edit. Press [X] to update your changes. + + Click the pencil icon to edit. Press [X] to update your changes. - + + Edit this piece of evidence. + + + + Bring up the Evidence screen. - + Switch evidence to private inventory. - + Switch evidence to global inventory. - - + + Transfer evidence to private inventory. - - + + Transfer evidence to global inventory. - + The piece of evidence you've been editing has changed. - + Do you wish to keep your changes? - + Name: %1 Image: %2 Description: @@ -1419,60 +1460,60 @@ Description: - + Images (*.png) - - - - Double-click to edit... + + + + Click the pencil to edit... - + Add new evidence... - + Evidence has been modified. - + Do you want to save your changes? - + Current evidence is global. Click to switch to private. - + Current evidence is private. Click to switch to global. - + "%1" has been transferred. - + Save Inventory - - + + Ini Files (*.ini) - + Open Inventory @@ -1481,93 +1522,151 @@ Description: DemoServer - + Load Demo - + Demo Files (*.demo) + + + + Demo file loaded. Send /play or > in OOC to begin playback. + + + + + Resuming playback. + + + + + Pausing playback. + + + + + Setting max_wait to + + + + + + milliseconds. + + + + + Not a valid integer! + + + + + Current max_wait is + + + + + Current demo file reloaded. Send /play or > in OOC to begin playback. + + + + + min_wait is deprecated. Use the client Settings for minimum wait instead! + + + + + Available commands: +load, reload, play, pause, max_wait, help + + + + + Reached the end of the demo file. Send /play or > in OOC to restart, or /load to open a new file. + + Lobby - - Attorney Online 2 + + Attorney Online %1 - + Search - + Name - + It doesn't look like your client is set up correctly. Did you download all resources correctly from tiny.cc/getao, including the large 'base' folder? - + Version: %1 - + Settings - + Allows you to change various aspects of the client. - + Loading - + Cancel - + <h2>Attorney Online %1</h2>The courtroom drama simulator.<p><b>Source code:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Major development:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter, Crystalwarrior, Iamgoofball, in1tiate<p><b>Client development:</b><br>Cents02, windrammer, skyedeving<p><b>QA testing:</b><br>CaseyCazy, CedricDewitt, Chewable Tablets, CrazyJC, Fantos, Fury McFlurry, Geck, Gin-Gi, Jamania, Minx, Pandae, Robotic Overlord, Shadowlions (aka Shali), Sierra, SomeGuy, Veritas, Wiso<p><b>Translations:</b><br>k-emiko (Русский), Pyraq (Polski), scatterflower (日本語), vintprox (Русский), windrammer (Español, Português)<p><b>Special thanks:</b><br>CrazyJC (2.8 release director) and MaximumVolty (2.8 release promotion); Remy, Hibiki, court-records.net (sprites); Qubrick (webAO); Rue (website); Draxirch (UI design); Lewdton and Argoneus (tsuserver); Fiercy, Noevain, Cronnicossy, and FanatSors (AO1); server hosts, game masters, case makers, content creators, and the whole AO2 community!<p>The Attorney Online networked visual novel project is copyright (c) 2016-2021 Attorney Online developers. Open-source licenses apply. All other assets are the property of their respective owners.<p>Running on Qt version %2 with the BASS audio engine.<br>APNG plugin loaded: %3<p>Built on %4 - + Yes - + No - + About - + Online: %1/%2 - - + + Offline @@ -1585,17 +1684,17 @@ Did you download all resources correctly from tiny.cc/getao, including the large debug_functions - + Error: %1 - + Error - + Notice diff --git a/resource/translations/ao_es.qm b/resource/translations/ao_es.qm index 75a63c3..407ee75 100644 Binary files a/resource/translations/ao_es.qm and b/resource/translations/ao_es.qm differ diff --git a/resource/translations/ao_es.ts b/resource/translations/ao_es.ts index 50cf555..f94c866 100644 --- a/resource/translations/ao_es.ts +++ b/resource/translations/ao_es.ts @@ -4,17 +4,17 @@ AOApplication - + Disconnected from server. Desconectado del servidor. - + Error connecting to master server. Will try again in %1 seconds. Error al conectarse a la lista de servidores. Se intentará nuevamente en %1 segundos. - + 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. @@ -35,12 +35,7 @@ Have a nice day. Que tengas un buen día. - - Attorney Online 2 - - - - + Loading Cargando @@ -51,35 +46,40 @@ Que tengas un buen día. %1/%2 - + Loading music: %1/%2 Cargando música: %1/%2 - + Loading chars: %1/%2 Cargando personajes: %1/%2 - + + Attorney Online %1 + Attorney Online %1 + + + You have been kicked from the server. Reason: %1 Has sido expulsado del servidor. Razón: %1 - + You have been banned from the server. Reason: %1 Has sido bloqueado de este servidor. Razón: %1 - + You are banned on this server. Reason: %1 Has sido bloqueado en este servidor. @@ -97,6 +97,16 @@ Reason: Has sido bloqueado en este servidor. Razón: + + + Demo playback + + + + + Play back demos you have previously recorded + + AOCaseAnnouncerDialog @@ -143,67 +153,67 @@ Razón: AOOptionsDialog - + Settings Ajustes - + Gameplay Jugabilidad - + Theme: Tema visual: - + Sets the theme used in-game. If the new theme changes the lobby's look as well, you'll need to reload the lobby for the changes to take effect, such as by joining a server and leaving it. 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. - + Subtheme: - + Sets a 'subtheme', which will stack on top of the current theme and replace anything it can.Keep it at 'server' to let the server decide. Keep it at 'default' to keep it unchanging. - + Reload Theme - + Refresh the theme and update all of the ui elements to match. Actualiza el tema y todos los elementos de la interfaz de usuario para que coincidan. - + Animated Theme: - + If ticked, themes will be allowed to have animated elements. - + Log goes downwards: Invertir historial IC: - + If ticked, new messages will appear at the bottom (like the OOC chatlog). The traditional (AO1) behaviour is equivalent to this being unticked. Si está marcado, los nuevos mensajes aparecerán en la parte inferior (como el chat OOC). - + Log length: Limite del historial: @@ -212,145 +222,232 @@ Razón: La cantidad de mensajes que mantendrá el historial del chat IC antes de eliminar mensajes más antiguos. 0 significa 'infinito'. - + The amount of message lines the IC chatlog will keep before deleting older message lines. A value of 0 or below counts as 'infinite'. - + Log newline: Nueva línea en log: - + If ticked, new messages will appear separated, with the message coming on the next line after the name. When unticked, it displays it as 'name: message'. Si es marcado, los mensajes nuevos aparecerán separados, y el mensaje aparecerá en la siguiente línea después del nombre. Cuando está desmarcado, lo muestra como 'nombre: mensaje'. - + Log margin: Margen en log: - + The distance in pixels between each entry in the IC log. Default: 0. La distancia en píxeles entre cada entrada en el registro de IC. Predeterminado: 0. - + Log timestamp: Marca de tiempo en log: - + If ticked, log will contain a timestamp in UTC before the name. Si está marcado, el registro contendrá una marca de tiempo en UTC antes del nombre. - + + + Log timestamp format: + + + + + Log IC actions: - + If ticked, log will show IC actions such as shouting and presenting evidence. - + Text Stay Time: - + Minimum amount of time (in miliseconds) an IC message must stay on screen before the next IC message is shown, acting as a 'queue'. Set to 0 to disable this behavior. - + Desynchronize IC Logs: - + If ticked, log will show messages as-received, while viewport will parse according to the queue (Text Stay Time). - + Instant Objection: - + If Text Stay Time is more than 0, instant objection will skip queued messages instead of waiting to catch up. - + Text crawl: - + Amount of time (in miliseconds) spent on each letter when the in-character text is being displayed. - + Chat Rate Limit: - + Minimum amount of time (in miliseconds) that must pass before the next Enter key press will send your IC message. - + Default username: Usuario predeterminado: - + Your OOC name will be automatically set to this value when you join a server. Su nombre OOC se establecerá automáticamente a este cuando se una a un servidor. - + Custom shownames: Mostrar nombres: - + Gives the default value for the in-game 'Custom shownames' tickbox, which in turn determines whether the client should display custom in-character names. Activa la casilla 'Mostrar nombres' de forma predeterminada en el juego, que a su vez determina si el cliente debe mostrar nombres personalizados en los personajes. - + + Default showname: + + + + + Your showname will be automatically set to this value when you join a server. + + + + Backup MS: Master SV de respaldo: - + If the built-in server lookups fail, the game will try the address given here and use it as a backup master server address. Si la lista de servidores predeterminada falla, el juego probará la dirección proporcionada aquí. - + Discord: Discord: - + Allows others on Discord to see what server you are in, what character are you playing, and how long you have been playing for. Permite a otros en Discord ver en qué servidor estás, qué personaje juegas y cuánto tiempo has estado jugando. - + + Scaling: + + + + + Sets the default scaling method, if there is not one already defined specifically for the character. + + + + + Pixel + + + + + Smooth + + + + If true, AO2 will ask the server to stop music when you use 'Objection!' + + + Assets + + + + + Add or remove base folders for use by assets. Base folders will be searched in the order provided. + + + + + Add… + + + + + Select a base folder + + + + + Remove + + + + + ↑ + + + + + ↓ + + + + + Clear Cache + + + + + Clears the lookup cache for assets. Use this when you have added an asset that takes precedence over another existing asset. + + + + + %1 (default) + + Allow Shake/Flash: Permitir Shake/Flash: @@ -360,12 +457,12 @@ Razón: Permite el movimiento de la pantalla y el parpadeo. Desactive esto si tiene inquietudes o problemas con la fotosensibilidad y/o convulsiones. - + Language: Idioma: - + Sets the language if you don't want to use your system language. Establece el idioma si no desea utilizar el idioma de su sistema. @@ -374,47 +471,47 @@ Razón: Habilítelo para agregar una pequeña pausa en los signos de puntuación. - + Callwords Palabras clave - + <html><head/><body>Enter as many callwords as you would like. These are case insensitive. Make sure to leave every callword in its own line!<br>Do not leave a line with a space at the end -- you will be alerted everytime someone uses a space in their messages.</body></html> <html><head/><body>Ingrese tantas palabras de llamada como desee.<br>Esto no distingue entre mayúsculas y minúsculas. ¡Asegúrese de dejar cada palabra en su propia línea!<br>No deje una línea con un espacio al final; recibirá una alerta cada vez que alguien use un espacio en sus mensajes.</body></html> - + Audio Audio - + Audio device: Dispositivo: - + Sets the audio device for all sounds. Establece el dispositivo de audio. - + Music: Música: - + Sets the music's default volume. Establece el volumen predeterminado de la música. - + SFX: SFX: - + Sets the SFX's default volume. Interjections and actual sound effects count as 'SFX'. Establece el volumen predeterminado de SFX. Las interjecciones y los efectos de sonido reales cuentan como 'SFX'. @@ -443,47 +540,47 @@ Razón: Establece el volumen predeterminado para sonidos SFX, como las interjecciones y otros efectos de sonido de personajes. - + Blips: Blips: - + Sets the volume of the blips, the talking sound effects. Establece el volumen de los blips, el sonido al hablar. - + Blip rate: Tasa de blips: - + Sets the delay between playing the blip sounds. Establece el retraso entre la reproducción de los sonidos blip. - + Blank blips: Blips en blanco: - + If true, the game will play a blip sound even when a space is 'being said'. Si está marcada, el juego reproducirá un sonido blip incluso cuando se 'dice' un espacio. - + Enable Looping SFX: Habilitar repetición de SFX: - + If true, the game will allow looping sound effects to play on preanimations. Si está habilitado, el juego permitirá que se reproduzcan efectos de sonido en bucle en preanimaciones. - + Kill Music On Objection: Parar la música al objetar: @@ -492,122 +589,122 @@ Razón: Si está habilitado, el juego detendrá la música cuando alguien haga una objeción, como en los juegos. - + - Keep current setting - Mantener la configuración actual - + Allow Screenshake: Permitir screenshake: - + Allows screenshaking. Disable this if you have concerns or issues with photosensitivity and/or seizures. Permite el movimiento de la pantalla (ADVERTENCIA: esto podría inducir convulsiones debido a imágenes parpadeantes). - + Allow Effects: Permitir efectos: - + Allows screen effects. Disable this if you have concerns or issues with photosensitivity and/or seizures. Permite efectos de pantalla (ADVERTENCIA: esto podría inducir convulsiones debido a imágenes parpadeantes). - + Network Frame Effects: Enviar efectos al servidor: - + Send screen-shaking, flashes and sounds as defined in the char.ini over the network. Only works for servers that support this functionality. Envíe temblores de pantalla, destellos y sonidos como se define en char.ini a través de la red. Solo funciona para servidores que admiten esta funcionalidad. - + Colors in IC Log: Colores en el registro IC: - + Use the markup colors in the server IC chatlog. Permite colores en el chat IC del servidor. - + Sticky Sounds: Mantener sonidos: - + Turn this on to prevent the sound dropdown from clearing the sound after playing it. Actívelo para evitar que el menú desplegable de sonido borre el sonido después de reproducirlo. - + Sticky Effects: Mantener efectos: - + Turn this on to prevent the effects dropdown from clearing the effect after playing it. Actívelo para evitar que el menú desplegable de efectos elimine el efecto después de reproducirlo. - + Sticky Preanims: Mantener preanims: - + Turn this on to prevent preanimation checkbox from clearing after playing the emote. Actívelo para evitar que la casilla preanimation se desactive después de reproducir el emote. - + Custom Chatboxes: Chatboxes personalizados: - + Turn this on to allow characters to define their own custom chat box designs. Actívelo para permitir que los personajes definan sus propios diseños de cuadros de chat personalizados. - + Stickers: - + Turn this on to allow characters to define their own stickers (unique images that show up over the chatbox - like avatars or shownames). - + Continuous Playback: - + Whether or not to resume playing animations from where they left off. Turning off might reduce lag. - + Stop Music w/ Category: - + Stop music when double-clicking a category. If this is disabled, use the right-click context menu to stop music. - + Play a blip sound "once per every X symbols", where X is the blip rate. Reproduce un sonido de blip "una vez por cada X símbolos", donde X es la tasa de blip. @@ -616,102 +713,102 @@ Razón: Si es activado, AO2 detendrá la música por ti cuando tú u otra persona hagan un '¡Protesto!'. - + Casing Caso - + This server supports case alerts. Este servidor admite alertas de casos. - + This server does not support case alerts. Este servidor no admite alertas de casos. - + Pretty self-explanatory. Bastante autoexplicativo. - + Casing: Caso: - + If checked, you will get alerts about case announcements. Si está marcado, recibirá anuncios de casos. - + Defense: Abogado: - + If checked, you will get alerts about case announcements if a defense spot is open. Si está marcado, recibirá alertas sobre anuncios de casos si hay un lugar de abogado libre. - + Prosecution: Fiscal: - + If checked, you will get alerts about case announcements if a prosecutor spot is open. Si está marcada, recibirá alertas sobre anuncios de casos si hay un puesto de fiscal libre. - + Judge: Juez: - + If checked, you will get alerts about case announcements if the judge spot is open. Si está marcado, recibirá alertas sobre anuncios de casos si el puesto de juez está libre. - + Juror: Jurado: - + If checked, you will get alerts about case announcements if a juror spot is open. Si está marcado, recibirá alertas sobre anuncios de casos si hay un puesto de jurado libre. - + Stenographer: Taquígrafo: - + If checked, you will get alerts about case announcements if a stenographer spot is open. Si está marcado, recibirá alertas sobre anuncios de casos si hay un lugar de taquígrafo libre. - + CM: CM: - + If checked, you will appear amongst the potential CMs on the server. Si está marcado, aparecerá entre los posibles CM en el servidor. - + Automatic Logging: Registro automático: - + If checked, all logs will be automatically written in the /logs folder. Si está marcado, todos los registros se guardarán automáticamente en la carpeta logs. @@ -724,12 +821,12 @@ Razón: Si está marcado, aparecerá entre los posibles testigos en el servidor. - + Hosting cases: Casos: - + If you're a CM, enter what cases you are willing to host. Si eres un CM, ingresa qué casos estás dispuesto a organizar. @@ -778,24 +875,24 @@ Razón: Contraseña - + Spectator Espectador - - + + Search Buscar - + Passworded A translation wouldn't fit because of the shitty theme system. - + Taken En uso @@ -804,7 +901,7 @@ Razón: No se pudo encontrar %1 - + Generating chars: %1/%2 Generando personajes: @@ -817,53 +914,53 @@ Razón: - + Showname A translation wouldn't fit because of the shitty theme system. - + Message Mensaje - + Name Nombre - + Pre A translation wouldn't fit because of the shitty theme system. - + Flip A translation wouldn't fit because of the shitty theme system. - + Guard Guardia - - + + Casing This could be translated as 'caso' and it wouldn't get cut, but there are so many other buttons that can't be translated on the courtroom window that might as well leave this also untranslated so it's at least consistent. - + Shownames A translation wouldn't fit because of the shitty theme system. - + Immediate A translation wouldn't fit because of the shitty theme system. @@ -909,63 +1006,63 @@ Razón: % desplazamiento - + Music - + Sfx - + Blips - + Change character - + Reload theme - + Call mod - + Settings - + A/M - + Preanim - + Back to Lobby 'Volver al lobby' got cut, changed to just Lobby Lobby - + You were granted the Disable Modcalls button. Se le concedió el botón para deshabilitar llamadas a moderadores. - + You have been banned. Has sido vetado. @@ -978,9 +1075,8 @@ Razón: Esto no hace nada, pero ahí lo tienes. - You opened the settings menu. - Abriste el menú de configuración. + Abriste el menú de configuración. You will now pair up with @@ -991,40 +1087,49 @@ Razón: si ellos también eligen a tu personaje a cambio. - - - - + + + None Nada - + Additive Aditivo - + % x offset - + % y offset - + To front Al frente - + To behind Al fondo - + + Log goes down + + + + + Log goes up + + + + Select a character you wish to pair with. Seleccione un personaje con el que desee emparejarse. @@ -1033,27 +1138,27 @@ Razón: Cambia el desplazamiento porcentual de la posición de tu personaje desde el centro de la pantalla. - + Change the order of appearance for your character. Cambia el orden de aparición de tu personaje. - + Display the list of characters to pair with. Muestra la lista de personajes para emparejar. - + Oops, you're muted! ¡Ups, estas silenciado! - + Set your character's emote to play on your next message. Configura el emote de tu personaje para usar en tu próximo mensaje. - + Set your character's supplementary background. Establece el fondo suplementario de tu personaje. @@ -1064,45 +1169,45 @@ Edit by typing and pressing Enter, [X] to remove. This saves to your base/charac Edite escribiendo y presionando Enter, [X] para eliminar. Esto es guardado en base/characters/<charname>/iniswaps.ini - + Change the horizontal percentage offset of your character's position from the center of the screen. - + Change the vertical percentage offset of your character's position from the center of the screen. - + Reset your character's supplementary background to its default. - + Set an 'iniswap', or an alternative character folder to refer to from your current character. Edit by typing and pressing Enter, [X] to remove. This saves to your base/iniswaps.ini - + Remove the currently selected iniswap from the list and return to the original character folder. Elimina el iniswap seleccionado actualmente de la lista y regresa a la carpeta de caracteres original. - + Set a sound effect to play on your next 'Preanim'. Leaving it on Default will use the emote-defined sound (if any). Edit by typing and pressing Enter, [X] to remove. This saves to your base/characters/<charname>/soundlist.ini Establece un efecto de sonido para jugar en su próximo 'Preanim'. Dejarlo en Predeterminado usará el sonido definido por emoticones (si hay). Edite escribiendo y presionando Enter, [X] para eliminar. Esto es guardado en base/characters/<charname>/iniswaps.ini - + Remove the currently selected sound effect. - + Choose an effect to play on your next spoken message. The effects are defined in your theme/effects/effects.ini. Your character can define custom effects by char.ini [Options] category, effects = 'miscname' where it referes to misc/<miscname>/effects.ini to read the effects. @@ -1111,386 +1216,365 @@ Los efectos se definen en theme/effects/effects.ini. Tu personaje puede definir char.ini [Opciones] categoría, effects = 'miscname' donde se refiere a misc/<miscname>/effects.ini para leer los efectos. - + Hold It! ¡Un Momento! - - - + + + When this is turned on, your next in-character message will be a shout! Why the exclamation? Cuando esto es activado, tu próximo mensaje del personaje será un grito. - + Objection! ¡Protesto! - + Take That! ¡Toma Eso! - + Toggle between server chat and global AO2 chat. Alternar entre el chat del servidor y el chat global. - - - - + + + + This will display the animation in the viewport as soon as it is pressed. Esto mostrará la animación en el viewport tan pronto como se presione. - + Guilty! ¡Culpable! - + Bring up the Character Select Screen and change your character. Abre la pantalla de selección de personaje y cambia tu personaje. - + Refresh the theme and update all of the ui elements to match. Actualiza el tema y todos los elementos de la interfaz de usuario para que coincidan. - + Request the attention of the current server's moderator. Solicite la atención del moderador actual del servidor. - + Allows you to change various aspects of the client. Le permite cambiar varios aspectos del cliente. - + An interface to help you announce a case (you have to be a CM first to be able to announce cases) Una interfaz para ayudarlo a anunciar un caso (debe ser un CM para poder anunciar casos) - + Switch between Areas and Music lists Cambiar entre áreas y listas de música - + Play a single-shot animation as defined by the emote when checked. Reproduzca una animación de un solo disparo según lo definido por el emote cuando esté marcado. - + If preanim is checked, display the input text immediately as the animation plays concurrently. Si se marca preanim, muestre el texto de entrada inmediatamente mientras la animación se reproduce simultáneamente. - + Mirror your character's emotes when checked. Refleja los gestos de tu personaje cuando esté marcado. - + Add text to your last spoken message when checked. Agregar texto a su último mensaje hablado cuando esté marcado. - + Do not listen to mod calls when checked, preventing them from playing sounds or focusing attention on the window. No escucha llamadas de moderación cuando esté marcado, evitando que reproduzcan sonidos o centrando la atención en la ventana. - + Lets you receive case alerts when enabled. (You can set your preferences in the Settings!) Le permite recibir alertas de casos cuando está habilitado. (¡Puedes configurar tus preferencias en la Configuración!) - + Display customized shownames for all users when checked. Mostrar nombres personalizados para todos los usuarios cuando esté marcado. - + Custom Shout! ¡Grito personalizado! - + This will display the custom character-defined animation in the viewport as soon as it is pressed. To make one, your character's folder must contain custom.[webp/apng/gif/png] and custom.[wav/ogg/opus] sound effect Esto mostrará la animación de personaje personalizada definida en el viewport tan pronto como se presione. Para hacer una, la carpeta de tu personaje debe contener efectos personalizados [webp/apng/gif/png]. Y efectos personalizados de sonido [wav/ogg/opus] - + Play realization sound and animation in the viewport on the next spoken message when checked. Reproduzca sonido y animación de realización en la ventana gráfica en el siguiente mensaje hablado cuando esté marcado. - + Shake the screen on next spoken message when checked. Agite la pantalla en el siguiente mensaje hablado cuando esté marcado. - + Display the list of character folders you wish to mute. Muestra la lista de carpetas de caracteres que desea silenciar. - - + + Increase the health bar. Aumenta la barra de salud. - - + + Decrease the health bar. Disminuye la barra de salud. - + Change the text color of the spoken message. You can also select a part of your currently typed message and use the dropdown to change its color! Cambia el color del texto en el chat IC. ¡También puede seleccionar una parte de su mensaje escrito actualmente y usar el menú desplegable para cambiar su color! - + Return back to the server list. Regresar a la lista de servidores. - + Become a spectator. You won't be able to interact with the in-character screen. Conviértete en espectador. No podrás interactuar como personaje. - - + + + + CLIENT - + + Login unsuccessful. + + + + + You were logged out. + + + + HOLD IT! - + OBJECTION! - + TAKE THAT! - + CUSTOM OBJECTION! - - - - + + + + shouts - - - + + + has presented evidence ha presentado evidencia - - - + + + has stopped the music - - + [STREAM] %1 - - + [MISSING] %1 - - + + has played a song ha reproducido la canción - You will now pair up with %1 if they also choose your character in return. - Ahora se emparejará con %1 si también eligen a su personaje. + Ahora se emparejará con %1 si también eligen a su personaje. - You are no longer paired with anyone. - Ya no estás emparejado con nadie. + Ya no estás emparejado con nadie. - Are you sure you typed that well? The char ID could not be recognised. - ¿Estás seguro de que lo escribiste bien? El ID de personaje no pudo ser reconocido. - - - - You have set your offset to %1%%. - + ¿Estás seguro de que lo escribiste bien? El ID de personaje no pudo ser reconocido. You have set your offset to Ha configurado su desplazamiento en - Your offset must be between -100% and 100%! - ¡Su desplazamiento debe estar entre -100% y 100%! + ¡Su desplazamiento debe estar entre -100% y 100%! - That offset does not look like one. - Ese desplazamiento no se parece a uno. + Ese desplazamiento no se parece a uno. - - You have set your vertical offset to %1%%. - - - - - Your vertical offset must be between -100% and 100%! - - - - - That vertical offset does not look like one. - - - - You switched your music and area list. - Cambiaste tu lista de música y área. + Cambiaste tu lista de música y área. - You have forcefully enabled features that the server may not support. You may not be able to talk IC, or worse, because of this. - Ha habilitado forzosamente funciones que el servidor puede no admitir. Es posible que no pueda hablar IC, o peor, debido a esto. + Ha habilitado forzosamente funciones que el servidor puede no admitir. Es posible que no pueda hablar IC, o peor, debido a esto. - Your pre-animations interrupt again. - Sus pre-animaciones interrumpen de nuevo. + Sus pre-animaciones interrumpen de nuevo. - Your pre-animations will not interrupt text. - Sus pre-animaciones no interrumpirán el texto. + Sus pre-animaciones no interrumpirán el texto. - Couldn't open chatlog.txt to write into. - No se pudo abrir chatlog.txt para escribir. + No se pudo abrir chatlog.txt para escribir. - The IC chatlog has been saved. - El chat IC se ha guardado. + El chat IC se ha guardado. - + You don't have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it's likely the case file you're looking for can't be found in there. ¡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í. - + 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 ¡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 - + Case made by %1. Caso hecho por %1. - + Navigate to %1 for the CM doc. Navegue a %1 para el documento del CM. + - - - + + UNKNOWN - + Your case "%1" was loaded! Su caso "%1" fue cargado! - + Stop Current Song - + Play Random Song Reproducir canción aleatoria - + Expand All Categories Expandir todas las categorías - + Collapse All Categories Contraer todas las categorías - + Fade Out Previous Desvanecer Anterior - + Fade In Fundirse - + Synchronize Sincronizar - + Default Predeterminado @@ -1501,7 +1585,7 @@ Cases you can load: Casos que puede cargar: - + Too many arguments to load a case! You only need one filename, without extension. ¡Demasiados argumentos para cargar un caso! Solo necesita un nombre de archivo, sin extensión. @@ -1526,34 +1610,34 @@ Casos que puede cargar: " fue cargado! - + You don't have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it's likely that you somehow deleted it. ¡No tienes una carpeta `base/cases /`! Fue creada para ti. - + You need to give a filename to save (extension not needed) and the courtroom status! ¡Debe dar un nombre de archivo para guardar (no se necesita la extensión) y el estado de la sala del tribunal! - + Too many arguments to save a case! You only need a filename without extension and the courtroom status! why two exclamations, seems excesive. ¡Demasiados argumentos para salvar un caso! Solo necesita un nombre de archivo sin extensión y el estado de la sala del tribunal. - + Succesfully saved, edit doc and cmdoc link on the ini! ¡Guardado con éxito, puede editar el doc y doc link en el archivo ini! - + Master - - + + Server @@ -1566,28 +1650,28 @@ Casos que puede cargar: ¡Demasiados argumentos para salvar un caso! Solo necesita un nombre de archivo sin extensión y el estado de la sala del tribunal. - + Reason: Razón: - + Call Moderator Llamar Moderador - + Error Error - + You must provide a reason. Debes proporcionar una razón. - + The message is too long. El mensaje es muy largo. @@ -1596,86 +1680,95 @@ Casos que puede cargar: Elegir... - + Present this piece of evidence to everyone on your next spoken message Presente esta evidencia a todos en su próximo mensaje hablado - + Save evidence to an .ini file. Guardar evidencia en un archivo .ini. - + Load evidence from an .ini file. Cargar evidencia de un archivo .ini. - + Destroy this piece of evidence Destruye esta evidencia - + Choose.. Elegir.. - + Close the evidence display/editing overlay. You will be prompted if there's any unsaved changes. Cierra la superposición para visualizar/editar evidencia. Se le preguntará si hay cambios no guardados. - + Save any changes made to this piece of evidence and send them to server. Guardar los cambios realizados en esta evidencia y enviarlos al servidor. - Double-click to edit. Press [X] to update your changes. - Doble click para editar. Presione [X] para actualizar sus cambios. + Doble click para editar. Presione [X] para actualizar sus cambios. - + + Click the pencil icon to edit. Press [X] to update your changes. + + + + + Edit this piece of evidence. + + + + Bring up the Evidence screen. Abrir la ventana de evidencia. - + Switch evidence to private inventory. Enviar la evidencia al inventario privado. - + Switch evidence to global inventory. Cambiar la evidencia al inventario global. - - + + Transfer evidence to private inventory. Transferir evidencia al inventario privado. - - + + Transfer evidence to global inventory. Transferir evidencia al inventario global. - + The piece of evidence you've been editing has changed. La evidencia que has estado editando ha cambiado. - + Do you wish to keep your changes? ¿Desea conservar sus cambios? - + Name: %1 Image: %2 Description: @@ -1686,60 +1779,64 @@ Descripción: %3 - + Images (*.png) Imágenes (* .png) - - - - Double-click to edit... - Doble click para editar... + + + + Click the pencil to edit... + - + Double-click to edit... + Doble click para editar... + + + Add new evidence... Añadir nueva evidencia... - + Evidence has been modified. La evidencia ha sido modificada. - + Do you want to save your changes? ¿Quieres guardar tus cambios? - + Current evidence is global. Click to switch to private. La evidencia actual es global. Haga clic para cambiar a privado. - + Current evidence is private. Click to switch to global. La evidencia actual es privada. Haga clic para cambiar a global. - + "%1" has been transferred. "%1" ha sido transferido. - + Save Inventory Guardar inventario - - + + Ini Files (*.ini) Archivos Ini (*.ini) - + Open Inventory Abrir el inventario @@ -1748,68 +1845,126 @@ Descripción: DemoServer - + Load Demo - + Demo Files (*.demo) + + + + Demo file loaded. Send /play or > in OOC to begin playback. + + + + + Resuming playback. + + + + + Pausing playback. + + + + + Setting max_wait to + + + + + + milliseconds. + + + + + Not a valid integer! + + + + + Current max_wait is + + + + + Current demo file reloaded. Send /play or > in OOC to begin playback. + + + + + min_wait is deprecated. Use the client Settings for minimum wait instead! + + + + + Available commands: +load, reload, play, pause, max_wait, help + + + + + Reached the end of the demo file. Send /play or > in OOC to restart, or /load to open a new file. + + Lobby - - Attorney Online 2 - + + Attorney Online %1 + Attorney Online %1 - + Search Buscar - + Name Nombre - + It doesn't look like your client is set up correctly. Did you download all resources correctly from tiny.cc/getao, including the large 'base' folder? No parece que su cliente esté configurado correctamente. ¿Descargó todos los recursos correctamente desde tiny.cc/getao, incluida la gran carpeta 'base'? - + Version: %1 Versión: %1 - + Settings Ajustes - + Allows you to change various aspects of the client. Le permite cambiar varios aspectos del cliente. - + Loading Cargando - + Cancel Cancelar - + <h2>Attorney Online %1</h2>The courtroom drama simulator.<p><b>Source code:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Major development:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter, Crystalwarrior, Iamgoofball, in1tiate<p><b>Client development:</b><br>Cents02, windrammer, skyedeving<p><b>QA testing:</b><br>CaseyCazy, CedricDewitt, Chewable Tablets, CrazyJC, Fantos, Fury McFlurry, Geck, Gin-Gi, Jamania, Minx, Pandae, Robotic Overlord, Shadowlions (aka Shali), Sierra, SomeGuy, Veritas, Wiso<p><b>Translations:</b><br>k-emiko (Русский), Pyraq (Polski), scatterflower (日本語), vintprox (Русский), windrammer (Español, Português)<p><b>Special thanks:</b><br>CrazyJC (2.8 release director) and MaximumVolty (2.8 release promotion); Remy, Hibiki, court-records.net (sprites); Qubrick (webAO); Rue (website); Draxirch (UI design); Lewdton and Argoneus (tsuserver); Fiercy, Noevain, Cronnicossy, and FanatSors (AO1); server hosts, game masters, case makers, content creators, and the whole AO2 community!<p>The Attorney Online networked visual novel project is copyright (c) 2016-2021 Attorney Online developers. Open-source licenses apply. All other assets are the property of their respective owners.<p>Running on Qt version %2 with the BASS audio engine.<br>APNG plugin loaded: %3<p>Built on %4 @@ -1818,12 +1973,12 @@ Did you download all resources correctly from tiny.cc/getao, including the large <h2>Attorney Online %1</h2>El simulador de drama legal<p><b>Código fuente:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Desarrollo mayor:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter, Crystalwarrior, Iamgoofball<p><b>Desarrollo del cliente:</b><br>Cents02, in1tiate, raidensnake, windrammer<p><b>Prueba de control de calidad:</b><br>CaseyCazy, CedricDewitt, Chewable Tablets, CrazyJC, Fantos, Fury McFlurry, Geck, Gin-Gi, Jamania, Minx, Pandae, Robotic Overlord, Shadowlions (aka Shali), Sierra, SomeGuy, Veritas, Wiso<p><b>Agradecimiento especial:</b><br>CrazyJC y MaximumVolty (versión 2.8); Remy, Hibiki, court-records.net (sprites); Qubrick (webAO); Rue (website); Draxirch (UI design); Lewdton and Argoneus (tsuserver); Fiercy, Noevain, Cronnicossy, y FanatSors (AO1); server hosts, game masters, case makers, creadores de contenido y toda la comunidad AO2.<p>El proyecto Attorney Online novela visual en red tiene copyright (c) 2016-2020 Attorney Online developers. Se aplican licencias de código abierto. Todos los demás activos son propiedad de sus respectivos dueños.<p>Usando Qt versión %2 con el motor de audio BASS.<br>Plugin APNG cargado: %3<p>Compilado el %4 - + Yes - + No @@ -1836,7 +1991,7 @@ Did you download all resources correctly from tiny.cc/getao, including the large <h2>Attorney Online %1</h2>El simulador de drama legal<p><b>Código fuente:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Desarrollo mayor:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter, Crystalwarrior, Iamgoofball<p><b>Desarrollo del cliente:</b><br>Cents02, in1tiate, raidensnake, windrammer<p><b>Prueba de control de calidad:</b><br>CaseyCazy, CedricDewitt, Chewable Tablets, CrazyJC, Fantos, Fury McFlurry, Geck, Gin-Gi, Jamania, Minx, Pandae, Robotic Overlord, Shadowlions (aka Shali), Sierra, SomeGuy, Veritas, Wiso<p><b>Agradecimiento especial:</b><br>CrazyJC y MaximumVolty (versión 2.8); Remy, Hibiki, court-records.net (sprites); Qubrick (webAO); Rue (website); Draxirch (UI design); Lewdton and Argoneus (tsuserver); Fiercy, Noevain, Cronnicossy, y FanatSors (AO1); server hosts, game masters, case makers, creadores de contenido y toda la comunidad AO2.<p>El proyecto Attorney Online novela visual en red tiene copyright (c) 2016-2020 Attorney Online developers. Se aplican licencias de código abierto. Todos los demás activos son propiedad de sus respectivos dueños.<p>Usando Qt versión %2 con el motor de audio %3.<p>Compilado el %4 - + About Acerca de @@ -1849,13 +2004,13 @@ Did you download all resources correctly from tiny.cc/getao, including the large <h2>Attorney Online %1</h2>El simulador de drama legal<p><b>Código fuente:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https: //github.com/AttorneyOnline/AO2-Client</a><p><b>Desarrollo mayor:</b> <br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter<p><b>Agradecimiento especial:</b><br>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 - + Online: %1/%2 En línea: %1/%2 - - + + Offline Fuera de línea @@ -1877,17 +2032,17 @@ Did you download all resources correctly from tiny.cc/getao, including the large debug_functions - + Error: %1 - + Error - + Notice In spanish it would be "Aviso", but I believe it's going to be more useful for bug reports to not translate any debug strings. diff --git a/resource/translations/ao_jp.qm b/resource/translations/ao_jp.qm index 5989c9b..9d7d374 100644 Binary files a/resource/translations/ao_jp.qm and b/resource/translations/ao_jp.qm differ diff --git a/resource/translations/ao_jp.ts b/resource/translations/ao_jp.ts index ae7bcf2..d2e01ef 100644 --- a/resource/translations/ao_jp.ts +++ b/resource/translations/ao_jp.ts @@ -4,17 +4,17 @@ AOApplication - + Disconnected from server. サーバーがつながらなくなりました - + Error connecting to master server. Will try again in %1 seconds. マスターサーバーにつながりません。%1秒の後でもう一回 - + 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. @@ -27,12 +27,11 @@ Please go to aceattorneyonline.com to update. - - Attorney Online 2 - 逆転裁判オンライン2 + Attorney Online + 逆転裁判オンライン - + Loading ロード中 @@ -42,35 +41,50 @@ Please go to aceattorneyonline.com to update. 証拠がロード中: %1/%2 - + Loading music: %1/%2 音楽がロード中: %1/%2 - + Loading chars: %1/%2 キャラがロード中: %1/%2 - + + Attorney Online %1 + 逆転裁判オンライン %1 + + + You have been kicked from the server. Reason: %1 - + You have been banned from the server. Reason: %1 - + You are banned on this server. Reason: %1 + + + Demo playback + + + + + Play back demos you have previously recorded + + AOCaseAnnouncerDialog @@ -113,540 +127,627 @@ Reason: %1 AOOptionsDialog - + Settings 設定 - + Gameplay - + Theme: - + Sets the theme used in-game. If the new theme changes the lobby's look as well, you'll need to reload the lobby for the changes to take effect, such as by joining a server and leaving it. - + Log goes downwards: - + If ticked, new messages will appear at the bottom (like the OOC chatlog). The traditional (AO1) behaviour is equivalent to this being unticked. - + Log length: - + Default username: - + Your OOC name will be automatically set to this value when you join a server. - + Custom shownames: - + Gives the default value for the in-game 'Custom shownames' tickbox, which in turn determines whether the client should display custom in-character names. - + Backup MS: - + If the built-in server lookups fail, the game will try the address given here and use it as a backup master server address. - + Discord: - + Allows others on Discord to see what server you are in, what character are you playing, and how long you have been playing for. - + Language: - + Sets the language if you don't want to use your system language. - + Callwords - + <html><head/><body>Enter as many callwords as you would like. These are case insensitive. Make sure to leave every callword in its own line!<br>Do not leave a line with a space at the end -- you will be alerted everytime someone uses a space in their messages.</body></html> - + Audio - + Audio device: - + Sets the audio device for all sounds. - + Music: 音楽: - + SFX: 効果音: - + Blips: ブリップ: - + Sets the volume of the blips, the talking sound effects. - + Blip rate: - + Sets the delay between playing the blip sounds. - + Blank blips: - + If true, the game will play a blip sound even when a space is 'being said'. - + Enable Looping SFX: - + If true, the game will allow looping sound effects to play on preanimations. - + Kill Music On Objection: - + - Keep current setting - + Subtheme: - + Sets a 'subtheme', which will stack on top of the current theme and replace anything it can.Keep it at 'server' to let the server decide. Keep it at 'default' to keep it unchanging. - + Reload Theme - + Refresh the theme and update all of the ui elements to match. - + Animated Theme: - + If ticked, themes will be allowed to have animated elements. - + The amount of message lines the IC chatlog will keep before deleting older message lines. A value of 0 or below counts as 'infinite'. - + Log newline: - + If ticked, new messages will appear separated, with the message coming on the next line after the name. When unticked, it displays it as 'name: message'. - + Log margin: - + The distance in pixels between each entry in the IC log. Default: 0. - + Log timestamp: - + If ticked, log will contain a timestamp in UTC before the name. - + + + Log timestamp format: + + + + + Log IC actions: - + If ticked, log will show IC actions such as shouting and presenting evidence. - + Text Stay Time: - + Minimum amount of time (in miliseconds) an IC message must stay on screen before the next IC message is shown, acting as a 'queue'. Set to 0 to disable this behavior. - + Desynchronize IC Logs: - + If ticked, log will show messages as-received, while viewport will parse according to the queue (Text Stay Time). - + Instant Objection: - + If Text Stay Time is more than 0, instant objection will skip queued messages instead of waiting to catch up. - + Text crawl: - + Amount of time (in miliseconds) spent on each letter when the in-character text is being displayed. - + Chat Rate Limit: - + Minimum amount of time (in miliseconds) that must pass before the next Enter key press will send your IC message. - + + Default showname: + + + + + Your showname will be automatically set to this value when you join a server. + + + + + Scaling: + + + + + Sets the default scaling method, if there is not one already defined specifically for the character. + + + + + Pixel + + + + + Smooth + + + + Allow Screenshake: - + Allows screenshaking. Disable this if you have concerns or issues with photosensitivity and/or seizures. - + Allow Effects: - + Allows screen effects. Disable this if you have concerns or issues with photosensitivity and/or seizures. - + Network Frame Effects: - + Send screen-shaking, flashes and sounds as defined in the char.ini over the network. Only works for servers that support this functionality. - + Colors in IC Log: - + Use the markup colors in the server IC chatlog. - + Sticky Sounds: - + Turn this on to prevent the sound dropdown from clearing the sound after playing it. - + Sticky Effects: - + Turn this on to prevent the effects dropdown from clearing the effect after playing it. - + Sticky Preanims: - + Turn this on to prevent preanimation checkbox from clearing after playing the emote. - + Custom Chatboxes: - + Turn this on to allow characters to define their own custom chat box designs. - + Stickers: - + Turn this on to allow characters to define their own stickers (unique images that show up over the chatbox - like avatars or shownames). - + Continuous Playback: - + Whether or not to resume playing animations from where they left off. Turning off might reduce lag. - + Stop Music w/ Category: - + Stop music when double-clicking a category. If this is disabled, use the right-click context menu to stop music. - + Sets the music's default volume. - + Sets the SFX's default volume. Interjections and actual sound effects count as 'SFX'. - + Play a blip sound "once per every X symbols", where X is the blip rate. - + If true, AO2 will ask the server to stop music when you use 'Objection!' - + Casing - + This server supports case alerts. - + This server does not support case alerts. - + Pretty self-explanatory. - + Casing: - + If checked, you will get alerts about case announcements. - + Defense: 弁護士 - + If checked, you will get alerts about case announcements if a defense spot is open. - + Prosecution: 検事 - + If checked, you will get alerts about case announcements if a prosecutor spot is open. - + Judge: 裁判官 - + If checked, you will get alerts about case announcements if the judge spot is open. - + Juror: 陪審員 - + If checked, you will get alerts about case announcements if a juror spot is open. - + Stenographer: 記録官 - + If checked, you will get alerts about case announcements if a stenographer spot is open. - + CM: - + If checked, you will appear amongst the potential CMs on the server. - + Hosting cases: - + If you're a CM, enter what cases you are willing to host. - + Automatic Logging: - + If checked, all logs will be automatically written in the /logs folder. + + + Assets + + + + + Add or remove base folders for use by assets. Base folders will be searched in the order provided. + + + + + Add… + + + + + Select a base folder + + + + + Remove + + + + + ↑ + + + + + ↓ + + + + + Clear Cache + + + + + Clears the lookup cache for assets. Use this when you have added an asset that takes precedence over another existing asset. + + + + + %1 (default) + + Courtroom @@ -656,80 +757,80 @@ Reason: %1 パースワード - + Spectator 観客 - - + + Search 検索 - + Passworded - + Taken - + Generating chars: %1/%2 - + Showname - + Message - + Name 名前 - + Pre - + Flip フリップ - + Guard ガード - + Additive - - + + Casing - + Shownames - + Immediate @@ -758,290 +859,298 @@ Reason: %1 黄色 - + 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 - + Case made by %1. - + Navigate to %1 for the CM doc. - + Your case "%1" was loaded! - - + + Server サーバー - - - - + + + None - + % x offset - + % y offset - + + Log goes down + + + + + Log goes up + + + + Change the horizontal percentage offset of your character's position from the center of the screen. - + Change the vertical percentage offset of your character's position from the center of the screen. - + Set an 'iniswap', or an alternative character folder to refer to from your current character. Edit by typing and pressing Enter, [X] to remove. This saves to your base/iniswaps.ini - + Remove the currently selected sound effect. - + Hold It! 待った! - - - + + + When this is turned on, your next in-character message will be a shout! - + Objection! 意義あり! - + Take That! くらえ! - + Toggle between server chat and global AO2 chat. - - - - + + + + This will display the animation in the viewport as soon as it is pressed. - + Guilty! 有罪! - + Bring up the Character Select Screen and change your character. - + Refresh the theme and update all of the ui elements to match. - + Request the attention of the current server's moderator. - + Allows you to change various aspects of the client. クライアントで変更できます - + An interface to help you announce a case (you have to be a CM first to be able to announce cases) - + Switch between Areas and Music lists - + Play a single-shot animation as defined by the emote when checked. - + If preanim is checked, display the input text immediately as the animation plays concurrently. - + Mirror your character's emotes when checked. - + Add text to your last spoken message when checked. - + Do not listen to mod calls when checked, preventing them from playing sounds or focusing attention on the window. - + Lets you receive case alerts when enabled. (You can set your preferences in the Settings!) - + Display customized shownames for all users when checked. - + Custom Shout! - + This will display the custom character-defined animation in the viewport as soon as it is pressed. To make one, your character's folder must contain custom.[webp/apng/gif/png] and custom.[wav/ogg/opus] sound effect - + Play realization sound and animation in the viewport on the next spoken message when checked. - + Shake the screen on next spoken message when checked. - + Display the list of character folders you wish to mute. - - + + Increase the health bar. - - + + Decrease the health bar. - + Change the text color of the spoken message. You can also select a part of your currently typed message and use the dropdown to change its color! - + Back to Lobby ロビーに戻る - + + Login unsuccessful. + + + + + You were logged out. + + + + HOLD IT! - + OBJECTION! - + TAKE THAT! - + CUSTOM OBJECTION! - - - - + + + + shouts - - - + + + has presented evidence - - - + + + has stopped the music - - + [MISSING] %1 - - + + has played a song - - - You will now pair up with %1 if they also choose your character in return. - - - - - You have set your offset to %1%%. - - Rainbow @@ -1055,321 +1164,252 @@ You can also select a part of your currently typed message and use the dropdown シアン - + To front - + To behind - + Select a character you wish to pair with. - + Change the order of appearance for your character. - + Display the list of characters to pair with. - + Oops, you're muted! - + Set your character's emote to play on your next message. - + Set your character's supplementary background. - + Reset your character's supplementary background to its default. - + Remove the currently selected iniswap from the list and return to the original character folder. - + Set a sound effect to play on your next 'Preanim'. Leaving it on Default will use the emote-defined sound (if any). Edit by typing and pressing Enter, [X] to remove. This saves to your base/characters/<charname>/soundlist.ini - + Choose an effect to play on your next spoken message. The effects are defined in your theme/effects/effects.ini. Your character can define custom effects by char.ini [Options] category, effects = 'miscname' where it referes to misc/<miscname>/effects.ini to read the effects. - + Music 音楽 - + Sfx 効果音 - + Blips ブリップ - + Change character キャラを変更します - + Reload theme - + Call mod - + Settings 設定 - + A/M - + Preanim - + Return back to the server list. サーバーリストに戻る - + Become a spectator. You won't be able to interact with the in-character screen. - + You were granted the Disable Modcalls button. - - + + + + CLIENT クライアント - + You have been banned. - - + [STREAM] %1 - - You opened the settings menu. - - - - - You are no longer paired with anyone. - - - - - Are you sure you typed that well? The char ID could not be recognised. - - - - - Your offset must be between -100% and 100%! - - - - - That offset does not look like one. - - - - - You have set your vertical offset to %1%%. - - - - - Your vertical offset must be between -100% and 100%! - - - - - That vertical offset does not look like one. - - - - - You switched your music and area list. - - - - - You have forcefully enabled features that the server may not support. You may not be able to talk IC, or worse, because of this. - - - - - Your pre-animations interrupt again. - - - - - Your pre-animations will not interrupt text. - - - - - Couldn't open chatlog.txt to write into. - - - - - The IC chatlog has been saved. - - - - + You don't have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it's likely the case file you're looking for can't be found in there. - + Too many arguments to load a case! You only need one filename, without extension. + - - - + + UNKNOWN 未知 - + You don't have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it's likely that you somehow deleted it. - + You need to give a filename to save (extension not needed) and the courtroom status! - + Too many arguments to save a case! You only need a filename without extension and the courtroom status! - + Succesfully saved, edit doc and cmdoc link on the ini! - + Master マスター - + Stop Current Song - + Play Random Song - + Expand All Categories - + Collapse All Categories - + Fade Out Previous - + Fade In - + Synchronize - + Default - + Reason: - + Call Moderator モデレーターを呼ぶ - + Error エラー - + You must provide a reason. - + The message is too long. @@ -1378,85 +1418,90 @@ char.ini [Options] category, effects = 'miscname' where it referes to 選択... - + Present this piece of evidence to everyone on your next spoken message - + Save evidence to an .ini file. - + Load evidence from an .ini file. - + Destroy this piece of evidence - + Choose.. - + Close the evidence display/editing overlay. You will be prompted if there's any unsaved changes. - + Save any changes made to this piece of evidence and send them to server. - - Double-click to edit. Press [X] to update your changes. + + Click the pencil icon to edit. Press [X] to update your changes. - + + Edit this piece of evidence. + + + + Bring up the Evidence screen. - + Switch evidence to private inventory. - + Switch evidence to global inventory. - - + + Transfer evidence to private inventory. - - + + Transfer evidence to global inventory. - + The piece of evidence you've been editing has changed. - + Do you wish to keep your changes? - + Name: %1 Image: %2 Description: @@ -1464,60 +1509,60 @@ Description: - + Images (*.png) イメージ (*.png) - - - - Double-click to edit... + + + + Click the pencil to edit... - + Add new evidence... 新しい証拠を付け加える... - + Evidence has been modified. - + Do you want to save your changes? - + Current evidence is global. Click to switch to private. - + Current evidence is private. Click to switch to global. - + "%1" has been transferred. - + Save Inventory - - + + Ini Files (*.ini) - + Open Inventory @@ -1526,16 +1571,74 @@ Description: DemoServer - + Load Demo - + Demo Files (*.demo) + + + + Demo file loaded. Send /play or > in OOC to begin playback. + + + + + Resuming playback. + + + + + Pausing playback. + + + + + Setting max_wait to + + + + + + milliseconds. + + + + + Not a valid integer! + + + + + Current max_wait is + + + + + Current demo file reloaded. Send /play or > in OOC to begin playback. + + + + + min_wait is deprecated. Use the client Settings for minimum wait instead! + + + + + Available commands: +load, reload, play, pause, max_wait, help + + + + + Reached the end of the demo file. Send /play or > in OOC to restart, or /load to open a new file. + + Discord @@ -1563,79 +1666,83 @@ Description: Lobby - - Attorney Online 2 - 逆転裁判オンライン2 + Attorney Online + 逆転裁判オンライン - + + Attorney Online %1 + 逆転裁判オンライン %1 + + + Search 検索 - + Name 名前 - + It doesn't look like your client is set up correctly. Did you download all resources correctly from tiny.cc/getao, including the large 'base' folder? クライアントの設定が正しくないかもしれません。「tiny.cc/getao」からのファイルをダウンロードしましたか? - + Version: %1 バージョン: %1 - + Settings 設定 - + Allows you to change various aspects of the client. クライアントで変更できます - + Loading ロード中 - + Cancel キャンセル - + <h2>Attorney Online %1</h2>The courtroom drama simulator.<p><b>Source code:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Major development:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter, Crystalwarrior, Iamgoofball, in1tiate<p><b>Client development:</b><br>Cents02, windrammer, skyedeving<p><b>QA testing:</b><br>CaseyCazy, CedricDewitt, Chewable Tablets, CrazyJC, Fantos, Fury McFlurry, Geck, Gin-Gi, Jamania, Minx, Pandae, Robotic Overlord, Shadowlions (aka Shali), Sierra, SomeGuy, Veritas, Wiso<p><b>Translations:</b><br>k-emiko (Русский), Pyraq (Polski), scatterflower (日本語), vintprox (Русский), windrammer (Español, Português)<p><b>Special thanks:</b><br>CrazyJC (2.8 release director) and MaximumVolty (2.8 release promotion); Remy, Hibiki, court-records.net (sprites); Qubrick (webAO); Rue (website); Draxirch (UI design); Lewdton and Argoneus (tsuserver); Fiercy, Noevain, Cronnicossy, and FanatSors (AO1); server hosts, game masters, case makers, content creators, and the whole AO2 community!<p>The Attorney Online networked visual novel project is copyright (c) 2016-2021 Attorney Online developers. Open-source licenses apply. All other assets are the property of their respective owners.<p>Running on Qt version %2 with the BASS audio engine.<br>APNG plugin loaded: %3<p>Built on %4 - + Yes - + No - + About について - + Online: %1/%2 オンライン: %1/%2 - - + + Offline オフライン @@ -1657,17 +1764,17 @@ Did you download all resources correctly from tiny.cc/getao, including the large debug_functions - + Error: %1 エラー: %1 - + Error エラー - + Notice 通知 diff --git a/resource/translations/ao_pl.qm b/resource/translations/ao_pl.qm index 1742ee1..1f01035 100644 Binary files a/resource/translations/ao_pl.qm and b/resource/translations/ao_pl.qm differ diff --git a/resource/translations/ao_pl.ts b/resource/translations/ao_pl.ts index 94197af..a3b862f 100644 --- a/resource/translations/ao_pl.ts +++ b/resource/translations/ao_pl.ts @@ -4,17 +4,17 @@ AOApplication - + Disconnected from server. Odłączono od serwera. - + Error connecting to master server. Will try again in %1 seconds. Błąd podczas łączenia się z głównym serwerem. Spróbuj ponownie za %1 sekundy. - + 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. @@ -36,13 +36,7 @@ Have a nice day. Życzymy miłego dnia. - - Attorney Online 2 - Prawnik w Internecie 2 - - - - + Loading Wczytywanie @@ -53,40 +47,55 @@ Have a nice day. %1/%2 - + Loading music: %1/%2 Wczytywanie muzyki: %1/%2 - + Loading chars: %1/%2 Wczytywanie postaci: %1/%2 - + + Attorney Online %1 + Attorney Online %1 + + + You have been kicked from the server. Reason: %1 Zostałeś/aś wyrzucony/a z tego serwera. Powód: %1 - + You have been banned from the server. Reason: %1 Zostałeś/aś zbanowany/a z tego serwera. Powód: %1 - + You are banned on this server. Reason: %1 Jesteś zbanowany/a na tym serwerze. Powód: %1 + + + Demo playback + Odtwarzanie dem + + + + Play back demos you have previously recorded + Odtwarzanie dem, które poprzednio nagrałeś/aś + AOCaseAnnouncerDialog @@ -133,67 +142,67 @@ Powód: %1 AOOptionsDialog - + Settings Ustawienia - + Gameplay Gra - + Theme: Motyw: - + Sets the theme used in-game. If the new theme changes the lobby's look as well, you'll need to reload the lobby for the changes to take effect, such as by joining a server and leaving it. Ustawia motyw używany w grze. Jeżeli nowy motyw zmienia wygląd poczekalni, będziesz musiał(a) ją również odświeżyć, aby zmiany zaczęły działać, np. poprzez dołączenie do serwera i wyjście z niego. - + Subtheme: Podmotyw: - + Sets a 'subtheme', which will stack on top of the current theme and replace anything it can.Keep it at 'server' to let the server decide. Keep it at 'default' to keep it unchanging. Ustawia 'podmotyw', który będzie dodatkiem dla obecnego motywu i będzie zastępywać wszystko to co może. Ustaw na 'server', aby serwer decydował za ciebie. Ustaw na 'default', aby nie zmieniał się. - + Reload Theme Odśwież Motyw - + Refresh the theme and update all of the ui elements to match. Odśwież motyw i uaktualnij wszystkie elementy interfejsu, aby dopasować. - + Animated Theme: Animowany Motyw: - + If ticked, themes will be allowed to have animated elements. Jeśli jest to zaznaczone, motywy będą mogły zawierać animowane elementy. - + Log goes downwards: Dziennik idzie w dół: - + If ticked, new messages will appear at the bottom (like the OOC chatlog). The traditional (AO1) behaviour is equivalent to this being unticked. Jeżeli jest to zaznaczone, nowe wiadomości zaczną się pojawiać na dole (tak jak na czacie OOC). Tradycyjne (AO1) zachowanie jest równoważne do tego bycia odznaczonym. - + Log length: Długość dziennika: @@ -202,47 +211,47 @@ Powód: %1 Ilość wiadomości, jakie dziennik IC będzie pokazywał zanim usunie starsze wiadomości. Wartość 0 lub niżej, liczy się jako 'nieskończone'. - + Log newline: Odstępy w dzienniku: - + If ticked, new messages will appear separated, with the message coming on the next line after the name. When unticked, it displays it as 'name: message'. Jeśli jest to zaznaczone, nowe wiadomości będą pojawiać się oddzielone, z wiadomością w kolejnym wierszu po nicku. Jeżeli odznaczone, będzie się pokazywać w formacie 'nick: wiadomość". - + Log margin: Margines dziennika: - + The distance in pixels between each entry in the IC log. Default: 0. Dystans w pikselach pomiędzy każdym wpisem w dzienniku IC. Domyślnie: 0. - + Log timestamp: Daty w dzienniku: - + If ticked, log will contain a timestamp in UTC before the name. Jeżeli jest to zaznaczone, dziennik będzie pokazywać datę w UTC przed nickiem. - + Log IC actions: Zapisuj akcje IC: - + If ticked, log will show IC actions such as shouting and presenting evidence. Jeśli jest to zaznaczone, dziennik będzie pokazywać akcje IC takie jak krzyki i prezentowanie dowodów. - + Text Stay Time: Czas Pozostania Tekstu: @@ -251,62 +260,62 @@ Powód: %1 Minimalna ilość czasu (w milisekundach), w której wiadomość IC musi pozostać na ekranie, zanim kolejna zostanie wyświetlona, działa niczym 'kolejka'. Ustaw na 0, aby wyłączyć tą funkcję. - + Desynchronize IC Logs: Desynchronizacja Dziennika IC: - + If ticked, log will show messages as-received, while viewport will parse according to the queue (Text Stay Time). Jeżeli jest to zaznaczone, dziennik pokaże wiadomości jako odebrane, podczas gdy okno będzie analizować kolejkę (Czas Pozostania Tekstu). - + Instant Objection: Natychmiastowy Sprzeciw: - + If Text Stay Time is more than 0, instant objection will skip queued messages instead of waiting to catch up. Jeśli wartość Czasu Pozostania Tekstu jest większa, niż 0, natychmiastowe sprzeciwy pominą kolejkowane wiadomości, zamiast czekania na nadrobienie zaległości. - + Default username: Domyślna nazwa użytkownika: - + Your OOC name will be automatically set to this value when you join a server. Twoja nazwa OOC będzie automatycznie ustawiana do tej wartości, gdy dołączysz na serwer. - + Custom shownames: Niestandardowe ksywki: - + Gives the default value for the in-game 'Custom shownames' tickbox, which in turn determines whether the client should display custom in-character names. Daje domyślną wartość przyciskowi 'Niestandardowe ksywki', który określa, czy klient powinien pokazywać niestandardowe nazwy IC. - + Backup MS: Kopia zapasowa master serwera: - + If the built-in server lookups fail, the game will try the address given here and use it as a backup master server address. Jeśli wbudowane szukanie serwerów zawiedzie, gra spróbuje użyć adresu podanego tutaj i użyje go jako adresu zapasowego master serwera. - + Discord: - + Allows others on Discord to see what server you are in, what character are you playing, and how long you have been playing for. Pozwala innym na Discordzie zobaczyć na jakim serwerze się znajdujesz, jaką postać używasz i jak długo grałeś. @@ -319,272 +328,360 @@ Powód: %1 Pozwala na wstrząśnięcia ekranu i błyśnięcia. Wyłącz to, jeśli przejmujesz się lub masz problemy z światłoczułością oraz/lub napady padaczkowe. - + The amount of message lines the IC chatlog will keep before deleting older message lines. A value of 0 or below counts as 'infinite'. Ilość wiadomości, jakie dziennik IC będzie pokazywał zanim usunie starsze wiadomości. Wartość 0 lub niżej, liczy się jako 'nieskończone'. - + + + Log timestamp format: + + Format dat w dzienniku: + + + + Minimum amount of time (in miliseconds) an IC message must stay on screen before the next IC message is shown, acting as a 'queue'. Set to 0 to disable this behavior. Minimalna ilość czasu (w milisekundach), w której wiadomość IC musi pozostać na ekranie, zanim kolejna zostanie wyświetlona, działa niczym 'kolejka'. Ustaw na 0, aby wyłączyć tą funkcję. - + Text crawl: Czołganie się tekstu: - + Amount of time (in miliseconds) spent on each letter when the in-character text is being displayed. Ilość czasu (w milisekundach), spędzona dla każdej litery, gdy tekst IC jest wyświetlany. - + Chat Rate Limit: Ograniczenie Szybkości Czatu: - + Minimum amount of time (in miliseconds) that must pass before the next Enter key press will send your IC message. Minimalna ilość czasu (w milisekundach), która musi minąć zanim następne naciśnięcie klawiszu Enter wyśle twoją wiadomość IC. - + + Default showname: + Domyślna ksywka: + + + + Your showname will be automatically set to this value when you join a server. + Twoja ksywka będzie automatycznie ustawiana do tej wartości, gdy dołączysz na serwer. + + + Language: Język: - + Sets the language if you don't want to use your system language. Ustawia język, jeśli nie chcesz używać języka systemowego. - + - Keep current setting - Zostaw obecne ustawienia - + + Scaling: + Skalowanie: + + + + Sets the default scaling method, if there is not one already defined specifically for the character. + Ustawia domyślny sposób skalowania, jeżeli nie jest już on ustawiony przez postać. + + + + Pixel + Pikselowe + + + + Smooth + Gładkie + + + Allow Screenshake: Zezwalaj Wstrząśnięcia: - + Allows screenshaking. Disable this if you have concerns or issues with photosensitivity and/or seizures. Zezwala na wstrząśnięcia ekranu. Wyłącz to, jeśli przejmujesz się lub masz problemy z światłoczułością oraz/lub z napadami padaczkowymi. - + Allow Effects: Zezwalaj Efekty: - + Allows screen effects. Disable this if you have concerns or issues with photosensitivity and/or seizures. Zezwala na efekty ekranu. Wyłącz to, jeśli przejmujesz się lub masz problemy z światłoczułością oraz/lub z napadami padaczkowymi. - + Network Frame Effects: Efekty Network Frame: - + Send screen-shaking, flashes and sounds as defined in the char.ini over the network. Only works for servers that support this functionality. Wysyła wstrząśnięcia ekranu, błyśnięcia i dźwięki, jak zdefiniowano w pliku char.ini, przez sieć. Działa tylko w przypadku serwerów, które obsługują tę funkcję. - + Colors in IC Log: Kolory w Dzienniku IC: - + Use the markup colors in the server IC chatlog. Użyj znaczników kolorów w serwerowym dzienniku IC. - + Sticky Sounds: Lepkie Dźwięki: - + Turn this on to prevent the sound dropdown from clearing the sound after playing it. Włącz to, aby zapobiec listę dźwięków przed odznaczeniem zaznaczonego dźwięku po jego odtworzeniu. - + Sticky Effects: Lepkie Efekty: - + Turn this on to prevent the effects dropdown from clearing the effect after playing it. Włącz to, aby zapobiec listę efektów przed odznaczeniem zaznaczonego efektu po jego odtworzeniu. - + Sticky Preanims: Lepkie Przed-animacje: - + Turn this on to prevent preanimation checkbox from clearing after playing the emote. Włącz to, aby zapobiec przycisku wyboru przed-animacji od odznaczenia się po odegraniu emotki. - + Custom Chatboxes: Niestandardowe Okna Czatu: - + Turn this on to allow characters to define their own custom chat box designs. Włącz to, aby pozwolić postaciom definiować swoje własne designy okienek czatu. - + Stickers: Naklejki: - + Turn this on to allow characters to define their own stickers (unique images that show up over the chatbox - like avatars or shownames). Włącz to, aby pozwolić postaciom zdefiniować ich własne naklejki (unikatowe obrazki, które pojawią się nad oknem czatu, niczym awatary lub ksywki). - + Continuous Playback: Nieprzerwane Odtwarzanie: - + Whether or not to resume playing animations from where they left off. Turning off might reduce lag. Od tego zależy, czy animacje będą odtwarzać się od punktu wyjścia. Wyłączenie tego, może zmniejszyć spowolnienia. - + Stop Music w/ Category: Zatrzymaj Muzykę Kategorią: - + Stop music when double-clicking a category. If this is disabled, use the right-click context menu to stop music. Zatrzymaj muzykę podczas dwukrotnego kliknięcia w kategorię. Jeśli jest to wyłączone, użyj menu pod prawym przyciskiem, aby zatrzymać muzykę. - + Callwords Zawołania - + <html><head/><body>Enter as many callwords as you would like. These are case insensitive. Make sure to leave every callword in its own line!<br>Do not leave a line with a space at the end -- you will be alerted everytime someone uses a space in their messages.</body></html> <html><head/><body>Wpisz tyle zawołań, ile dusza zapragnie. Wielkość liter nie ma znaczenia. Miej na uwadze, aby każde zawołanie było w swoim wierszu!<br>Nie zostawiaj spacji na końcu -- zostaniesz zaalarmowany za każdym razem, kiedy ktoś użyje spacji w swojej wiadomości.</body></html> - + Audio Dźwięk - + Audio device: Urządzenie dźwiękowe: - + Sets the audio device for all sounds. Ustawia urządzenie dźwiękowe dla wszystkich dźwięków. - + Music: Muzyka: - + Sets the music's default volume. Ustawia domyślną głośność muzyki. - + SFX: Efekty dźwiękowe (SFX): - + Sets the SFX's default volume. Interjections and actual sound effects count as 'SFX'. Ustawia domyślną głośność efektów dźwiękowych (SFX). Sprzeciwy, jak i same efekty specjalne są zaliczane jako 'SFX'. - + Blips: Blipy: - + Sets the volume of the blips, the talking sound effects. Ustawia głośność blipów, efektów dźwiękowych mówienia. - + Blip rate: Szybkość blipów: - + Sets the delay between playing the blip sounds. Ustawia opóźnienie pomiędzy graniem blipów. - + Play a blip sound "once per every X symbols", where X is the blip rate. Zagraj dźwięk blipa "raz na X symboli", gdzie X to tempo blipów. - + Blank blips: The 'blip' isn't an accurate polish representation of this english word. Puste blipy: - + If true, the game will play a blip sound even when a space is 'being said'. Jeżeli jest to zaznaczone, gra zagra dźwięk blip za każdym razem spacja 'jest mówiona'. - + Enable Looping SFX: Włącz pętlące się efekty dźwiękowe (SFX): - + If true, the game will allow looping sound effects to play on preanimations. Jeśli jest to zaznaczone, gra zezwoli na pętlące się efekty dźwiękowe (SFX) na odtwarzanie podczas animacji. - + Kill Music On Objection: Przerwij muzykę na czas sprzeciwu: - + If true, AO2 will ask the server to stop music when you use 'Objection!' Jeśli jest to zaznaczone, gra zapyta serwer by przerwać muzykę, kiedy ktoś się sprzeciwi. + + + Assets + Zasoby + + + + Add or remove base folders for use by assets. Base folders will be searched in the order provided. + Dodawaj lub usuwaj foldery base, do użycia przez zasoby.Foldery base będą otwierane w podanej kolejności. + + + + Add… + Dodaj... + + + + Select a base folder + Wybierz folder base + + + + Remove + Usuń + + + + ↑ + + + + + ↓ + + + + + Clear Cache + Wyczyść pamięć Cache + + + + Clears the lookup cache for assets. Use this when you have added an asset that takes precedence over another existing asset. + Czyści pamięć podręczną zasobów. Użyj tego, kiedy dodałeś/aś zasób, który ma pierwszeństwo przed innym istniejącym zasobem. + + + + %1 (default) + %1 (domyślne) + If true, AO2 will stop the music for you when you or someone else does 'Objection!'. Jeśli zaznaczone, gra przerwie muzykę, kiedy ktoś się sprzeciwi. - + Automatic Logging: Auto-Zapisywanie: - + If checked, all logs will be automatically written in the /logs folder. Jeśli jest to zaznaczone, dziennik będzie automatycznie zapisywany w twoim folderze /logs. @@ -593,92 +690,92 @@ Powód: %1 Jeśli zaznaczone, gra przerwie muzykę, kiedy ktoś sprzeciwi się, tak jak w oryginalnych grach. - + Casing Rozprawy - + This server supports case alerts. Ten serwer wspiera komunikaty rozpraw. - + This server does not support case alerts. Ten serwer nie wspiera komunikatów rozpraw. - + Pretty self-explanatory. Dosyć oczywiste. - + Casing: Rozprawy: - + If checked, you will get alerts about case announcements. Jeżel jest to zaznaczone, dostaniesz komunikaty o ogłoszeniach rozpraw. - + Defense: Obrona: - + If checked, you will get alerts about case announcements if a defense spot is open. Jeśli jest to zaznaczone, dostaniesz komunikaty o ogłoszeniach rozpraw, jeśli miejsce obrony jest otwarte. - + Prosecution: Prokuratura: - + If checked, you will get alerts about case announcements if a prosecutor spot is open. Jeśli jest to zaznaczone, dostaniesz komunikaty o ogłoszeniach rozpraw, jeśli miejsce prokuratora jest otwarte. - + Judge: Sędzia: - + If checked, you will get alerts about case announcements if the judge spot is open. Jeśli jest to zaznaczone, dostaniesz komunikaty o ogłoszeniach rozpraw, jeśli miejsce sędzi jest otwarte. - + Juror: Ławnik: - + If checked, you will get alerts about case announcements if a juror spot is open. Jeżeli jest to zaznaczone, dostaniesz komunikaty o ogłoszeniach rozpraw, jeśli miejsce ławnika jest otwarte. - + Stenographer: Stenograf: - + If checked, you will get alerts about case announcements if a stenographer spot is open. Jeżeli jest to zaznaczone, dostaniesz komunikaty o ogłoszeniach rozpraw, jeśli miejsce stenografa jest otwarte. - + CM: Zarządca rozpraw (CM): - + If checked, you will appear amongst the potential CMs on the server. Jeśli jest to zaznaczone, pojawisz się wśród potencjalnych zarządców rozpraw (CM) na serwerze. @@ -691,12 +788,12 @@ Powód: %1 Jeżeli zaznaczone, pojawisz się wśród potencjalnych świadków na serwerze. - + Hosting cases: Hostowane rozprawy: - + If you're a CM, enter what cases you are willing to host. Jeżeli jesteś zarządcą rozpraw (CM), wpisz jakie rozprawy jesteś chętny hostowania. @@ -709,23 +806,23 @@ Powód: %1 Hasło - + Spectator Spektator - - + + Search Wyszukaj - + Passworded Zahasłowany - + Taken Zajęty @@ -734,61 +831,61 @@ Powód: %1 Nie znaleziono %1 - + Generating chars: %1/%2 Generowanie postaci: %1/%2 - + Showname Ksywka - + Message Wiadomość - + Name Nazwa - + Pre przed- - + Flip Odwróć - + Guard Na Służbie (mod) - + Additive I'm not sure about this one either.The previous form was "Dodatek". Kontynuacja - - + + Casing Rozprawy - + Shownames Ksywki - + Immediate Natychmiastowe @@ -821,305 +918,320 @@ Powód: %1 To nic nie robi, ale proszę bardzo. - + 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 Musisz podać nazwę pliku, którego chcesz załadować (rozszerzenie nie jest potrzebne!) Upewnij się, że jest w folderze `base/cases/` i że jest to poprawnie sformatowane ini. Rozprawy które możesz załadować: %1 - + Case made by %1. Rozprawa stworzona przez %1. - + Navigate to %1 for the CM doc. Przejdź do %1, aby dojść do dokumentu CM. - + Your case "%1" was loaded! Twoja rozprawa "%1" została wczytana! - - + + Server Serwer - - - - + + + None Nic - + % x offset % wyrówanie x - + % y offset % wyrówanie y - + + Log goes down + Dziennik idzie w dół + + + + Log goes up + Dziennik idzie w górę + + + Change the horizontal percentage offset of your character's position from the center of the screen. Zmień procent poziomego wyrównania pozycji twojej postaci licząc od środka ekranu. - + Change the vertical percentage offset of your character's position from the center of the screen. Zmień procent pionowego wyrównania pozycji twojej postaci licząc od środka ekranu. - + Reset your character's supplementary background to its default. Zresetuj twoje pomocnicze tło postaci do domyślnej wartości. - + Set an 'iniswap', or an alternative character folder to refer to from your current character. Edit by typing and pressing Enter, [X] to remove. This saves to your base/iniswaps.ini Ustaw 'iniswap' albo alternatywny folder postaci, aby odnosił się do twojej obecnej postaci. Edytuj poprzez wciśnięcie Enter po wpisaniu tekstu, [X] aby usunąć. Zapisuje się to w base/characters/iniswaps.ini - + Remove the currently selected sound effect. Wycofaj obecny zaznaczony efekt dźwiękowy. - + Hold It! Zaczekaj! - - - + + + When this is turned on, your next in-character message will be a shout! Kiedy jest to włączone, twoja następna wiadomość IC będzie krzykiem! - + Objection! Sprzeciw! - + Take That! Trzymaj To! - + Toggle between server chat and global AO2 chat. Przełączaj pomiędzy czatem serwerowym i globalnym czatem AO2. - - - - + + + + This will display the animation in the viewport as soon as it is pressed. To będzie wyświetlać animację w oknie, jak tylko zostanie to wciśnięte. - + Guilty! Winny! - + Bring up the Character Select Screen and change your character. Wyświetl ekran zmiany postaci i zmień swoją postać. - + Refresh the theme and update all of the ui elements to match. Odśwież motyw i uaktualnij wszystkie elementy interfejsu, aby dopasować. - + Request the attention of the current server's moderator. Zażądaj uwagę moderatora obecnego serwera. - + Allows you to change various aspects of the client. Umożliwia zmianę różnych aspektów klienta. - + An interface to help you announce a case (you have to be a CM first to be able to announce cases) Interfejs, który pomoże ci ogłosić rozprawę (musisz być zarządcą rozpraw (CM), aby móc ogłaszać rozprawy) - + Switch between Areas and Music lists Przełączaj pomiędzy listami Obszarów i Muzyki - + Play a single-shot animation as defined by the emote when checked. Odegraj pojedyńczą animację, jak zdefiniowano przez emotkę, gdy jest to zaznaczone. - + If preanim is checked, display the input text immediately as the animation plays concurrently. Jeśli przed-animacja jest zaznaczona, wyświetl wpisany tekst natychmiastowo, jednocześnie podczas odgrywania animacji. - + Mirror your character's emotes when checked. Odbij lustrzanie emotki twojej postaci, gdy jest to zaznaczone. - + Add text to your last spoken message when checked. Dodaj tekst do twojej ostatniej wiadomości, gdy jest to zaznaczone. - + Do not listen to mod calls when checked, preventing them from playing sounds or focusing attention on the window. Gdy jest to zaznaczone, nie odgrywa dźwięku i wyłącza efekt migającego okienka, gdy ktoś wezwie moderatora. - + Lets you receive case alerts when enabled. (You can set your preferences in the Settings!) Pozwala ci otrzymywać komunikaty rozpraw, gdy włączone. (Możesz ustawić swoje preferencje w Ustawieniach!) - + Display customized shownames for all users when checked. Wyświetl niestandardowe ksywki dla wszystkich użytkowników, gdy jest to zaznaczone. - + Custom Shout! Niestandardowy Krzyk! - + This will display the custom character-defined animation in the viewport as soon as it is pressed. To make one, your character's folder must contain custom.[webp/apng/gif/png] and custom.[wav/ogg/opus] sound effect Będzie to wyświatlać animację zdefiniowaną przez niestandardową postaći w oknie, jak tylko zostanie to wciśnięte. Aby stworzyć coś takiego, folder twojej postaci musi zawierać niestandardowe [webp/apng/gif/png] i niestandardowe [wav/ogg/opus] efekty dźwiękowe - + Play realization sound and animation in the viewport on the next spoken message when checked. Zagraj dźwięk realizacji i animację w oknie podczas następnej wiadomości, gdy jest to zaznaczone. - + Shake the screen on next spoken message when checked. Wstrząśnij ekranem podczas następnej wiadomości, gdy jest to zaznaczone. - + Display the list of character folders you wish to mute. Wyświetl listę folderów postaci, których chcesz zmutować. - - + + Increase the health bar. Zwiększ pasek życia. - - + + Decrease the health bar. Obniż pasek życia. - + Change the text color of the spoken message. You can also select a part of your currently typed message and use the dropdown to change its color! Zmień kolor tekstu twojej wiadomości. Możesz również zaznaczyć część twojej obecnie pisanej wiadomości i użyć listy aby zmienić jej kolor! - + Back to Lobby Powrót do poczekalni - + + Login unsuccessful. + Logowanie nieudane. + + + + You were logged out. + Zostałeś/aś wylogowany/a. + + + HOLD IT! ZACZEKAJ! - + OBJECTION! SPRZECIW! - + TAKE THAT! TRZYMAJ TO! - + CUSTOM OBJECTION! NIESTANDARDOWY SPRZECIW! - - - - + + + + shouts krzyknął/ęła - - - + + + has presented evidence zaprezentował(a) dowód - - - + + + has stopped the music zatrzymał(a) muzykę - - + [STREAM] %1 [STREAM] %1 - - + [MISSING] %1 [BRAKUJĄCY] %1 - - + + has played a song włączył(a) piosenkę - You will now pair up with %1 if they also choose your character in return. - Będziesz teraz w parze z %1, jeśli oni również wybiorą twoją postać. + Będziesz teraz w parze z %1, jeśli oni również wybiorą twoją postać. - You have set your offset to %1%%. - Ustawiłeś/aś swoje wyrównanie do %1%%. + Ustawiłeś/aś swoje wyrównanie do %1%%. Rainbow @@ -1142,17 +1254,17 @@ Możesz również zaznaczyć część twojej obecnie pisanej wiadomości i uży % wyrówanie - + To front Do przodu - + To behind Do tyłu - + Select a character you wish to pair with. Zaznacz postać, z którą chcesz się sparować. @@ -1161,27 +1273,27 @@ Możesz również zaznaczyć część twojej obecnie pisanej wiadomości i uży Zmień procentową odległość dla pozycji twojej postaci licząc od środka ekranu. - + Change the order of appearance for your character. Zmień kolejność występowania dla twojej postaci. - + Display the list of characters to pair with. Wyświetl listę postaci do sparowania się z. - + Oops, you're muted! Ups, jesteś zmutowany! - + Set your character's emote to play on your next message. Ustaw emotkę twojej postaci do odegrania podczas następnej wiadomości. - + Set your character's supplementary background. Ustaw uzupełniające tło twojej postaci. @@ -1192,19 +1304,19 @@ Edit by typing and pressing Enter, [X] to remove. This saves to your base/charac Edytuj poprzez pisanie i naciśnięcie enter, [X] aby usunąć. To się zapisuje do base/characters/<charname>/iniswaps.ini - + Remove the currently selected iniswap from the list and return to the original character folder. Usuń obecne zaznaczony iniswap z listy i powróć do pierwotnego foldera postaci. - + Set a sound effect to play on your next 'Preanim'. Leaving it on Default will use the emote-defined sound (if any). Edit by typing and pressing Enter, [X] to remove. This saves to your base/characters/<charname>/soundlist.ini Ustaw efekt dźwiękowy do zagrania dla twojej następnej 'Animacji'. Zostawienie tego jako domyślne, użyje dźwięku zdefiniowanego przez emotkę (jeśli istnieje). Edytuj poprzez wciśnięcie Enter po wpisaniu tekstu, [X] aby usunąć. Zapisuje się to w base/characters/<charname>/soundlist.ini - + Choose an effect to play on your next spoken message. The effects are defined in your theme/effects/effects.ini. Your character can define custom effects by char.ini [Options] category, effects = 'miscname' where it referes to misc/<miscname>/effects.ini to read the effects. @@ -1213,17 +1325,17 @@ Efekty są zdefiniowane w pliku theme/effect/effects.ini. Twoja postać może zd kategorię char.ini [Options], effects = 'miscname' gdzie się odnosi do misc/<miscname>/effects.ini, aby przejrzeć efekty. - + Music Muzyka - + Sfx Sfx - + Blips Blipy @@ -1232,60 +1344,62 @@ kategorię char.ini [Options], effects = 'miscname' gdzie się odnosi Limit dziennika - + Change character Zmiana postaci - + Reload theme Odśwież motyw - + Call mod Wezwij moda - + Settings Ustawienia - + A/M O meaning 'Obszar' and M meaning 'Muzyka'. O/M - + Preanim Whatever, I'll just call it an animation. Animacja - + Return back to the server list. Wróć z powrotem do listy serwerów. - + Become a spectator. You won't be able to interact with the in-character screen. Funkcja spektatora. Nie będziesz mógł wchodzić w interakcję z oknem IC. - + You were granted the Disable Modcalls button. Zostałeś/aś obdarzonym/a przyciskiem Wyłącz Wezwania Moda. - - + + + + CLIENT KLIENT - + You have been banned. Zostałeś/aś zbanowany. @@ -1294,9 +1408,8 @@ kategorię char.ini [Options], effects = 'miscname' gdzie się odnosi Zostałeś obdarzonym przyciskiem Na Służbie. - You opened the settings menu. - Otworzyłeś/aś ustawienia. + Otworzyłeś/aś ustawienia. You will now pair up with @@ -1307,180 +1420,167 @@ kategorię char.ini [Options], effects = 'miscname' gdzie się odnosi jeżeli oni również wybiorą ciebie spowrotem. - You are no longer paired with anyone. - Nie jesteś już w parze. + Nie jesteś już w parze. - Are you sure you typed that well? The char ID could not be recognised. - Czy jesteś pewien, że dobrze to napisałeś? ID postaci nie zostało rozpoznane. + Czy jesteś pewien, że dobrze to napisałeś? ID postaci nie zostało rozpoznane. You have set your offset to Musisz ustawić swoje wyrównanie do - Your offset must be between -100% and 100%! - Twoje wyrównanie musi być między -100%, a 100%! + Twoje wyrównanie musi być między -100%, a 100%! - That offset does not look like one. - To wyrównanie nie jest poprawne. + To wyrównanie nie jest poprawne. - You have set your vertical offset to %1%%. - Ustawiłeś/aś swoje pionowe wyrównanie do %1%%. + Ustawiłeś/aś swoje pionowe wyrównanie do %1%%. - Your vertical offset must be between -100% and 100%! - Twoje pionowe wyrównanie musi być pomiędzy -100%, a 100%! + Twoje pionowe wyrównanie musi być pomiędzy -100%, a 100%! - That vertical offset does not look like one. - To pionowe wyrównanie nie jest poprawne. + To pionowe wyrównanie nie jest poprawne. - You switched your music and area list. - Przełączyłeś/aś swoją listę obszarów i muzyki. + Przełączyłeś/aś swoją listę obszarów i muzyki. - You have forcefully enabled features that the server may not support. You may not be able to talk IC, or worse, because of this. - Włączyłeś/aś funkcje, które ten serwer może nie wspierać. Możliwe, że nie będziesz mógł/mogła rozmawiać na czacie IC lub gorzej przez to. + Włączyłeś/aś funkcje, które ten serwer może nie wspierać. Możliwe, że nie będziesz mógł/mogła rozmawiać na czacie IC lub gorzej przez to. - Your pre-animations interrupt again. - Twoje animacje będą przerywać tekst znowu. + Twoje animacje będą przerywać tekst znowu. - Your pre-animations will not interrupt text. - Twoje animacje nie będą przerywać tekstu. + Twoje animacje nie będą przerywać tekstu. - Couldn't open chatlog.txt to write into. - Nie można było otworzyć chatlog.txt, aby móc w nim pisać. + Nie można było otworzyć chatlog.txt, aby móc w nim pisać. - The IC chatlog has been saved. - Dziennik czatu IC został zapisany. + Dziennik czatu IC został zapisany. - + You don't have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it's likely the case file you're looking for can't be found in there. Nie masz folderu `base/cases/`! Został zrobiony tylko dla ciebie, ale widząc, że ZOSTAŁ zrobiony tylko dla ciebie, prawdopodobnie plik rozpraw, którego szukasz nie został znaleziony tutaj. - + Too many arguments to load a case! You only need one filename, without extension. Zbyt dużo parametrów, aby załadować rozprawę! Potrzebujesz tylko jedną nazwę pliku, bez rozszerzenia nazwy pliku. + - - - + + UNKNOWN NIEZNANE - + You don't have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it's likely that you somehow deleted it. Nie masz folderu `base/cases/`! Został zrobiony tylko dla ciebie, ale widząc, że ZOSTAŁ zrobiony tylko dla ciebie, prawdopodobnie jakoś usunąłeś/usunęłaś go. - + You need to give a filename to save (extension not needed) and the courtroom status! Musisz podać nazwę pliku, aby go zapisać (rozszerzenie nie jest potrzebne) i status sali sądowej! - + Too many arguments to save a case! You only need a filename without extension and the courtroom status! Zbyt dużo parametrów, aby zapisać rozprawę! Potrzebujesz tylko jedną nazwę pliku, bez rozszerzenia nazwy pliku i statusu sali sądowej! - + Succesfully saved, edit doc and cmdoc link on the ini! Zapisano pomyślnie, edytuj dokument i link cmdoc w .ini! - + Master - + Stop Current Song Zatrzymaj Obecną Piosenkę - + Play Random Song Włącz Losową Piosenkę - + Expand All Categories Rozwiń Wszystkie Kategorie - + Collapse All Categories Zwiń Wszystkie Kategorie - + Fade Out Previous Wyciszaj poprzednie - + Fade In Stopniowe podgłoszenie - + Synchronize Zsynchronizuj - + Default Domyślne - + Reason: Powód: - + Call Moderator Wezwij Moderatora - + Error Błąd - + You must provide a reason. Musisz podać przyczynę. - + The message is too long. Ta wiadomość jest zbyt długa. @@ -1489,86 +1589,95 @@ kategorię char.ini [Options], effects = 'miscname' gdzie się odnosi Wybierz... - + Present this piece of evidence to everyone on your next spoken message Zaprezentujesz ten dowód każdemu podczas twojej następnej wiadomości - + Save evidence to an .ini file. Zapisz dowody do pliku .ini. - + Load evidence from an .ini file. Załaduj dowody z pliku .ini. - + Destroy this piece of evidence Zniszcz ten dowód - + Choose.. Wybierz.. - + Close the evidence display/editing overlay. You will be prompted if there's any unsaved changes. Zamknij wyświetlanie/edytowanie okienka dowodów. Zostaniesz zawiadomiony, jeśli są jakieś niezapisane zmiany. - + Save any changes made to this piece of evidence and send them to server. Zapisz zmiany do tego dowodu i wyślij je do serwera. - Double-click to edit. Press [X] to update your changes. - Kliknij dwa razy, aby edytować. Naciśnij [X], by uaktualnić zmiany. + Kliknij dwa razy, aby edytować. Naciśnij [X], by uaktualnić zmiany. - + + Click the pencil icon to edit. Press [X] to update your changes. + Naciśnij na ikonę ołówka, aby edytować. Naciśnij [X], aby zaktualizować swoje zmiany. + + + + Edit this piece of evidence. + Edytuj ten dowód. + + + Bring up the Evidence screen. Wyświetl ekran dowodów. - + Switch evidence to private inventory. Przełącz ekran dowodów do prywatnego ekwipunku. - + Switch evidence to global inventory. Przełącz ekran dowodów do globalnego ekwipunku. - - + + Transfer evidence to private inventory. Przenieś dowody do prywatnego ekwipunku. - - + + Transfer evidence to global inventory. Przenieś dowody do globalnego ekwipunku. - + The piece of evidence you've been editing has changed. Dowód, który edytujesz, właśnie się zmienił. - + Do you wish to keep your changes? Czy chcesz zatrzymać zmiany? - + Name: %1 Image: %2 Description: @@ -1579,60 +1688,64 @@ Opis: %3 - + Images (*.png) Obrazy (*.png) - - - - Double-click to edit... - Kliknij dwa razy, aby edytować... + + + + Click the pencil to edit... + Naciśnij na ołówek, aby edytować... - + Double-click to edit... + Kliknij dwa razy, aby edytować... + + + Add new evidence... Dodaj nowy dowód... - + Evidence has been modified. Dowody zostały zmodyfikowane. - + Do you want to save your changes? Czy chcesz zapisać zmiany? - + Current evidence is global. Click to switch to private. Obecne dowody są globalne. Kliknij, aby przełączyć się na prywatne. - + Current evidence is private. Click to switch to global. Obecne dowody są prywatne. Kliknij, aby przełączyć się na globalne. - + "%1" has been transferred. "%1" został przeniesiony/a. - + Save Inventory Zapisz ekwipunek - - + + Ini Files (*.ini) Pliki ini (*.ini) - + Open Inventory Otwórz ekwipunek @@ -1641,68 +1754,127 @@ Opis: DemoServer - + Load Demo Wczytaj Demo - + Demo Files (*.demo) Pliki Demo (*.demo) + + + + Demo file loaded. Send /play or > in OOC to begin playback. + Plik demo wczytany. Wyślij /play lub > w czacie OOC, aby rozpocząć odtwarzanie. + + + + Resuming playback. + Wznawianie odtwarzania. + + + + Pausing playback. + Pauzowanie odtwarzania. + + + + Setting max_wait to + Ustawianie max_wait do + + + + + milliseconds. + milisekund. + + + + Not a valid integer! + Nie jest to prawidłowa liczba całkowita! + + + + Current max_wait is + Bieżący max_wait to + + + + Current demo file reloaded. Send /play or > in OOC to begin playback. + Bieżący plik demo wczytany ponownie. Wyślij /play lub > w czacie OOC, aby rozpocząć odtwarzanie. + + + + min_wait is deprecated. Use the client Settings for minimum wait instead! + min_wait nie jest już używany. Użyj Ustawień AO2, aby zmienić minimalną wartość czekania! + + + + Available commands: +load, reload, play, pause, max_wait, help + Dostępne komendy: +load, reload, play, pause, max_wait, help + + + + Reached the end of the demo file. Send /play or > in OOC to restart, or /load to open a new file. + Osiągnięto koniec pliku demo. Wyślij /play lub > w czacie OOC, aby zrestartować demo lub /load, aby otworzyć nowy plik. + Lobby - - Attorney Online 2 - + + Attorney Online %1 + Attorney Online %1 - + Search Szukaj - + Name Nazwa - + It doesn't look like your client is set up correctly. Did you download all resources correctly from tiny.cc/getao, including the large 'base' folder? Wygłąda na to, że twój klient nie jest ustawiony poprawnie. Czy pobrałeś wszystkie zasoby poprawnie z tiny.cc/getao, włączając duży folder 'base'? - + Version: %1 Wersja: %1 - + Settings Ustawienia - + Allows you to change various aspects of the client. Umożliwia zmianę różnych aspektów klienta. - + Loading Ładowanie - + Cancel Anuluj - + <h2>Attorney Online %1</h2>The courtroom drama simulator.<p><b>Source code:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Major development:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter, Crystalwarrior, Iamgoofball, in1tiate<p><b>Client development:</b><br>Cents02, windrammer, skyedeving<p><b>QA testing:</b><br>CaseyCazy, CedricDewitt, Chewable Tablets, CrazyJC, Fantos, Fury McFlurry, Geck, Gin-Gi, Jamania, Minx, Pandae, Robotic Overlord, Shadowlions (aka Shali), Sierra, SomeGuy, Veritas, Wiso<p><b>Translations:</b><br>k-emiko (Русский), Pyraq (Polski), scatterflower (日本語), vintprox (Русский), windrammer (Español, Português)<p><b>Special thanks:</b><br>CrazyJC (2.8 release director) and MaximumVolty (2.8 release promotion); Remy, Hibiki, court-records.net (sprites); Qubrick (webAO); Rue (website); Draxirch (UI design); Lewdton and Argoneus (tsuserver); Fiercy, Noevain, Cronnicossy, and FanatSors (AO1); server hosts, game masters, case makers, content creators, and the whole AO2 community!<p>The Attorney Online networked visual novel project is copyright (c) 2016-2021 Attorney Online developers. Open-source licenses apply. All other assets are the property of their respective owners.<p>Running on Qt version %2 with the BASS audio engine.<br>APNG plugin loaded: %3<p>Built on %4 <h2>Attorney Online %1</h2>Symulator dramy sądowej<p><b>Kod źródłowy:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Główny rozwój:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter, Crystalwarrior, Iamgoofball, in1tiate<p><b>Rozwój Klienta:</b><br>Cents02, windrammer, skyedeving<p><b>Testowanie QA:</b><br>CaseyCazy, CedricDewitt, Chewable Tablets, CrazyJC, Fantos, Fury McFlurry, Geck, Gin-Gi, Jamania, Minx, Pandae, Robotic Overlord, Shadowlions (inaczej Shali), Sierra, SomeGuy, Veritas, Wiso<p><b>Translacje:</b><br>k-emiko (Русский), Pyraq (Polski), scatterflower (日本語), vintprox (Русский), windrammer (Español, Português)<p><b>Szczególne podziękowania:</b><br>CrazyJC (dyrektor wydania 2.8) i MaximumVolty (promocja wydania 2.8); Remy, Hibiki, court-records.net (sprite'y); Qubrick (webAO); Rue (strona internetowa); Draxirch (design interfejsu); Lewdton i Argoneus (tsuserver); Fiercy, Noevain, Cronnicossy oraz FanatSors (AO1); hostom serwerów, mistrzom gier, twórcom rozpraw, twórcom kontentu, i dla całej społeczności AO2!<p>Attorney Online sieciowy projekt wizualnej powieści ma prawa autorskie (c) 2016-2021 Attorney Online developerzy. Dotyczy licencji open-source. Wszystkie inne własności należą do ich odpowiednich właścicieli.<p>Działa na wersji Qt %2 z silnikiem audio BASS.<br>Plugin APNG załadowany: %3<p>Zbudowany na %4 @@ -1711,12 +1883,12 @@ Czy pobrałeś wszystkie zasoby poprawnie z tiny.cc/getao, włączając duży fo <h2>Attorney Online %1</h2>Symulator dramy sądowej<p><b>Kod źródłowy:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Główny rozwój:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter, Crystalwarrior, Iamgoofball<p><b>Rozwój Klienta:</b><br>Cents02, in1tiate, raidensnake, windrammer<p><b>Testowanie QA:</b><br>CaseyCazy, CedricDewitt, Chewable Tablets, CrazyJC, Fantos, Fury McFlurry, Geck, Gin-Gi, Jamania, Minx, Pandae, Robotic Overlord, Shadowlions (inaczej Shali), Sierra, SomeGuy, Veritas, Wiso<p><b>Szczególne podziękowania:</b><br>CrazyJC (dyrektor wydania 2.8) i MaximumVolty (promocja wydania 2.8); Remy, Hibiki, court-records.net (sprite'y); Qubrick (webAO); Rue (strona internetowa); Draxirch (design UI); Lewdton i Argoneus (tsuserver); Fiercy, Noevain, Cronnicossy oraz FanatSors (AO1); hostom serwerów, mistrzom gier, twórcom rozpraw, twórcom kontentu, i dla całej społeczności AO2!<p>Attorney Online sieciowy projekt wizualnej powieści ma prawa autorskie (c) 2016-2020 Attorney Online developerzy. Dotyczy licencji open-source. Wszystkie inne własności należą do ich odpowiednich właścicieli.<p>Działa na wersji Qt %2 z silnikiem audio BASS.<br>Plugin APNG załadowany: %3<p>Zbudowany na %4 - + Yes Tak - + No Nie @@ -1729,7 +1901,7 @@ Czy pobrałeś wszystkie zasoby poprawnie z tiny.cc/getao, włączając duży fo <h2>Attorney Online %1</h2>Symulator dramy sądowej<p><b>Kod źródłowy:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Główny rozwój:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter<p><b>Główny rozwój nad wydaniem 2.8:</b><br>Crystalwarrior, Iamgoofball<p><b>Zapewnienie jakości 2.8:</b><br>WillDean, Captain N, Mr M, Riel, Seimmet, Fury McFlurry,CedricDewitt, Chewable Tablets, Fantos, Futugaze,Geck, Minx, Pandae, Sierra, CrazyJC, CaseyMayCazy,GreenBowers, Robotic Overlord, Veritas, Gin-Gi<p><b>Szczególne podziękowania:</b><br>Remy, Iamgoofball, Hibiki, Qubrick (webAO), Ruekasu (UI design), Draxirch (UI design), Unishred, Argoneus (tsuserver), Fiercy, Noevain, Cronnicossy, społeczności AO2, hostów serwerów, mistrzów gier, twórców rozpraw, twórców kontentu i dla graczy! - + About Opis @@ -1738,13 +1910,13 @@ Czy pobrałeś wszystkie zasoby poprawnie z tiny.cc/getao, włączając duży fo <h2>Attorney Online: %1</h2>Symulator dramy sądowej<p><b>Kod żródłowy:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Główny rozwój:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter<p><b>Szczególne podziękowania:</b><br>Remy, Iamgoofball, Hibiki, Qubrick (webAO), Ruekasu (UI design), Draxirch (UI design), Unishred, Argoneus (tsuserver), Fiercy, Noevain, Cronnicossy - + Online: %1/%2 - - + + Offline @@ -1766,17 +1938,17 @@ Czy pobrałeś wszystkie zasoby poprawnie z tiny.cc/getao, włączając duży fo debug_functions - + Error: %1 Błąd: %1 - + Error Błąd - + Notice Ogłoszenie diff --git a/resource/translations/ao_pt.qm b/resource/translations/ao_pt.qm index 29784b8..7b1c17e 100644 Binary files a/resource/translations/ao_pt.qm and b/resource/translations/ao_pt.qm differ diff --git a/resource/translations/ao_pt.ts b/resource/translations/ao_pt.ts index 7d95f64..6d7e5bd 100644 --- a/resource/translations/ao_pt.ts +++ b/resource/translations/ao_pt.ts @@ -4,17 +4,17 @@ AOApplication - + Disconnected from server. Desconectado do servidor. - + Error connecting to master server. Will try again in %1 seconds. Erro ao conectar ao servidor principal. Testando novamente em %1 segundos. - + 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. @@ -34,17 +34,12 @@ Have a nice day. Tenha um bom dia. - - Attorney Online 2 - - - - + Loading Carregando - + Loading chars: %1/%2 Carregando personagens: @@ -57,33 +52,48 @@ Tenha um bom dia. %1/%2 - + + Attorney Online %1 + Attorney Online %1 + + + Loading music: %1/%2 Carregando músicas: %1/%2 - + You have been kicked from the server. Reason: %1 Você foi expulso do servidor. Motivo: %1 - + You have been banned from the server. Reason: %1 Você foi banido do servidor. Motivo: %1 - + You are banned on this server. Reason: %1 Você foi banido neste servidor. Motivo: %1 + + + Demo playback + + + + + Play back demos you have previously recorded + + AOCaseAnnouncerDialog @@ -130,68 +140,68 @@ Motivo: %1 AOOptionsDialog - + Settings Configurações - + Gameplay Jogabilidade - + Theme: Tema visual: - + Sets the theme used in-game. If the new theme changes the lobby's look as well, you'll need to reload the lobby for the changes to take effect, such as by joining a server and leaving it. Define o tema usado no jogo. Se o novo tema alterar a aparência do lobby, será necessário recarregá-lo para que as alterações tenham efeito, como ingressar em um servidor e deixá-lo. - + Subtheme: - + Sets a 'subtheme', which will stack on top of the current theme and replace anything it can.Keep it at 'server' to let the server decide. Keep it at 'default' to keep it unchanging. - + Reload Theme - + Refresh the theme and update all of the ui elements to match. Atualize o tema e todos os elementos da interface do usuário para corresponder. - + Animated Theme: - + If ticked, themes will be allowed to have animated elements. - + Log goes downwards: Log vai para baixo: - + If ticked, new messages will appear at the bottom (like the OOC chatlog). The traditional (AO1) behaviour is equivalent to this being unticked. Removed the part about AO1 behaviour, nobody cares boomer. Se selecionado, novas mensagens irão aparecer na parte inferior (assim como o chat OOC). - + Log length: Tamanho do log: @@ -200,146 +210,233 @@ Motivo: %1 A quantidade de mensagens que o chat do IC manterá antes de excluir as mensagens mais antigas. Um valor igual ou inferior a 0 conta como 'infinito'. - + The amount of message lines the IC chatlog will keep before deleting older message lines. A value of 0 or below counts as 'infinite'. - + Log newline: Nova linha no log: - + If ticked, new messages will appear separated, with the message coming on the next line after the name. When unticked, it displays it as 'name: message'. Se marcada, novas mensagens aparecerão separadamente e a mensagem aparecerá na próxima linha após o nome. Quando desmarcado, ele mostra como 'nome: mensagem'. - + Log margin: Margem no log: - + The distance in pixels between each entry in the IC log. Default: 0. A distância em pixels entre cada entrada no log IC. Padrão: 0. - + Log timestamp: Timestamp no registro: - + If ticked, log will contain a timestamp in UTC before the name. Se marcado, o registro conterá um carimbo de tempo em UTC antes do nome. - + + + Log timestamp format: + + + + + Log IC actions: - + If ticked, log will show IC actions such as shouting and presenting evidence. - + Text Stay Time: - + Minimum amount of time (in miliseconds) an IC message must stay on screen before the next IC message is shown, acting as a 'queue'. Set to 0 to disable this behavior. - + Desynchronize IC Logs: - + If ticked, log will show messages as-received, while viewport will parse according to the queue (Text Stay Time). - + Instant Objection: - + If Text Stay Time is more than 0, instant objection will skip queued messages instead of waiting to catch up. - + Text crawl: - + Amount of time (in miliseconds) spent on each letter when the in-character text is being displayed. - + Chat Rate Limit: - + Minimum amount of time (in miliseconds) that must pass before the next Enter key press will send your IC message. - + Default username: Nome de usuário padrão: - + Your OOC name will be automatically set to this value when you join a server. Seu nome OOC será automaticamente definido com esse valor quando você ingressar em um servidor. - + Custom shownames: Nomes personalizados: - + Gives the default value for the in-game 'Custom shownames' tickbox, which in turn determines whether the client should display custom in-character names. 'Custom shownames' changed to 'Shownames' because that's the actual name Fornece o valor padrão para a caixa de seleção 'Shownames' no jogo, que determina se o cliente deve exibir nomes personalizados nos personagens. - + + Default showname: + + + + + Your showname will be automatically set to this value when you join a server. + + + + Backup MS: MS de backup: - + If the built-in server lookups fail, the game will try the address given here and use it as a backup master server address. Se as pesquisas internas do servidor falharem, o jogo tentará o endereço fornecido aqui e o usará como um endereço de servidor principal de backup. - + Discord: - + Allows others on Discord to see what server you are in, what character are you playing, and how long you have been playing for. Permite que outras pessoas no Discord vejam em que servidor você está, qual personagem está jogando e há quanto tempo está jogando. - + + Scaling: + + + + + Sets the default scaling method, if there is not one already defined specifically for the character. + + + + + Pixel + + + + + Smooth + + + + If true, AO2 will ask the server to stop music when you use 'Objection!' + + + Assets + + + + + Add or remove base folders for use by assets. Base folders will be searched in the order provided. + + + + + Add… + + + + + Select a base folder + + + + + Remove + + + + + ↑ + + + + + ↓ + + + + + Clear Cache + + + + + Clears the lookup cache for assets. Use this when you have added an asset that takes precedence over another existing asset. + + + + + %1 (default) + + Allow Shake/Flash: Permitir Shake/Flash: @@ -349,12 +446,12 @@ Motivo: %1 Permite agitar e piscar. Desative isso se você tiver preocupações ou problemas com fotosensibilidade e/ou convulsões. - + Language: Língua: - + Sets the language if you don't want to use your system language. Define o idioma se você não quiser usar o idioma do sistema. @@ -363,47 +460,47 @@ Motivo: %1 Habilite para adicionar uma pequena pausa nos sinais de pontuação. - + Callwords Palavras-chave - + <html><head/><body>Enter as many callwords as you would like. These are case insensitive. Make sure to leave every callword in its own line!<br>Do not leave a line with a space at the end -- you will be alerted everytime someone uses a space in their messages.</body></html> <html><head/><body>Digite quantas palavras-chave você desejar. Estes não diferenciam maiúsculas de minúsculas. Certifique-se de deixar cada palavra chave em sua própria linha!<br>Não deixe uma linha com um espaço no final - você será alertado toda vez que alguém usar um espaço em suas mensagens.</body></html> - + Audio Áudio - + Audio device: Dispositivo de áudio: - + Sets the audio device for all sounds. Define o dispositivo de áudio para todos os sons. - + Music: Música: - + Sets the music's default volume. Define o volume padrão da música. - + SFX: SFX: - + Sets the SFX's default volume. Interjections and actual sound effects count as 'SFX'. Define o volume padrão do SFX. Interjeições e efeitos sonoros reais contam como 'SFX'. @@ -432,47 +529,47 @@ Motivo: %1 Define o volume padrão para sons SFX, como interjeições ou outros efeitos sonoros de personagens. - + Blips: - + Sets the volume of the blips, the talking sound effects. Define o volume dos blips, os efeitos sonoros de fala. - + Blip rate: Taxa de blip: - + Sets the delay between playing the blip sounds. Define o atraso entre a reprodução dos sons de blip. - + Blank blips: Blips em branco: - + If true, the game will play a blip sound even when a space is 'being said'. Se ativado, o jogo emitirá um sinal sonoro, mesmo quando um espaço estiver sendo "dito". - + Enable Looping SFX: Ative o SFX em loop: - + If true, the game will allow looping sound effects to play on preanimations. Se ativado, o jogo permitirá que efeitos sonoros em loop sejam reproduzidos em pré-animações. - + Kill Music On Objection: Parar a música no protesto: @@ -481,122 +578,122 @@ Motivo: %1 Se ativado, o jogo interrompe a música quando alguém protestar , como nos jogos reais. - + - Keep current setting - Mantenha as configurações atuais - + Allow Screenshake: Permitir screenshake: - + Allows screenshaking. Disable this if you have concerns or issues with photosensitivity and/or seizures. Permite o tremor de tela (AVISO: Pode causar convulsões devido à imagens tremidas). - + Allow Effects: Permitir efeitos: - + Allows screen effects. Disable this if you have concerns or issues with photosensitivity and/or seizures. Permite efeitos de tela (AVISO: Pode causar convulsões devido à imagens tremidas).. - + Network Frame Effects: Envie efeitos para o servidor: - + Send screen-shaking, flashes and sounds as defined in the char.ini over the network. Only works for servers that support this functionality. Envie vibrações, flashes e sons na tela, conforme definido no char.ini pela rede. Funciona apenas para servidores que suportam essa funcionalidade. - + Colors in IC Log: Cores no Log IC: - + Use the markup colors in the server IC chatlog. Permitir cores no chat do IC no servidor. - + Sticky Sounds: Manter sons: - + Turn this on to prevent the sound dropdown from clearing the sound after playing it. Marque para evitar que o som do menu suspenso apague o som após a reprodução. - + Sticky Effects: Manter efeitos: - + Turn this on to prevent the effects dropdown from clearing the effect after playing it. Ative-o para impedir que o menu suspenso de efeito exclua o efeito após reproduzi-lo. - + Sticky Preanims: Manter preanims: - + Turn this on to prevent preanimation checkbox from clearing after playing the emote. Ative-o para impedir que a caixa de seleção de pré-animação seja desmarcada após a execução do emote. - + Custom Chatboxes: Caixas de bate-papo personalizadas: - + Turn this on to allow characters to define their own custom chat box designs. Ative isso para permitir que os personagens tenham as suas próprias caixas de bate-papo personalizadas. - + Stickers: - + Turn this on to allow characters to define their own stickers (unique images that show up over the chatbox - like avatars or shownames). - + Continuous Playback: - + Whether or not to resume playing animations from where they left off. Turning off might reduce lag. - + Stop Music w/ Category: - + Stop music when double-clicking a category. If this is disabled, use the right-click context menu to stop music. - + Play a blip sound "once per every X symbols", where X is the blip rate. Reproduz um som de blip "uma vez para cada símbolo X", em que X é a taxa de blip. @@ -605,102 +702,102 @@ Motivo: %1 Se ativado, o AO2 interromperá a música quando você ou outra pessoa fizer uma 'Protesto!'. - + Casing Caso - + This server supports case alerts. Este servidor suporta anúncios de casos. - + This server does not support case alerts. Este servidor não suporta alertas de caso. - + Pretty self-explanatory. Bastante auto-explicativo. - + Casing: Caso: - + If checked, you will get alerts about case announcements. Se marcado, você será alertado quando houverem anúncios de casos. - + Defense: Defesa: - + If checked, you will get alerts about case announcements if a defense spot is open. Se marcado, você receberá alertas sobre os anúncios de casos, se um ponto de defesa estiver aberto. - + Prosecution: Promotor: - + If checked, you will get alerts about case announcements if a prosecutor spot is open. Se marcado, você receberá alertas sobre os anúncios de casos, se uma posição de promotor estiver disponível. - + Judge: Juíz: - + If checked, you will get alerts about case announcements if the judge spot is open. Se marcado, você receberá alertas sobre os anúncios de casos, se o local do juíz: estiver aberto. - + Juror: Jurado: - + If checked, you will get alerts about case announcements if a juror spot is open. Se marcado, você receberá alertas sobre os anúncios de casos, se um local do jurado estiver aberto. - + Stenographer: Estenógrafo: - + If checked, you will get alerts about case announcements if a stenographer spot is open. Se marcado, você receberá alertas sobre anúncios de casos, se um local de estenógrafo estiver aberto. - + CM: CM: - + If checked, you will appear amongst the potential CMs on the server. Se marcado, você aparecerá entre os CMs possíveis no servidor. - + Automatic Logging: Registro automático: - + If checked, all logs will be automatically written in the /logs folder. Se marcado, todos os registros serão automaticamente salvos na pasta logs. @@ -713,12 +810,12 @@ Motivo: %1 Se marcado, você aparecerá entre as testemunhas em potencial no servidor. - + Hosting cases: Casos: - + If you're a CM, enter what cases you are willing to host. Se você é um CM, insira os casos que deseja hospedar. @@ -755,29 +852,29 @@ Motivo: %1 Senha - + Spectator Espectador - - + + Search Pesquisar - + Passworded A translation wouldn't fit because of the shitty theme system. - + Taken Em uso - + Generating chars: %1/%2 Gerando personagens: @@ -788,13 +885,13 @@ Motivo: %1 Não foi possível encontrar %1 - + Showname A translation wouldn't fit because of the shitty theme system. - + Message Mensagem @@ -803,37 +900,37 @@ Motivo: %1 Mensagem OOC - + Name Nome - + Pre A translation wouldn't fit because of the shitty theme system. - + Flip A translation wouldn't fit because of the shitty theme system. - - + + Casing A translation wouldn't fit because of the shitty theme system. - + Shownames A translation wouldn't fit because of the shitty theme system. - + Immediate A translation wouldn't fit because of the shitty theme system. @@ -879,69 +976,69 @@ Motivo: %1 % deslocamento - + Music - + Sfx - + Blips - - + + Server - + Change character - + Reload theme - + Call mod - + Settings - + A/M - + Preanim - + Back to Lobby A translation wouldn't fit because of the shitty theme system. Lobby - + You were granted the Disable Modcalls button. Você recebeu o botão Desativar Modcalls. - + You have been banned. Você foi banido. @@ -950,9 +1047,8 @@ Motivo: %1 Isso não faz nada, mas lá vai você. - You opened the settings menu. - Você abriu o menu de configurações. + Você abriu o menu de configurações. You will now pair up with @@ -963,45 +1059,54 @@ Motivo: %1 se eles também escolherem seu personagem em troca. - - - - + + + None Nada - + Guard Guarda - + Additive Aditivo - + % x offset - + % y offset - + To front Para frente - + To behind Ao fundo - + + Log goes down + + + + + Log goes up + + + + Select a character you wish to pair with. Selecione um personagem com o qual deseja parear. @@ -1010,27 +1115,27 @@ Motivo: %1 Altere o deslocamento percentual da posição do seu personagem no centro da tela. - + Change the order of appearance for your character. Mude a ordem de aparência do seu personagem. - + Display the list of characters to pair with. Exibe a lista de caracteres para corresponder. - + Oops, you're muted! Opa, você está mudo! - + Set your character's emote to play on your next message. Defina o emote do seu personagem para usar na próxima mensagem. - + Set your character's supplementary background. Defina o plano de fundo suplementar para o seu personagem. @@ -1041,45 +1146,45 @@ Edit by typing and pressing Enter, [X] to remove. This saves to your base/charac Edite digitando e pressionando Enter, [X] para excluir. Isso é salvo em base/characters/<charname>/iniswaps.ini - + Change the horizontal percentage offset of your character's position from the center of the screen. - + Change the vertical percentage offset of your character's position from the center of the screen. - + Reset your character's supplementary background to its default. - + Set an 'iniswap', or an alternative character folder to refer to from your current character. Edit by typing and pressing Enter, [X] to remove. This saves to your base/iniswaps.ini - + Remove the currently selected iniswap from the list and return to the original character folder. Remova o iniswap atualmente selecionado da lista e retorne à pasta de caracteres original. - + Set a sound effect to play on your next 'Preanim'. Leaving it on Default will use the emote-defined sound (if any). Edit by typing and pressing Enter, [X] to remove. This saves to your base/characters/<charname>/soundlist.ini Configure um efeito sonoro para tocar no seu próximo 'Preanim'. Deixá-lo no padrão usará o som definido pelos emoticons (caso existam). Edite digitando e pressionando Enter, [X] para excluir. Isso é salvo em base/characters/<charname>/soundlist.ini - + Remove the currently selected sound effect. - + Choose an effect to play on your next spoken message. The effects are defined in your theme/effects/effects.ini. Your character can define custom effects by char.ini [Options] category, effects = 'miscname' where it referes to misc/<miscname>/effects.ini to read the effects. @@ -1088,360 +1193,339 @@ Os efeitos são definidos em theme / effects / effects.ini. Seu personagem pode categoria char.ini [Opções], effects = 'miscname', onde se refere a misc/<miscname>/effects.ini to read the effects. - + Hold It! Um momento! - - - + + + When this is turned on, your next in-character message will be a shout! Quando isso estiver ativado, sua próxima mensagem do personagem será um grito. - + Objection! Protesto! - + Take That! Tome isso! - + Toggle between server chat and global AO2 chat. Alterne entre o bate-papo do servidor e o global. - - - - + + + + This will display the animation in the viewport as soon as it is pressed. Isso exibirá a animação na janela de visualização assim que for pressionada. - + Guilty! Culpado! - + Bring up the Character Select Screen and change your character. Abra a tela de seleção de personagem e mude seu personagem. - + Refresh the theme and update all of the ui elements to match. Atualize o tema e todos os elementos da interface do usuário para corresponder. - + Request the attention of the current server's moderator. Solicite a atenção do moderador do servidor atual. - + Allows you to change various aspects of the client. Permite alterar vários aspectos do cliente. - + An interface to help you announce a case (you have to be a CM first to be able to announce cases) Uma interface para ajudá-lo a anunciar um caso (deve ser um CM para poder anunciar casos) - + Switch between Areas and Music lists Alterne entre áreas e listas de músicas - + Play a single-shot animation as defined by the emote when checked. Reproduza uma animação de tiro único, conforme definido pelo emote, quando marcada. - + If preanim is checked, display the input text immediately as the animation plays concurrently. Se pré-impressão estiver marcada, exiba o texto de entrada imediatamente enquanto a animação estiver sendo reproduzida simultaneamente. - + Mirror your character's emotes when checked. Reflita os gestos do seu personagem quando marcado. - + Add text to your last spoken message when checked. Adicione texto à sua última mensagem falada quando marcado. - + Do not listen to mod calls when checked, preventing them from playing sounds or focusing attention on the window. Você não ouve chamadas de moderação quando marcado, impedindo-os de tocar sons ou concentrando a atenção na janela. - + Lets you receive case alerts when enabled. (You can set your preferences in the Settings!) Permite que você receba alertas de caso quando ativado. (Você pode configurar suas preferências em Configurações!) - + Display customized shownames for all users when checked. Mostrar nomes personalizados para todos os usuários quando marcado. - + Custom Shout! Grito personalizado! - + This will display the custom character-defined animation in the viewport as soon as it is pressed. To make one, your character's folder must contain custom.[webp/apng/gif/png] and custom.[wav/ogg/opus] sound effect Isso exibirá a animação de caracteres personalizados definida na viewport assim que for pressionada. Para criar uma, a pasta do seu personagem deve conter efeitos personalizados [webp/apng/gif/png]. E efeitos sonoros personalizados [wav/ogg/opus] - + Play realization sound and animation in the viewport on the next spoken message when checked. Tocar animação de som e performance na janela de desenho na seguinte mensagem falada quando marcada. - + Shake the screen on next spoken message when checked. Agite a tela na próxima mensagem falada quando marcada. - + Display the list of character folders you wish to mute. Exibe a lista de pastas de caracteres que você deseja silenciar. - - + + Increase the health bar. Aumente a barra de saúde. - - + + Decrease the health bar. Abaixe a barra de saúde. - + Change the text color of the spoken message. You can also select a part of your currently typed message and use the dropdown to change its color! Mude a cor do texto no chat IC. Você também pode selecionar uma parte da sua mensagem escrita no momento e usar o menu suspenso para alterar sua cor! - + Return back to the server list. Retorne à lista de servidores. - + Become a spectator. You won't be able to interact with the in-character screen. Torne-se um espectador. Você não será capaz de interagir como personagem. - - + + + + CLIENT - + + Login unsuccessful. + + + + + You were logged out. + + + + HOLD IT! - + OBJECTION! - + TAKE THAT! - + CUSTOM OBJECTION! - - - - + + + + shouts - - - + + + has presented evidence apresentou evidência - - - + + + has stopped the music - - + [STREAM] %1 - - + [MISSING] %1 - - + + has played a song tocou a música - You will now pair up with %1 if they also choose your character in return. - Agora você será emparelhado com %1 se também escolher seu personagem. + Agora você será emparelhado com %1 se também escolher seu personagem. - You are no longer paired with anyone. - Você não está mais fazendo par com ninguém. + Você não está mais fazendo par com ninguém. - Are you sure you typed that well? The char ID could not be recognised. - Você tem certeza que você escreveu isso certo? O ID do personagem não pôde ser encontrado. - - - - You have set your offset to %1%%. - + Você tem certeza que você escreveu isso certo? O ID do personagem não pôde ser encontrado. You have set your offset to Você definiu seu deslocamento como - Your offset must be between -100% and 100%! - Seu deslocamento deve estar entre -100% e 100%! + Seu deslocamento deve estar entre -100% e 100%! - That offset does not look like one. - Esse deslocamento não se parece com um. + Esse deslocamento não se parece com um. - - You have set your vertical offset to %1%%. - - - - - Your vertical offset must be between -100% and 100%! - - - - - That vertical offset does not look like one. - - - - You switched your music and area list. - Você mudou sua lista de músicas e áreas. + Você mudou sua lista de músicas e áreas. - You have forcefully enabled features that the server may not support. You may not be able to talk IC, or worse, because of this. - Você forçou recursos que o servidor pode não suportar. Você pode não conseguir falar de IC, ou pior, por causa disso. + Você forçou recursos que o servidor pode não suportar. Você pode não conseguir falar de IC, ou pior, por causa disso. - Your pre-animations interrupt again. - Suas pré-animações interrompem novamente. + Suas pré-animações interrompem novamente. - Your pre-animations will not interrupt text. - Suas pré-animações não interromperão o texto. + Suas pré-animações não interromperão o texto. - Couldn't open chatlog.txt to write into. - Não foi possível abrir o chatlog.txt para gravar. + Não foi possível abrir o chatlog.txt para gravar. - The IC chatlog has been saved. - O chat do IC foi salvo. + O chat do IC foi salvo. - + You don't have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it's likely the case file you're looking for can't be found in there. Você não possui uma pasta `base/cases/`! Foi feito para você, mas, como foi feito para você, provavelmente o arquivo do caso que você está procurando não pode ser encontrado lá. - + 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 Você precisa fornecer um nome de arquivo para carregar (extensão não necessária)! Verifique se está na pasta `base/cases/` e se é um ini formatado corretamente. Casos que você pode carregar: %1 - + Too many arguments to load a case! You only need one filename, without extension. Muitos argumentos para carregar um caso! Você só precisa de um nome de arquivo, sem extensão. - + Case made by %1. Caso feito por %1. - + Navigate to %1 for the CM doc. Navegue para %1 para o documento do CM. + - - - + + UNKNOWN - + Your case "%1" was loaded! Seu caso "%1" foi carregado! - + You don't have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it's likely that you somehow deleted it. Você não possui uma pasta `base/cases/`! Foi feito para você, mas, como foi feito para você, é provável que você o tenha excluído. - + You need to give a filename to save (extension not needed) and the courtroom status! Você deve fornecer um nome de arquivo para salvar (sem extensão necessária) e o estado do tribunal! @@ -1450,83 +1534,83 @@ Casos que você pode carregar: %1 Muitos argumentos para salvar um caso! Você só precisa de um nome de arquivo sem extensão e o estado do tribunal. - + Too many arguments to save a case! You only need a filename without extension and the courtroom status! Muitos argumentos para salvar um caso! Você só precisa de um nome de arquivo sem extensão e o estado do tribunal. - + Succesfully saved, edit doc and cmdoc link on the ini! Salvo com sucesso, você pode editar o documento e o link do documento no arquivo ini! - + Master - + Stop Current Song - + Play Random Song Tocar música aleatória - + Expand All Categories Expandir todas as categorias - + Collapse All Categories Recolher todas as categorias - + Fade Out Previous Desvanecer Anterior - + Fade In Aparecimento gradual - + Synchronize Sincronizar - + Default Predeterminado - + Reason: Razão: - + Call Moderator Chamar um Moderador - + Error Erro - + You must provide a reason. Você deve fornecer um motivo. - + The message is too long. A mensagem é muito longa. @@ -1535,86 +1619,95 @@ Casos que você pode carregar: %1 Escolha... - + Present this piece of evidence to everyone on your next spoken message Apresente essa evidência a todos na sua próxima mensagem falada - + Save evidence to an .ini file. Salve evidências em um arquivo .ini. - + Load evidence from an .ini file. Carregar evidências de um arquivo .ini. - + Destroy this piece of evidence Destrua esta evidência - + Choose.. Escolher.. - + Close the evidence display/editing overlay. You will be prompted if there's any unsaved changes. Feche a sobreposição para visualizar/editar evidências. Você será perguntado se existem alterações não salvas. - + Save any changes made to this piece of evidence and send them to server. Salve as alterações feitas nesta evidência e envie-as para o servidor. - Double-click to edit. Press [X] to update your changes. - Clique duas vezes para editar. Pressione [X] para atualizar suas alterações. + Clique duas vezes para editar. Pressione [X] para atualizar suas alterações. - + + Click the pencil icon to edit. Press [X] to update your changes. + + + + + Edit this piece of evidence. + + + + Bring up the Evidence screen. Abra a tela de evidências. - + Switch evidence to private inventory. Enviar evidência para inventário privado. - + Switch evidence to global inventory. Mude a evidência para o inventário global. - - + + Transfer evidence to private inventory. Transfira evidências para o inventário privado. - - + + Transfer evidence to global inventory. Transfira evidências para o inventário global. - + The piece of evidence you've been editing has changed. A evidência que você está editando mudou. - + Do you wish to keep your changes? Deseja manter suas alterações? - + Name: %1 Image: %2 Description: @@ -1625,60 +1718,64 @@ Descrição: %3 - + Images (*.png) Imagens (* .png) - - - - Double-click to edit... - Clique duas vezes para editar... + + + + Click the pencil to edit... + - + Double-click to edit... + Clique duas vezes para editar... + + + Add new evidence... Adicionar nova evidência... - + Evidence has been modified. A evidência foi modificada. - + Do you want to save your changes? Você quer salvar suas mudanças? - + Current evidence is global. Click to switch to private. A evidência atual é global. Clique para mudar para privado. - + Current evidence is private. Click to switch to global. A evidência atual é privada. Clique para mudar para global. - + "%1" has been transferred. "%1" foi transferido. - + Save Inventory Salvar inventário - - + + Ini Files (*.ini) Arquivos INI (* .ini) - + Open Inventory Abrir inventário @@ -1687,74 +1784,132 @@ Descrição: DemoServer - + Load Demo - + Demo Files (*.demo) + + + + Demo file loaded. Send /play or > in OOC to begin playback. + + + + + Resuming playback. + + + + + Pausing playback. + + + + + Setting max_wait to + + + + + + milliseconds. + + + + + Not a valid integer! + + + + + Current max_wait is + + + + + Current demo file reloaded. Send /play or > in OOC to begin playback. + + + + + min_wait is deprecated. Use the client Settings for minimum wait instead! + + + + + Available commands: +load, reload, play, pause, max_wait, help + + + + + Reached the end of the demo file. Send /play or > in OOC to restart, or /load to open a new file. + + Lobby - - Attorney Online 2 - + + Attorney Online %1 + Attorney Online %1 - + Search Pesquisar - + Name Nome - + It doesn't look like your client is set up correctly. Did you download all resources correctly from tiny.cc/getao, including the large 'base' folder? Seu cliente não parece estar configurado corretamente. Você baixou todos os recursos corretamente do tiny.cc/getao, incluindo a grande pasta 'base'? - + Version: %1 Versão: %1 - + Settings Configurações - + Allows you to change various aspects of the client. Permite alterar vários aspectos do cliente. - - + + Offline Offline - + Loading Carregando - + Cancel Cancelar - + <h2>Attorney Online %1</h2>The courtroom drama simulator.<p><b>Source code:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Major development:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter, Crystalwarrior, Iamgoofball, in1tiate<p><b>Client development:</b><br>Cents02, windrammer, skyedeving<p><b>QA testing:</b><br>CaseyCazy, CedricDewitt, Chewable Tablets, CrazyJC, Fantos, Fury McFlurry, Geck, Gin-Gi, Jamania, Minx, Pandae, Robotic Overlord, Shadowlions (aka Shali), Sierra, SomeGuy, Veritas, Wiso<p><b>Translations:</b><br>k-emiko (Русский), Pyraq (Polski), scatterflower (日本語), vintprox (Русский), windrammer (Español, Português)<p><b>Special thanks:</b><br>CrazyJC (2.8 release director) and MaximumVolty (2.8 release promotion); Remy, Hibiki, court-records.net (sprites); Qubrick (webAO); Rue (website); Draxirch (UI design); Lewdton and Argoneus (tsuserver); Fiercy, Noevain, Cronnicossy, and FanatSors (AO1); server hosts, game masters, case makers, content creators, and the whole AO2 community!<p>The Attorney Online networked visual novel project is copyright (c) 2016-2021 Attorney Online developers. Open-source licenses apply. All other assets are the property of their respective owners.<p>Running on Qt version %2 with the BASS audio engine.<br>APNG plugin loaded: %3<p>Built on %4 @@ -1763,12 +1918,12 @@ Você baixou todos os recursos corretamente do tiny.cc/getao, incluindo a grande <h2>Attorney Online %1</h2>O simulador de drama jurídico<p><b>Código fonte:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Desenvolvimento principal:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter, Crystalwarrior, Iamgoofball<p><b>Desenvolvimento de cliente:</b><br>Cents02, in1tiate, raidensnake, windrammer<p><b>Teste de controle de qualidade:</b><br>CaseyCazy, CedricDewitt, Chewable Tablets, CrazyJC, Fantos, Fury McFlurry, Geck, Gin-Gi, Jamania, Minx, Pandae, Robotic Overlord, Shadowlions (aka Shali), Sierra, SomeGuy, Veritas, Wiso<p><b>Agradecimentos especiais:</b><br>CrazyJC y MaximumVolty (versão 2.8); Remy, Hibiki, court-records.net (sprites); Qubrick (webAO); Rue (website); Draxirch (UI design); Lewdton and Argoneus (tsuserver); Fiercy, Noevain, Cronnicossy, y FanatSors (AO1); server hosts, game masters, case makers, criadores de conteúdo e toda a comunidade AO2.<p>O projeto Attorney Online possui direitos autorais (c) 2016-2020 Attorney Online developers. Aplicam-se licenças de código aberto. Todos os outros ativos são de propriedade de seus respectivos proprietários.<p>Usando a versão Qt %2 com o mecanismo de áudio BASS..<br>Plugin APNG carregado: %3<p>Compilado em %4 - + Yes Sim - + No Não @@ -1781,7 +1936,7 @@ Você baixou todos os recursos corretamente do tiny.cc/getao, incluindo a grande <h2>Attorney Online %1</h2>O simulador de drama jurídico<p><b>Código fonte:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Desenvolvimento principal:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter, Crystalwarrior, Iamgoofball<p><b>Desenvolvimento de cliente:</b><br>Cents02, in1tiate, raidensnake, windrammer<p><b>Teste de controle de qualidade:</b><br>CaseyCazy, CedricDewitt, Chewable Tablets, CrazyJC, Fantos, Fury McFlurry, Geck, Gin-Gi, Jamania, Minx, Pandae, Robotic Overlord, Shadowlions (aka Shali), Sierra, SomeGuy, Veritas, Wiso<p><b>Agradecimentos especiais:</b><br>CrazyJC y MaximumVolty (versão 2.8); Remy, Hibiki, court-records.net (sprites); Qubrick (webAO); Rue (website); Draxirch (UI design); Lewdton and Argoneus (tsuserver); Fiercy, Noevain, Cronnicossy, y FanatSors (AO1); server hosts, game masters, case makers, criadores de conteúdo e toda a comunidade AO2.<p>O projeto Attorney Online possui direitos autorais (c) 2016-2020 Attorney Online developers. Aplicam-se licenças de código aberto. Todos os outros ativos são de propriedade de seus respectivos proprietários.<p>Usando a versão Qt %2 com o mecanismo de áudio %3.<p>Compilado em %4 - + About Sobre @@ -1794,7 +1949,7 @@ Você baixou todos os recursos corretamente do tiny.cc/getao, incluindo a grande <h2>Attorney Online %1</h2>O simulador de drama jurídico<p><b>Código fonte:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Desenvolvimento principal:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter<p><b>Agradecimentos especiais:</b><br>Remy, Iamgoofball, Hibiki, Qubrick (webAO), Ruekasu (UI design), Draxirch (UI design), Unishred, Argoneus (tsuserver), Fiercy, Noevain, Cronnicossy - + Online: %1/%2 Online: %1/%2 @@ -1816,17 +1971,17 @@ Você baixou todos os recursos corretamente do tiny.cc/getao, incluindo a grande debug_functions - + Error: %1 - + Error - + Notice diff --git a/resource/translations/ao_ru.qm b/resource/translations/ao_ru.qm index 228c2cc..9a578a6 100644 Binary files a/resource/translations/ao_ru.qm and b/resource/translations/ao_ru.qm differ diff --git a/resource/translations/ao_ru.ts b/resource/translations/ao_ru.ts index 3d9bad3..99c511a 100644 --- a/resource/translations/ao_ru.ts +++ b/resource/translations/ao_ru.ts @@ -4,17 +4,17 @@ AOApplication - + Disconnected from server. Соединение с сервером разорвано. - + Error connecting to master server. Will try again in %1 seconds. Ошибка соединения с главным сервером. Повторная попытка соединения через %1 с. - + 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. @@ -36,12 +36,11 @@ Have a nice day. Всего хорошего. - - Attorney Online 2 - Attorney Online 2 + Attorney Online + Attorney Online - + Loading Загрузка @@ -52,35 +51,40 @@ Have a nice day. %1/%2 - + Loading music: %1/%2 Загрузка музыки: %1/%2 - + Loading chars: %1/%2 Загрузка персонажей: %1/%2 - + + Attorney Online %1 + Attorney Online %1 + + + You have been kicked from the server. Reason: %1 Вас выпнули с сервера. Причина: %1 - + You have been banned from the server. Reason: %1 Вы были забанены на сервере. Причина: %1 - + You are banned on this server. Reason: %1 Вы забанены на этом сервере. @@ -98,6 +102,16 @@ Reason: Вы забанены на этом сервере. Причина: + + + Demo playback + + + + + Play back demos you have previously recorded + + AOCaseAnnouncerDialog @@ -140,69 +154,69 @@ Reason: AOOptionsDialog - + Settings Настройки - + Gameplay Игра - + Theme: Тема: - + Sets the theme used in-game. If the new theme changes the lobby's look as well, you'll need to reload the lobby for the changes to take effect, such as by joining a server and leaving it. Определяет внешний вид игры. Для применения новой темы может понадобиться перезайти на сервер. - + Subtheme: Подтема: - + Sets a 'subtheme', which will stack on top of the current theme and replace anything it can.Keep it at 'server' to let the server decide. Keep it at 'default' to keep it unchanging. Определяет подтему, которая ставится поверх текущей темы и заменяет все, что может. Выберите "сервер", чтобы оставить выбор за сервером. Выберите "по умолчанию", чтобы она не менялась. - + Reload Theme Перезагрузить тему - + Refresh the theme and update all of the ui elements to match. Перезагрузить тему и обновить все элементы интерфейса. - + Animated Theme: Анимированные темы: - + If ticked, themes will be allowed to have animated elements. Разрешить темам использовать анимированные элементы. - + Log goes downwards: История чата идёт вниз: - + If ticked, new messages will appear at the bottom (like the OOC chatlog). The traditional (AO1) behaviour is equivalent to this being unticked. Показывать новые сообщения в игровом чате снизу (как в ООС-чате), а не сверху (как в AO1). - + Log length: Размер истории игрового чата: @@ -213,490 +227,577 @@ Reason: Поставьте 0 или отрицательное значение, чтобы снять ограничение. - + The amount of message lines the IC chatlog will keep before deleting older message lines. A value of 0 or below counts as 'infinite'. Максимальное количество строк сообщений, сохраняемых в игровом чате. При превышении лимита старые строки будут удаляться. Поставьте 0 или отрицательное значение, чтобы снять ограничение. - + Log newline: Сохранять перенос строки: - + If ticked, new messages will appear separated, with the message coming on the next line after the name. When unticked, it displays it as 'name: message'. Показывать новое сообщение на следующей строке после имени. Если опция выключена, сообщения будут отображаться в следующем формате: "имя: сообщение". - + Log margin: Интервал: - + The distance in pixels between each entry in the IC log. Default: 0. Ширина интервала (в пикселях) между сообщениями в истории игрового чата. Значение по умолчанию: 0. - + Log timestamp: Метки времени: - + If ticked, log will contain a timestamp in UTC before the name. Показывать метки времени в часовом поясе UTC в игровом чате перед именем. - + + + Log timestamp format: + + + + + Log IC actions: Действия: - + If ticked, log will show IC actions such as shouting and presenting evidence. Показывать действия (возгласы, предъявленные улики и пр.) в истории игрового чата. - + Text Stay Time: Задержка текста: - + Minimum amount of time (in miliseconds) an IC message must stay on screen before the next IC message is shown, acting as a 'queue'. Set to 0 to disable this behavior. Минимальное время (в миллисекундах), которое сообщение игрового чата должно отображаться перед показом следующего, образуя очередь. Поставьте 0 для отключения очереди. - + Desynchronize IC Logs: Независимая история чата: - + If ticked, log will show messages as-received, while viewport will parse according to the queue (Text Stay Time). Показывать сообщения в истории игрового чата в реальном времени, а в самом игровом чате - в соответствии с настройками очереди ("Задержка текста"). - + Instant Objection: Возглас без задержки: - + If Text Stay Time is more than 0, instant objection will skip queued messages instead of waiting to catch up. Если "Задержка текста" больше нуля, включение данной опции позволяет отобразить возглас, минуя сообщения в очереди. - + Text crawl: Скорость вывода: - + Amount of time (in miliseconds) spent on each letter when the in-character text is being displayed. Время задержки (в миллисекундах) после показа каждой буквы в игровом чате. - + Chat Rate Limit: Частота отправки: - + Minimum amount of time (in miliseconds) that must pass before the next Enter key press will send your IC message. Минимальное время (в миллисекундах), которое должно пройти, прежде чем нажатие Enter снова отправит ваше сообщение в игровой чат. - + Default username: Никнейм по умолчанию: - + Your OOC name will be automatically set to this value when you join a server. Псевдоним по умолчанию для ООС-чата. - + Custom shownames: Пользовательские имена: - + Gives the default value for the in-game 'Custom shownames' tickbox, which in turn determines whether the client should display custom in-character names. Значение по умолчанию для переключателя "Пользовательские имена" в основном окне приложения. - + + Default showname: + + + + + Your showname will be automatically set to this value when you join a server. + + + + Backup MS: Запасной ГС: - + If the built-in server lookups fail, the game will try the address given here and use it as a backup master server address. Если клиент не сможет соединиться со встроенным главным сервером (ГС), он проверит адреса из этого списка. - + Discord: Discord: - + Allows others on Discord to see what server you are in, what character are you playing, and how long you have been playing for. Показывать в Discord сервер, на котором вы играете, вашего персонажа и продолжительность игры. - + Language: Язык: - + Sets the language if you don't want to use your system language. Изменяет язык интерфейса приложения, если вы не хотите использовать язык системы. - + - Keep current setting - сохранить текущие настройки - + + Scaling: + + + + + Sets the default scaling method, if there is not one already defined specifically for the character. + + + + + Pixel + + + + + Smooth + + + + Allow Screenshake: Встряска экрана: - + Allows screenshaking. Disable this if you have concerns or issues with photosensitivity and/or seizures. Разрешить показ встрясок экрана. Отключите, если вы страдаете от светочувствительности и/или припадков. - + Allow Effects: Визуальные эффекты: - + Allows screen effects. Disable this if you have concerns or issues with photosensitivity and/or seizures. Разрешить показ визуальных эффектов. Отключите, если вы страдаете от светочувствительности и/или припадков. - + Network Frame Effects: Эффекты по сети: - + Send screen-shaking, flashes and sounds as defined in the char.ini over the network. Only works for servers that support this functionality. Разрешить отправку звуков, эффектов вспышек и встряски экрана по сети в соответствии с char.ini. Работает только на серверах, поддерживающих данную функцию. - + Colors in IC Log: Цвета в истории чата: - + Use the markup colors in the server IC chatlog. Отображать цвета в истории игрового чата. - + Sticky Sounds: Закрепить звуки: - + Turn this on to prevent the sound dropdown from clearing the sound after playing it. Не сбрасывать выбранные настройки звука после его воспроизведения. - + Sticky Effects: Закрепить эффекты: - + Turn this on to prevent the effects dropdown from clearing the effect after playing it. Не сбрасывать выбранные настройки эффекта после его воспроизведения. - + Sticky Preanims: Закрепить пред. анимации: - + Turn this on to prevent preanimation checkbox from clearing after playing the emote. Не сбрасывать настройки пред. анимации после её воспроизведения. - + Custom Chatboxes: Пользовательские подложки: - + Turn this on to allow characters to define their own custom chat box designs. Отображать дизайны подложек, заданные персонажами. - + Stickers: Стикеры: - + Turn this on to allow characters to define their own stickers (unique images that show up over the chatbox - like avatars or shownames). Разрешить персонажам задавать собственные стикеры (уникальные изображения, отображающиеся поверх подложки; как аватарки или пользовательские имена). - + Continuous Playback: Непрерывное воспроизведение: - + Whether or not to resume playing animations from where they left off. Turning off might reduce lag. Продолжать воспроизведение анимации с того места, где она остановилась. Отключение этой опции может помочь ускорить работу приложения. - + Stop Music w/ Category: Останавливать музыку категориями: - + Stop music when double-clicking a category. If this is disabled, use the right-click context menu to stop music. Останавливать музыку по двойному клику на названии категории. Если эта опция отключена, воспользуйтесь контекстным меню, чтобы остановить музыку. - + Callwords Позывные - + <html><head/><body>Enter as many callwords as you would like. These are case insensitive. Make sure to leave every callword in its own line!<br>Do not leave a line with a space at the end -- you will be alerted everytime someone uses a space in their messages.</body></html> <html><head/><body>Введите в поле выше свои позывные. Если кто-то в чате напишет их, вы услышите звуковой сигнал. Регистр символов не учитывается.<br>Каждый позывной должен быть на отдельной строке. Не оставляйте в конце строк пробелы, иначе вы будете получать оповещения о каждом пробеле в чате.</body></html> - + Audio Аудио - + Audio device: Устройство вывода: - + Sets the audio device for all sounds. Укажите устройство воспроизведения всего аудио приложения. - + Music: Музыка: - + Sets the music's default volume. Громкость музыки по умолчанию. - + SFX: Звук. эффекты: - + Sets the SFX's default volume. Interjections and actual sound effects count as 'SFX'. Громкость звуковых эффектов по умолчанию. В эту категорию также входят возгласы. - + Blips: Сигналы: - + Sets the volume of the blips, the talking sound effects. Громкость сигналов, заменяющих голос, по умолчанию. - + Blip rate: Частота сигналов: - + Sets the delay between playing the blip sounds. Задержка по умолчанию между сигналами, заменяющими голос. - + Play a blip sound "once per every X symbols", where X is the blip rate. Проигрывать сигнал каждые Х символов. - + Blank blips: Пустые сигналы: - + If true, the game will play a blip sound even when a space is 'being said'. Проигрывать сигналы даже для пробелов. - + Enable Looping SFX: Повтор звук. эффектов: - + If true, the game will allow looping sound effects to play on preanimations. Разрешить воспроизведение зацикленных звуковых эффектов во время предварительной анимации. - + Kill Music On Objection: Тишина при протесте: - + If true, AO2 will ask the server to stop music when you use 'Objection!' Клиент будет просить сервер останавливать музыку, когда вы протестуете. + + + Assets + + + + + Add or remove base folders for use by assets. Base folders will be searched in the order provided. + + + + + Add… + + + + + Select a base folder + + + + + Remove + + + + + ↑ + + + + + ↓ + + + + + Clear Cache + + + + + Clears the lookup cache for assets. Use this when you have added an asset that takes precedence over another existing asset. + + + + + %1 (default) + + If true, AO2 will stop the music for you when you or someone else does 'Objection!'. Останавливать музыку, когда кто-то протестует. - + Casing Заседания - + This server supports case alerts. Сервер поддерживает объявления заседаний. - + This server does not support case alerts. Сервер не поддерживает объявления заседаний. - + Pretty self-explanatory. Дополнительные пояснения не требуются. - + Casing: Заседания: - + If checked, you will get alerts about case announcements. Получать уведомления при объявлении заседаний. - + Defense: Защита: - + If checked, you will get alerts about case announcements if a defense spot is open. Получать уведомления при объявлении дел, в которых нужна сторона защиты. - + Prosecution: Обвинение: - + If checked, you will get alerts about case announcements if a prosecutor spot is open. Получать уведомления при объявлении дел, в которых нужна сторона обвинения. - + Judge: Судья: - + If checked, you will get alerts about case announcements if the judge spot is open. Получать уведомления при объявлении дел, в которых нужен судья. - + Juror: Присяжные: - + If checked, you will get alerts about case announcements if a juror spot is open. Получать уведомления при объявлении дел, в которых нужны присяжные заседатели. - + Stenographer: Стенографист: - + If checked, you will get alerts about case announcements if a stenographer spot is open. Получать уведомления при объявлении дел, в которых нужен стенографист. - + CM: ПД: - + If checked, you will appear amongst the potential CMs on the server. Отметьте, если хотите состоять в числе возможных производителей дел (ПД). - + Hosting cases: Проведение дел: - + If you're a CM, enter what cases you are willing to host. Если вы производитель дел (ПД), укажите, какими делами вы хотите заниматься. - + Automatic Logging: Авт. сохранение истории: - + If checked, all logs will be automatically written in the /logs folder. Автоматически сохранять всю историю чатов в папке /logs. @@ -709,28 +810,28 @@ Reason: Пароль - + Spectator Зритель - - + + Search Поиск - + Passworded Защищён паролем - + Taken Занят - + Generating chars: %1/%2 Генерация персонажей: @@ -743,53 +844,53 @@ Reason: - + Showname Имя - + Message Сообщение - + Name Никнейм - + Pre Пред. анимация - + Flip Отразить - + Guard Не беспокоить - + Additive Дополнять - - + + Casing Заседания - + Shownames Польз. имена - + Immediate Говорить сразу @@ -822,7 +923,7 @@ Reason: В общем-то, это ни на что не влияет... - + 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 Укажите имя файла с делом (без расширения) для загрузки. @@ -830,61 +931,70 @@ Cases you can load: %1 Вы можете загрузить следующие дела: %1 - + Case made by %1. Автор дела: %1. - + Navigate to %1 for the CM doc. Откройте %1 для получения материалов дела. - + Your case "%1" was loaded! Ваше дело "%1" было загружено! - - + + Server Сервер - - - - + + + None Нет - + % x offset % сдвига по горизонтали - + % y offset % сдвига по вертикали - + + Log goes down + + + + + Log goes up + + + + Change the horizontal percentage offset of your character's position from the center of the screen. Изменить сдвиг персонажа по горизонтали относительно центра экрана. - + Change the vertical percentage offset of your character's position from the center of the screen. Изменить сдвиг персонажа по вертикали относительно центра экрана. - + Reset your character's supplementary background to its default. Сбросить фон вашего персонажа. - + Set an 'iniswap', or an alternative character folder to refer to from your current character. Edit by typing and pressing Enter, [X] to remove. This saves to your base/iniswaps.ini Включить т.н. подмену ini – альтернативную папку персонажа, к которой будет обращаться текущий персонаж. @@ -892,241 +1002,247 @@ Edit by typing and pressing Enter, [X] to remove. This saves to your base/iniswa Изменения сохраняются по следующему пути: base/iniswaps.ini - + Remove the currently selected sound effect. Удалить выбранный звуковой эффект. - + Hold It! Стоп! - - - + + + When this is turned on, your next in-character message will be a shout! Когда эта опция включена, ваше следующее сообщение в игровом чате будет с возгласом! - + Objection! Протестую! - + Take That! Вот! - + Toggle between server chat and global AO2 chat. Переключатель между чатом сервера и общим чатом AO2. - - - - + + + + This will display the animation in the viewport as soon as it is pressed. Анимация будет показана в игровом чате сразу после нажатия. - + Guilty! Виновен! - + Bring up the Character Select Screen and change your character. Перейти на экран выбора и сменить персонажа. - + Refresh the theme and update all of the ui elements to match. Перезагрузить тему и обновить все элементы интерфейса. - + Request the attention of the current server's moderator. Привлечь внимание модератора сервера. - + Allows you to change various aspects of the client. Изменить параметры работы приложения. - + An interface to help you announce a case (you have to be a CM first to be able to announce cases) Открыть окно, которое позволит вам объявить о деле (для этого нужно быть производителем дел (ПД)) - + Switch between Areas and Music lists Переключиться между списками музыки и локаций. - + Play a single-shot animation as defined by the emote when checked. Показать разовую предварительную анимацию, соответствующую выбранной эмоции. - + If preanim is checked, display the input text immediately as the animation plays concurrently. Если включена предварительная анимация: выводить текст, не дожидаясь окончания предварительной анимации. - + Mirror your character's emotes when checked. Отразить анимации персонажа по горизонтали. - + Add text to your last spoken message when checked. Добавлять текст к своему последнему сообщению. - + Do not listen to mod calls when checked, preventing them from playing sounds or focusing attention on the window. Заглушить вызовы модератора: вы не будете получать звуковые оповещения, а окно приложения не будет привлекать к себе внимание. - + Lets you receive case alerts when enabled. (You can set your preferences in the Settings!) Получать уведомления о заседаниях. (См. подробнее в настройках) - + Display customized shownames for all users when checked. Показывать пользовательские имена для всех игроков. - + Custom Shout! Пользовательский возглас! - + This will display the custom character-defined animation in the viewport as soon as it is pressed. To make one, your character's folder must contain custom.[webp/apng/gif/png] and custom.[wav/ogg/opus] sound effect Показать в игровом чате уникальную для персонажа анимацию сразу после нажатия. Для добавления такой анимации поместите в папку персонажа файлы custom.webp/apng/gif/png и custom.wav/ogg/opus. - + Play realization sound and animation in the viewport on the next spoken message when checked. Показать вспышку и воспроизвести звук озарения во время вывода следующей реплики. - + Shake the screen on next spoken message when checked. Потрясти экран во время вывода следующей реплики. - + Display the list of character folders you wish to mute. Выбрать персонажей, которых нужно игнорировать. - - + + Increase the health bar. Поощрить - - + + Decrease the health bar. Оштрафовать - + Change the text color of the spoken message. You can also select a part of your currently typed message and use the dropdown to change its color! Изменить цвет текста сообщения. Вы также можете выделить часть текста и изменить только её цвет в выпадающем меню. - + Back to Lobby Назад в лобби - + + Login unsuccessful. + + + + + You were logged out. + + + + HOLD IT! СТОП! - + OBJECTION! ПРОТЕСТУЮ! - + TAKE THAT! ВОТ! - + CUSTOM OBJECTION! СВОЮ РЕПЛИКУ! - - - - + + + + shouts выкрикнул(а) - - - + + + has presented evidence предъявил(а) улику - - - + + + has stopped the music остановил(а) музыку - - + [STREAM] %1 [ТРАНСЛЯЦИЯ] %1 - - + [MISSING] %1 [НЕ НАЙДЕНО] %1 - - + + has played a song включил(а) композицию - You will now pair up with %1 if they also choose your character in return. - Вы встанете рядом с %1, если он(а) выберет вашего персонажа. + Вы встанете рядом с %1, если он(а) выберет вашего персонажа. - You have set your offset to %1%%. - Сдвиг вашего персонажа: %1%%. + Сдвиг вашего персонажа: %1%%. Rainbow @@ -1145,17 +1261,17 @@ You can also select a part of your currently typed message and use the dropdown % сдвига - + To front Спереди - + To behind Сзади - + Select a character you wish to pair with. Выберите персонажа, рядом с которым хотите встать. @@ -1164,27 +1280,27 @@ You can also select a part of your currently typed message and use the dropdown Изменить процент сдвига вашего персонажа относительно центра экрана. - + Change the order of appearance for your character. Переместить вашего персонажа вперёд или назад относительно партнёра. - + Display the list of characters to pair with. Показать список персонажей, с которыми можно встать рядом. - + Oops, you're muted! Вам запретили отправлять сообщения. - + Set your character's emote to play on your next message. Выберите эмоцию для отображения при выводе вашего следующего сообщения. - + Set your character's supplementary background. Установить фон для вашего персонажа. @@ -1196,12 +1312,12 @@ Edit by typing and pressing Enter, [X] to remove. This saves to your base/charac Изменения сохраняются по следующему пути: base/characters/<имя_персонажа>/iniswaps.ini - + Remove the currently selected iniswap from the list and return to the original character folder. Удалить выбранного для подмены ini персонажа и вернуться к папке изначально выбранного персонажа. - + Set a sound effect to play on your next 'Preanim'. Leaving it on Default will use the emote-defined sound (if any). Edit by typing and pressing Enter, [X] to remove. This saves to your base/characters/<charname>/soundlist.ini Выберите звук, который нужно воспроизвести со следующей пред. анимацией. @@ -1210,7 +1326,7 @@ Edit by typing and pressing Enter, [X] to remove. This saves to your base/charac Изменения сохраняются по следующему пути: base/characters/<имя_персонажа>/soundlist.ini - + Choose an effect to play on your next spoken message. The effects are defined in your theme/effects/effects.ini. Your character can define custom effects by char.ini [Options] category, effects = 'miscname' where it referes to misc/<miscname>/effects.ini to read the effects. @@ -1219,73 +1335,75 @@ char.ini [Options] category, effects = 'miscname' where it referes to в категории [Options] файла char.ini, effects = 'название', что отсылает к файлу misc/<название>/effects.ini. - + Music Музыка - + Sfx Звук. эффекты - + Blips Сигналы - + Change character Сменить персонажа - + Reload theme Перезагрузить тему - + Call mod Позвать модератора - + Settings Настройки - + A/M Л/М - + Preanim Пред. анимации - + Return back to the server list. Вернуться к списку серверов. - + Become a spectator. You won't be able to interact with the in-character screen. Зайти в качестве зрителя. Вы не сможете взаимодействовать с игровым чатом. - + You were granted the Disable Modcalls button. Теперь у вас есть кнопка "Не беспокоить". - - + + + + CLIENT КЛИЕНТ - + You have been banned. Вас забанили. @@ -1294,9 +1412,8 @@ char.ini [Options] category, effects = 'miscname' where it referes to Теперь у вас есть кнопка "Охрана". - You opened the settings menu. - Вы открыли меню настроек. + Вы открыли меню настроек. You will now pair up with @@ -1307,181 +1424,168 @@ char.ini [Options] category, effects = 'miscname' where it referes to (если он выберет вас в ответ). - You are no longer paired with anyone. - Вы больше не стоите рядом ни с кем. + Вы больше не стоите рядом ни с кем. - Are you sure you typed that well? The char ID could not be recognised. - Убедитесь в правильности введённой информации: персонаж с таким ID не найден. + Убедитесь в правильности введённой информации: персонаж с таким ID не найден. You have set your offset to Вы установили сдвиг персонажа на - Your offset must be between -100% and 100%! - Сдвиг персонажа должен быть между -100% и 100%! + Сдвиг персонажа должен быть между -100% и 100%! - That offset does not look like one. - Неверный сдвиг персонажа. + Неверный сдвиг персонажа. - You have set your vertical offset to %1%%. - Сдвиг вашего персонажа по вертикали: %1%%. + Сдвиг вашего персонажа по вертикали: %1%%. - Your vertical offset must be between -100% and 100%! - Сдвиг персонажа по вертикали должен быть между -100% и 100%! + Сдвиг персонажа по вертикали должен быть между -100% и 100%! - That vertical offset does not look like one. - Неверный сдвиг персонажа по вертикали. + Неверный сдвиг персонажа по вертикали. - You switched your music and area list. - Вы переключились между списками локаций и музыки. + Вы переключились между списками локаций и музыки. - You have forcefully enabled features that the server may not support. You may not be able to talk IC, or worse, because of this. - Из-за того, что вы включили не поддерживаемые сервером возможности, он может не принять ваши сообщения. + Из-за того, что вы включили не поддерживаемые сервером возможности, он может не принять ваши сообщения. Возможны и менее приятные последствия. - Your pre-animations interrupt again. - Персонаж будет говорить только после предварительной анимации. + Персонаж будет говорить только после предварительной анимации. - Your pre-animations will not interrupt text. - Предварительные анимации не будут прерывать вывод текста. + Предварительные анимации не будут прерывать вывод текста. - Couldn't open chatlog.txt to write into. - Невозможно открыть chatlog.txt для записи. + Невозможно открыть chatlog.txt для записи. - The IC chatlog has been saved. - История игрового чата сохранена. + История игрового чата сохранена. - + You don't have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it's likely the case file you're looking for can't be found in there. Файл с делом не найден. Если найдёте, положите его в папку `base/cases/`, которую мы для вас создали. - + Too many arguments to load a case! You only need one filename, without extension. Не удалось загрузить дело! Введите имя файла без расширения. + - - - + + UNKNOWN н/д - + You don't have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it's likely that you somehow deleted it. Папка `base/cases/` отсутствует. Она была создана. - + You need to give a filename to save (extension not needed) and the courtroom status! Введите имя файла (без расширения) и укажите статус зала суда. - + Too many arguments to save a case! You only need a filename without extension and the courtroom status! Убедитесь, что имя файла введено без расширения и указан статус зала суда. - + Succesfully saved, edit doc and cmdoc link on the ini! Сохранение прошло успешно. Ссылки на документы можно редактировать в ini. - + Master Мастер - + Stop Current Song Прервать текущую композицию - + Play Random Song Включить случайную композицию - + Expand All Categories Развернуть все категории - + Collapse All Categories Свернуть все категории - + Fade Out Previous Постепенное затухание предыдущей композиции - + Fade In Постепенное нарастание - + Synchronize Синхронизировать - + Default по умолчанию - + Reason: Причина: - + Call Moderator Вызов модератора - + Error Ошибка - + You must provide a reason. Укажите причину. - + The message is too long. Слишком длинное сообщение. @@ -1490,86 +1594,95 @@ char.ini [Options] category, effects = 'miscname' where it referes to Выбрать... - + Present this piece of evidence to everyone on your next spoken message Показать эту улику всем присутствующим вместе с вашим следующим сообщением. - + Save evidence to an .ini file. Сохранить улику в файл .ini. - + Load evidence from an .ini file. Загрузить улику из файла .ini. - + Destroy this piece of evidence Уничтожить эту улику. - + Choose.. Выбрать... - + Close the evidence display/editing overlay. You will be prompted if there's any unsaved changes. Закрыть окно редактирования улики. Если вы не сохранили изменения, то увидите диалоговое окно. - + Save any changes made to this piece of evidence and send them to server. Сохранить все изменения, внесённые в улику, и отправить её на сервер. - Double-click to edit. Press [X] to update your changes. - Редактирование по двойному клику. Нажмите [X] для обновления. + Редактирование по двойному клику. Нажмите [X] для обновления. - + + Click the pencil icon to edit. Press [X] to update your changes. + + + + + Edit this piece of evidence. + + + + Bring up the Evidence screen. Открыть окно управления уликами. - + Switch evidence to private inventory. Перейти к своему списку. - + Switch evidence to global inventory. Перейти к общему списку. - - + + Transfer evidence to private inventory. Перенести улику в свой список. - - + + Transfer evidence to global inventory. Перенести улику в общий список. - + The piece of evidence you've been editing has changed. В улику, которую вы редактировали, были внесены изменения. - + Do you wish to keep your changes? Хотите сохранить внесённые изменения? - + Name: %1 Image: %2 Description: @@ -1580,60 +1693,64 @@ Description: %3 - + Images (*.png) Изображения (*.png) - - - - Double-click to edit... - Редактирование по двойному клику... + + + + Click the pencil to edit... + - + Double-click to edit... + Редактирование по двойному клику... + + + Add new evidence... Добавить новую улику... - + Evidence has been modified. Улика была изменена. - + Do you want to save your changes? Хотите сохранить внесённые изменения? - + Current evidence is global. Click to switch to private. Вы видите общий список улик. Нажмите здесь для просмотра своих улик. - + Current evidence is private. Click to switch to global. Вы видите свой список улик. Нажмите здесь для просмотра общих улик. - + "%1" has been transferred. Улика "%1" была перенесена. - + Save Inventory Сохранить список улик - - + + Ini Files (*.ini) Файлы ini (*.ini) - + Open Inventory Загрузить список улик @@ -1642,78 +1759,140 @@ Description: DemoServer - + Load Demo Загрузить демо - + Demo Files (*.demo) Файлы демо (*.demo) + + + + Demo file loaded. Send /play or > in OOC to begin playback. + + + + + Resuming playback. + + + + + Pausing playback. + + + + + Setting max_wait to + + + + + + milliseconds. + + + + + Not a valid integer! + + + + + Current max_wait is + + + + + Current demo file reloaded. Send /play or > in OOC to begin playback. + + + + + min_wait is deprecated. Use the client Settings for minimum wait instead! + + + + + Available commands: +load, reload, play, pause, max_wait, help + + + + + Reached the end of the demo file. Send /play or > in OOC to restart, or /load to open a new file. + + Lobby - - Attorney Online 2 - Attorney Online 2 + Attorney Online + Attorney Online - + + Attorney Online %1 + Attorney Online %1 + + + Search Поиск - + Name Никнейм - + It doesn't look like your client is set up correctly. Did you download all resources correctly from tiny.cc/getao, including the large 'base' folder? Кажется, ваш клиент неправильно настроен. Вы точно скачали все ресурсы с tiny.cc/getao, включая огромную папку `base`? - + Version: %1 Версия: %1 - + Settings Настройки - + Allows you to change various aspects of the client. Изменить параметры работы приложения. - + Loading Загрузка - + Cancel Отмена - + <h2>Attorney Online %1</h2>The courtroom drama simulator.<p><b>Source code:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Major development:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter, Crystalwarrior, Iamgoofball, in1tiate<p><b>Client development:</b><br>Cents02, windrammer, skyedeving<p><b>QA testing:</b><br>CaseyCazy, CedricDewitt, Chewable Tablets, CrazyJC, Fantos, Fury McFlurry, Geck, Gin-Gi, Jamania, Minx, Pandae, Robotic Overlord, Shadowlions (aka Shali), Sierra, SomeGuy, Veritas, Wiso<p><b>Translations:</b><br>k-emiko (Русский), Pyraq (Polski), scatterflower (日本語), vintprox (Русский), windrammer (Español, Português)<p><b>Special thanks:</b><br>CrazyJC (2.8 release director) and MaximumVolty (2.8 release promotion); Remy, Hibiki, court-records.net (sprites); Qubrick (webAO); Rue (website); Draxirch (UI design); Lewdton and Argoneus (tsuserver); Fiercy, Noevain, Cronnicossy, and FanatSors (AO1); server hosts, game masters, case makers, content creators, and the whole AO2 community!<p>The Attorney Online networked visual novel project is copyright (c) 2016-2021 Attorney Online developers. Open-source licenses apply. All other assets are the property of their respective owners.<p>Running on Qt version %2 with the BASS audio engine.<br>APNG plugin loaded: %3<p>Built on %4 <h2>Attorney Online %1</h2>Симулятор драмы в зале суда.<p><b>Исходный код:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Основная разработка:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter, Crystalwarrior, Iamgoofball, in1tiate<p><b>Разработка клиента:</b><br>Cents02, windrammer, skyedeving<p><b>Тестирование:</b><br>CaseyCazy, CedricDewitt, Chewable Tablets, CrazyJC, Fantos, Fury McFlurry, Geck, Gin-Gi, Jamania, Minx, Pandae, Robotic Overlord, Shadowlions (aka Shali), Sierra, SomeGuy, Veritas, Wiso<p><b>Translations:</b><br>k-emiko (Русский), Pyraq (Polski), scatterflower (日本語), vintprox (Русский), windrammer (Español, Português)<p><b>Благодарности:</b><br>CrazyJC (директор по выпуску версии 2.8) и MaximumVolty (продвижение версии 2.8); Remy, Hibiki, court-records.net (спрайты); Qubrick (webAO); Rue (вебсайт); Draxirch (дизайн интерфейса); Lewdton and Argoneus (tsuserver); Fiercy, Noevain, Cronnicossy, and FanatSors (AO1); держатели серверов, ГМ, ПД, создатели контента, и всё сообщество AO2!<p>Проект сетевой визуальной новеллы Attorney Online (c) 2016-2021 разработчики Attorney Online. Применяется лицензия на открытое ПО. Все прочие файлы являются собственностью их владельцев.<p>Работает на Qt версии %2 с аудио-движком BASS.<br>Плагин APNG загружен: %3<p>Сборка от %4 - + Yes Да - + No Нет @@ -1722,7 +1901,7 @@ Did you download all resources correctly from tiny.cc/getao, including the large <h2>Attorney Online %1</h2>Симулятор драмы в зале суда<p><b>Исходный код:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Основная разработка:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter, Crystalwarrior, Iamgoofball<p><b>Разработка клиента:</b><br>Cents02, in1tiate, raidensnake, windrammer<p><b>Тестирование:</b><br>CaseyCazy, CedricDewitt, Chewable Tablets, CrazyJC, Fantos, Fury McFlurry, Geck, Gin-Gi, Jamania, Minx, Pandae, Robotic Overlord, Shadowlions (aka Shali), Sierra, SomeGuy, Veritas, Wiso<p><b>Благодарности:</b><br>CrazyJC (директор по выпуску версии 2.8) и MaximumVolty (продвижение версии 2.8); Remy, Hibiki, court-records.net (спрайты); Qubrick (webAO); Rue (вебсайт); Draxirch (дизайн интерфейса); Lewdton and Argoneus (tsuserver); Fiercy, Noevain, Cronnicossy, и FanatSors (AO1); держатели серверов, ГМ, ПД, создатели контента, и всё сообщество AO2!<p>Проект сетевой визуальной новеллы Attorney Online (c) 2016-2020 разработчики Attorney Online. Применяется лицензия на открытое ПО. Все прочие файлы являются собственностью их владельцев.<p>Работает на Qt версии %2 с аудио-движком %3.<p>Сборка от %4 - + About О программе @@ -1731,13 +1910,13 @@ Did you download all resources correctly from tiny.cc/getao, including the large <h2>Attorney Online %1</h2>Симулятор судебной драмы<p><b>Исходный код:</b> <a href='https://github.com/AttorneyOnline/AO2-Client'>https://github.com/AttorneyOnline/AO2-Client</a><p><b>Основной разработкой занимались:</b><br>OmniTroid, stonedDiscord, longbyte1, gameboyprinter, Cerapter<p><b>Особенная благодарность:</b><br>Remy, Iamgoofball, Hibiki, Qubrick (webAO), Ruekasu (дизайн интерфейса), Draxirch (дизайн интерфейса), Unishred, Argoneus (tsuserver), Fiercy, Noevain, Cronnicossy - + Online: %1/%2 Онлайн: %1/%2 - - + + Offline Не в сети @@ -1759,17 +1938,17 @@ Did you download all resources correctly from tiny.cc/getao, including the large debug_functions - + Error: %1 Ошибка: %1 - + Error Ошибка - + Notice Уведомление diff --git a/src/aoapplication.cpp b/src/aoapplication.cpp index 3d37c32..3a91aec 100644 --- a/src/aoapplication.cpp +++ b/src/aoapplication.cpp @@ -8,6 +8,15 @@ #include "aocaseannouncerdialog.h" #include "aooptionsdialog.h" +static QtMessageHandler original_message_handler; +static AOApplication *message_handler_context; +void message_handler(QtMsgType type, const QMessageLogContext &context, + const QString &msg) +{ + emit message_handler_context->qt_log_message(type, context, msg); + original_message_handler(type, context, msg); +} + AOApplication::AOApplication(int &argc, char **argv) : QApplication(argc, argv) { // Create the QSettings class that points to the config.ini. @@ -18,6 +27,9 @@ AOApplication::AOApplication(int &argc, char **argv) : QApplication(argc, argv) discord = new AttorneyOnline::Discord(); asset_lookup_cache.reserve(2048); + + message_handler_context = this; + original_message_handler = qInstallMessageHandler(message_handler); } AOApplication::~AOApplication() @@ -26,12 +38,13 @@ AOApplication::~AOApplication() destruct_courtroom(); delete discord; delete configini; + qInstallMessageHandler(original_message_handler); } void AOApplication::construct_lobby() { if (lobby_constructed) { - qDebug() << "W: lobby was attempted constructed when it already exists"; + qWarning() << "lobby was attempted constructed when it already exists"; return; } @@ -56,7 +69,7 @@ void AOApplication::construct_lobby() void AOApplication::destruct_lobby() { if (!lobby_constructed) { - qDebug() << "W: lobby was attempted destructed when it did not exist"; + qWarning() << "lobby was attempted destructed when it did not exist"; return; } @@ -68,7 +81,7 @@ void AOApplication::destruct_lobby() void AOApplication::construct_courtroom() { if (courtroom_constructed) { - qDebug() << "W: courtroom was attempted constructed when it already exists"; + qWarning() << "courtroom was attempted constructed when it already exists"; return; } @@ -85,14 +98,14 @@ void AOApplication::construct_courtroom() w_courtroom, &Courtroom::skip_clocks); } else { - qDebug() << "W: demo server did not exist during courtroom construction"; + qWarning() << "demo server did not exist during courtroom construction"; } } void AOApplication::destruct_courtroom() { if (!courtroom_constructed) { - qDebug() << "W: courtroom was attempted destructed when it did not exist"; + qWarning() << "courtroom was attempted destructed when it did not exist"; return; } @@ -203,7 +216,7 @@ void AOApplication::initBASS() BASS_Init(static_cast(a), 48000, BASS_DEVICE_LATENCY, nullptr, nullptr); load_bass_opus_plugin(); - qDebug() << info.name << "was set as the default audio output device."; + qInfo() << info.name << "was set as the default audio output device."; return; } } diff --git a/src/aoemotebutton.cpp b/src/aoemotebutton.cpp index 638d49d..82149af 100644 --- a/src/aoemotebutton.cpp +++ b/src/aoemotebutton.cpp @@ -25,11 +25,27 @@ void AOEmoteButton::set_image(QString p_image, QString p_emote_comment) "\") 0 0 0 0 stretch stretch; }" "QToolTip { color: #000000; background-color: #ffffff; border: 0px; }"); } - else if ((p_image.contains("_on") && - file_exists(tmp_p_image.replace("_on", "_off"))) || - (p_image.contains("_off") && - file_exists(tmp_p_image.replace("_off", "_on")))) { - QImage tmpImage(tmp_p_image); + else { + this->setText(p_emote_comment); + this->setStyleSheet("QPushButton { border-image: url(); }" + "QToolTip { background-image: url(); color: #000000; " + "background-color: #ffffff; border: 0px; }"); + } +} + +void AOEmoteButton::set_char_image(QString p_char, int p_emote, bool on) +{ + QString emotion_number = QString::number(p_emote + 1); + QStringList suffixes { "_off", "_on" }; + QStringList suffixedPaths; + for (const QString &suffix : suffixes) { + suffixedPaths.append(ao_app->get_image_suffix(ao_app->get_character_path( + p_char, "emotions/button" + emotion_number + suffix))); + } + + QString emoteComment = ao_app->get_emote_comment(p_char, p_emote); + if (!file_exists(suffixedPaths[on]) && file_exists(suffixedPaths[!on])) { + QImage tmpImage(suffixedPaths[!on]); tmpImage = tmpImage.convertToFormat(QImage::Format_ARGB32); QPoint p1, p2; p2.setY(tmpImage.height()); @@ -46,25 +62,13 @@ void AOEmoteButton::set_image(QString p_image, QString p_emote_comment) p.fillRect(0, 0, tmpImage.width(), tmpImage.height(), gradient); p.end(); - tmpImage.save(p_image, "png"); - set_image(p_image, p_emote_comment); - } - else { - this->setText(p_emote_comment); - this->setStyleSheet("QPushButton { border-image: url(); }" - "QToolTip { background-image: url(); color: #000000; " - "background-color: #ffffff; border: 0px; }"); - } -} -void AOEmoteButton::set_char_image(QString p_char, int p_emote, QString suffix) -{ - QString emotion_number = QString::number(p_emote + 1); - QString image_path = - ao_app->get_image_suffix(ao_app->get_character_path( - p_char, "emotions/button" + emotion_number + suffix)); + // Original suffixed path may be empty, so create the path again + suffixedPaths[on] = QString(suffixedPaths[!on]).replace(suffixes[!on], suffixes[on]); + tmpImage.save(suffixedPaths[on], "png"); + } - this->set_image(image_path, ao_app->get_emote_comment(p_char, p_emote)); + set_image(suffixedPaths[on], emoteComment); } void AOEmoteButton::on_clicked() { emit emote_clicked(m_id); } diff --git a/src/aoimage.cpp b/src/aoimage.cpp index 82e17b9..b84a279 100644 --- a/src/aoimage.cpp +++ b/src/aoimage.cpp @@ -30,7 +30,7 @@ bool AOImage::set_image(QString p_image, QString p_misc) ao_app->default_theme, p_misc, "", "", is_static || !ao_app->get_animated_theme()); if (!file_exists(p_image)) { - qDebug() << "Warning: Image" << p_image << "not found! Can't set!"; + qWarning() << "Image" << p_image << "not found! Can't set!"; return false; } path = p_image; diff --git a/src/aolayer.cpp b/src/aolayer.cpp index dd1fe76..1587d28 100644 --- a/src/aolayer.cpp +++ b/src/aolayer.cpp @@ -437,7 +437,7 @@ void CharLayer::load_network_effects() continue; int f_frame = frame_split.at(0).toInt(); if (f_frame >= max_frames || f_frame < 0) { - qDebug() << "Warning: out of bounds" << effects_list[i] << "frame" + qWarning() << "out of bounds" << effects_list[i] << "frame" << f_frame << "out of" << max_frames << "for" << m_emote; continue; } @@ -461,7 +461,7 @@ void CharLayer::load_network_effects() void CharLayer::play_frame_effect(int p_frame) { if (p_frame >= movie_effects.size()) { - qDebug() << "W: Attempted to play a frame effect bigger than the size of movie_effects"; + qWarning() << "Attempted to play a frame effect bigger than the size of movie_effects"; return; } if (p_frame < max_frames) { diff --git a/src/aomusicplayer.cpp b/src/aomusicplayer.cpp index d0d9563..16d6df7 100644 --- a/src/aomusicplayer.cpp +++ b/src/aomusicplayer.cpp @@ -13,12 +13,13 @@ AOMusicPlayer::~AOMusicPlayer() } } -int AOMusicPlayer::play(QString p_song, int channel, bool loop, +QString AOMusicPlayer::play(QString p_song, int channel, bool loop, int effect_flags) { + QFuture invoking_future = music_watcher.future(); channel = channel % m_channelmax; if (channel < 0) // wtf? - return BASS_ERROR_NOCHAN; + return "[ERROR] Invalid Channel"; QString f_path = ao_app->get_real_path(ao_app->get_music_path(p_song)); unsigned int flags = BASS_STREAM_PRESCAN | BASS_STREAM_AUTOFREE | @@ -43,6 +44,14 @@ int AOMusicPlayer::play(QString p_song, int channel, bool loop, newstream = BASS_StreamCreateFile(FALSE, f_path.utf16(), 0, 0, flags); } + int error_code = BASS_ErrorGetCode(); + + if (invoking_future.isCanceled() && channel == 0) { + // Target future has changed. This stream has become irrelevant. + // So even if the stream manages to finish after the latest one, we don't run + // into order issues. + return QString(); + } if (ao_app->get_audio_output_device() != "default") BASS_ChannelSetDevice(m_stream_list[channel], BASS_GetDevice()); @@ -109,7 +118,7 @@ int AOMusicPlayer::play(QString p_song, int channel, bool loop, BASS_ChannelStop(m_stream_list[channel]); m_stream_list[channel] = newstream; - BASS_ChannelPlay(m_stream_list[channel], false); + BASS_ChannelPlay(newstream, false); if (effect_flags & FADE_IN) { // Fade in our sample BASS_ChannelSetAttribute(newstream, BASS_ATTRIB_VOL, 0); @@ -120,12 +129,32 @@ int AOMusicPlayer::play(QString p_song, int channel, bool loop, else this->set_volume(m_volume[channel], channel); - BASS_ChannelSetSync(m_stream_list[channel], BASS_SYNC_DEV_FAIL, 0, + BASS_ChannelSetSync(newstream, BASS_SYNC_DEV_FAIL, 0, ao_app->BASSreset, 0); this->set_looping(loop, channel); // Have to do this here due to any // crossfading-related changes, etc. - return BASS_ErrorGetCode(); + + bool is_stop = (p_song == "~stop.mp3"); + QString p_song_clear = QUrl(p_song).fileName(); + p_song_clear = p_song_clear.left(p_song_clear.lastIndexOf('.')); + + if (is_stop) { + return QObject::tr("None"); + } + + if (error_code == BASS_ERROR_HANDLE) { // Cheap hack to see if file missing + return QObject::tr("[MISSING] %1").arg(p_song_clear); + } + + if (p_song.startsWith("http") && channel == 0) { + return QObject::tr("[STREAM] %1").arg(p_song_clear); + } + + if (channel == 0) + return p_song_clear; + + return ""; } void AOMusicPlayer::stop(int channel) diff --git a/src/aooptionsdialog.cpp b/src/aooptionsdialog.cpp index 7413db3..5fd80b7 100644 --- a/src/aooptionsdialog.cpp +++ b/src/aooptionsdialog.cpp @@ -584,6 +584,28 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app) ui_gameplay_form->setWidget(row, QFormLayout::FieldRole, ui_category_stop_cb); + //Check whether mass logging is enabled + row += 1; + ui_log_text_lbl = new QLabel(ui_form_layout_widget); + ui_log_text_lbl->setText(tr("Log to Text Files:")); + ui_log_text_lbl->setToolTip( + tr("Text logs of gameplay will be automatically written in the /logs folder.")); + ui_gameplay_form->setWidget(row, QFormLayout::LabelRole, ui_log_text_lbl); + + ui_log_text_cb = new QCheckBox(ui_form_layout_widget); + ui_gameplay_form->setWidget(row, QFormLayout::FieldRole, ui_log_text_cb); + + row += 1; + ui_log_demo_lbl = new QLabel(ui_form_layout_widget); + ui_log_demo_lbl->setText(tr("Log to Demo Files:")); + ui_log_demo_lbl->setToolTip( + tr("Gameplay will be automatically recorded as demos in the /logs folder.")); + ui_gameplay_form->setWidget(row, QFormLayout::LabelRole, ui_log_demo_lbl); + + ui_log_demo_cb = new QCheckBox(ui_form_layout_widget); + ui_gameplay_form->setWidget(row, QFormLayout::FieldRole, ui_log_demo_cb); + + // Finish gameplay tab QScrollArea *scroll = new QScrollArea(this); scroll->setWidget(ui_form_layout_widget); ui_gameplay_tab->setLayout(new QVBoxLayout); @@ -922,19 +944,6 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app) ui_casing_layout->setWidget(row, QFormLayout::FieldRole, ui_casing_cm_cases_textbox); - //Check whether mass logging is enabled - row += 1; - ui_log_lbl = new QLabel(ui_casing_widget); - ui_log_lbl->setText(tr("Automatic Logging:")); - ui_log_lbl->setToolTip( - tr("If checked, all logs will be automatically written in the " - "/logs folder.")); - - ui_casing_layout->setWidget(row, QFormLayout::LabelRole, ui_log_lbl); - - ui_log_cb = new QCheckBox(ui_casing_widget); - - ui_casing_layout->setWidget(row, QFormLayout::FieldRole, ui_log_cb); // Assets tab ui_assets_tab = new QWidget(this); @@ -1148,7 +1157,8 @@ void AOOptionsDialog::update_values() { ui_casing_jur_cb->setChecked(ao_app->get_casing_juror_enabled()); ui_casing_steno_cb->setChecked(ao_app->get_casing_steno_enabled()); ui_casing_cm_cb->setChecked(ao_app->get_casing_cm_enabled()); - ui_log_cb->setChecked(ao_app->get_auto_logging_enabled()); + ui_log_text_cb->setChecked(ao_app->get_text_logging_enabled()); + ui_log_demo_cb->setChecked(ao_app->get_demo_logging_enabled()); ui_length_spinbox->setValue(ao_app->get_max_log_size()); ui_log_margin_spinbox->setValue(ao_app->get_log_margin()); ui_stay_time_spinbox->setValue(ao_app->stay_time()); @@ -1215,7 +1225,8 @@ void AOOptionsDialog::save_pressed() configini->setValue("stickypres", ui_stickypres_cb->isChecked()); configini->setValue("customchat", ui_customchat_cb->isChecked()); configini->setValue("sticker", ui_sticker_cb->isChecked()); - configini->setValue("automatic_logging_enabled", ui_log_cb->isChecked()); + configini->setValue("automatic_logging_enabled", ui_log_text_cb->isChecked()); + configini->setValue("demo_logging_enabled", ui_log_demo_cb->isChecked()); configini->setValue("continuous_playback", ui_continuous_cb->isChecked()); configini->setValue("category_stop", ui_category_stop_cb->isChecked()); QFile *callwordsini = new QFile(ao_app->get_base_path() + "callwords.ini"); diff --git a/src/aotextarea.cpp b/src/aotextarea.cpp index 52e32f5..3513d22 100644 --- a/src/aotextarea.cpp +++ b/src/aotextarea.cpp @@ -11,7 +11,7 @@ void AOTextArea::append_linked(QString p_message) } void AOTextArea::append_chatmessage(QString p_name, QString p_message, - QString p_colour) + QString p_name_colour, QString p_color) { const QTextCursor old_cursor = this->textCursor(); const int old_scrollbar_value = this->verticalScrollBar()->value(); @@ -21,15 +21,22 @@ void AOTextArea::append_chatmessage(QString p_name, QString p_message, this->moveCursor(QTextCursor::End); this->append(""); - this->insertHtml("" + p_name.toHtmlEscaped() + - ": "); + if (!p_name.isEmpty()) { + this->insertHtml("" + p_name.toHtmlEscaped() + + ": "); + + // cheap workarounds ahoy + p_message += " "; + } - // cheap workarounds ahoy - p_message += " "; QString result = p_message.toHtmlEscaped() .replace("\n", "
") .replace(url_parser_regex, "\\1"); + if (!p_color.isEmpty()) { + result = "" + result + ""; + } + this->insertHtml(result); this->auto_scroll(old_cursor, old_scrollbar_value, is_scrolled_down); diff --git a/src/charselect.cpp b/src/charselect.cpp index 8928f44..3109558 100644 --- a/src/charselect.cpp +++ b/src/charselect.cpp @@ -82,7 +82,7 @@ void Courtroom::set_char_select() ao_app->get_element_dimensions("char_select", filename); if (f_charselect.width < 0 || f_charselect.height < 0) { - qDebug() << "W: did not find char_select width or height in " + qWarning() << "did not find char_select width or height in " "courtroom_design.ini!"; this->setFixedSize(714, 668); } diff --git a/src/courtroom.cpp b/src/courtroom.cpp index e549526..1f8b3da 100644 --- a/src/courtroom.cpp +++ b/src/courtroom.cpp @@ -27,6 +27,8 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow() music_player = new AOMusicPlayer(this, ao_app); music_player->set_volume(0); + connect(&music_player->music_watcher, &QFutureWatcher::finished, + this, &Courtroom::update_ui_music_name, Qt::QueuedConnection); sfx_player = new AOSfxPlayer(this, ao_app); sfx_player->set_volume(0); @@ -111,11 +113,13 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow() log_timestamp = ao_app->get_log_timestamp(); log_timestamp_format = ao_app->get_log_timestamp_format(); - ui_ms_chatlog = new AOTextArea(this); - ui_ms_chatlog->setReadOnly(true); - ui_ms_chatlog->setOpenExternalLinks(true); - ui_ms_chatlog->hide(); - ui_ms_chatlog->setObjectName("ui_ms_chatlog"); + ui_debug_log = new AOTextArea(this); + ui_debug_log->setReadOnly(true); + ui_debug_log->setOpenExternalLinks(true); + ui_debug_log->hide(); + ui_debug_log->setObjectName("ui_debug_log"); + connect(ao_app, &AOApplication::qt_log_message, + this, &Courtroom::debug_message_handler); ui_server_chatlog = new AOTextArea(this); ui_server_chatlog->setReadOnly(true); @@ -560,7 +564,7 @@ void Courtroom::set_courtroom_size() ao_app->get_element_dimensions("courtroom", filename); if (f_courtroom.width < 0 || f_courtroom.height < 0) { - qDebug() << "W: did not find courtroom width or height in " << filename; + qWarning() << "did not find courtroom width or height in " << filename; this->setFixedSize(714, 668); } @@ -679,7 +683,7 @@ void Courtroom::set_widgets() ao_app->get_element_dimensions("chat_arrow", "courtroom_design.ini"); if (design_ini_result.width < 0 || design_ini_result.height < 0) { - qDebug() << "W: could not find \"chat_arrow\" in courtroom_design.ini"; + qWarning() << "could not find \"chat_arrow\" in courtroom_design.ini"; ui_vp_chat_arrow->hide(); } else { @@ -725,8 +729,9 @@ void Courtroom::set_widgets() ui_ic_chatlog->setPlaceholderText(log_goes_downwards ? "▼ " + tr("Log goes down") + " ▼" : "▲ " + tr("Log goes up") + " ▲"); - set_size_and_pos(ui_ms_chatlog, "ms_chatlog"); - ui_ms_chatlog->setFrameShape(QFrame::NoFrame); + set_size_and_pos(ui_debug_log, "ms_chatlog"); // Old name + set_size_and_pos(ui_debug_log, "debug_log"); // New name + ui_debug_log->setFrameShape(QFrame::NoFrame); set_size_and_pos(ui_server_chatlog, "server_chatlog"); ui_server_chatlog->setFrameShape(QFrame::NoFrame); @@ -786,7 +791,7 @@ void Courtroom::set_widgets() ao_app->get_element_dimensions("music_display", "courtroom_design.ini"); if (design_ini_result.width < 0 || design_ini_result.height < 0) { - qDebug() << "W: could not find \"music_display\" in courtroom_design.ini"; + qWarning() << "could not find \"music_display\" in courtroom_design.ini"; ui_music_display->hide(); } else { @@ -1139,7 +1144,7 @@ void Courtroom::set_fonts(QString p_char) set_font(ui_vp_showname, "", "showname", p_char); set_font(ui_vp_message, "", "message", p_char); set_font(ui_ic_chatlog, "", "ic_chatlog", p_char); - set_font(ui_ms_chatlog, "", "ms_chatlog", p_char); + set_font(ui_debug_log, "", "debug_log", p_char); set_font(ui_server_chatlog, "", "server_chatlog", p_char); set_font(ui_music_list, "", "music_list", p_char); set_font(ui_area_list, "", "area_list", p_char); @@ -1248,7 +1253,7 @@ void Courtroom::set_size_and_pos(QWidget *p_widget, QString p_identifier, QStrin ao_app->get_element_dimensions(p_identifier, filename, p_misc); if (design_ini_result.width < 0 || design_ini_result.height < 0) { - qDebug() << "W: could not find \"" << p_identifier << "\" in " << filename; + qWarning() << "could not find \"" << p_identifier << "\" in " << filename; p_widget->hide(); } else { @@ -1282,7 +1287,7 @@ QPoint Courtroom::get_theme_pos(QString p_identifier) ao_app->get_element_dimensions(p_identifier, filename); if (design_ini_result.width < 0 || design_ini_result.height < 0) { - qDebug() << "W: could not find \"" << p_identifier << "\" in " << filename; + qWarning() << "could not find \"" << p_identifier << "\" in " << filename; return QPoint(0, 0); } else { @@ -1733,12 +1738,27 @@ void Courtroom::list_areas() } } -void Courtroom::append_ms_chatmessage(QString f_name, QString f_message) +void Courtroom::debug_message_handler(QtMsgType type, const QMessageLogContext &context, + const QString &msg) { - ui_ms_chatlog->append_chatmessage( - f_name, f_message, - ao_app->get_color("ms_chatlog_sender_color", "courtroom_fonts.ini") - .name()); + const QMap colors = { + {QtDebugMsg, "debug"}, + {QtInfoMsg, "info"}, + {QtWarningMsg, "warn"}, + {QtCriticalMsg, "critical"}, + {QtFatalMsg, "fatal"} + }; + const QString color_id = QString("debug_log_%1_color").arg(colors.value(type, "info")); + ui_debug_log->append_chatmessage( + QString(), qFormatLogMessage(type, context, msg), + QString(), ao_app->get_color(color_id, "courtroom_fonts.ini").name()); +} + +void Courtroom::append_debug_message(QString f_message) +{ + ui_debug_log->append_chatmessage( + QString(), f_message, + ao_app->get_color("debug_log_color", "courtroom_fonts.ini").name()); } void Courtroom::append_server_chatmessage(QString p_name, QString p_message, @@ -1758,10 +1778,9 @@ void Courtroom::append_server_chatmessage(QString p_name, QString p_message, on_authentication_state_received(1); } - ui_server_chatlog->append_chatmessage(p_name, p_message, color); - if (ao_app->get_auto_logging_enabled() && !ao_app->log_filename.isEmpty()) { + if (ao_app->get_text_logging_enabled() && !ao_app->log_filename.isEmpty()) { QString full = "[OOC][" + QDateTime::currentDateTimeUtc().toString() + "] " + p_name + ": " + p_message; ao_app->append_to_file(full, ao_app->log_filename, true); } @@ -1787,9 +1806,6 @@ void Courtroom::on_chat_return_pressed() if (is_muted) return; - if (text_state < 2 && objection_state == 0) - return; - ui_ic_chat_message->blockSignals(true); QTimer::singleShot(ao_app->get_chat_ratelimit(), this, [=] { ui_ic_chat_message->blockSignals(false); }); @@ -2495,7 +2511,7 @@ void Courtroom::handle_emote_mod(int emote_mod, bool p_immediate) break; default: // This should never happen, but if it does anyway, yell in the console about it. - qDebug() << "W: invalid emote mod: " << QString::number(emote_mod); + qWarning() << "invalid emote mod: " << QString::number(emote_mod); } } @@ -2735,7 +2751,7 @@ void Courtroom::initialize_chatbox() pos_size_type design_ini_result = ao_app->get_element_dimensions( "chat_arrow", "courtroom_design.ini", p_misc); if (design_ini_result.width < 0 || design_ini_result.height < 0) { - qDebug() << "W: could not find \"chat_arrow\" in courtroom_design.ini"; + qWarning() << "could not find \"chat_arrow\" in courtroom_design.ini"; ui_vp_chat_arrow->hide(); } else { @@ -3091,7 +3107,7 @@ void Courtroom::log_ic_text(QString p_name, QString p_showname, { chatlogpiece log_entry(p_name, p_showname, p_message, p_action, p_color); ic_chatlog_history.append(log_entry); - if (ao_app->get_auto_logging_enabled() && !ao_app->log_filename.isEmpty()) + if (ao_app->get_text_logging_enabled() && !ao_app->log_filename.isEmpty()) ao_app->append_to_file(log_entry.get_full(), ao_app->log_filename, true); while (ic_chatlog_history.size() > log_maximum_blocks && @@ -3249,7 +3265,7 @@ void Courtroom::play_preanim(bool immediate) else anim_state = 1; preanim_done(); - qDebug() << "W: could not find " + anim_to_find; + qWarning() << "could not find " + anim_to_find; return; } ui_vp_player_char->set_static_duration(preanim_duration); @@ -3290,6 +3306,22 @@ void Courtroom::preanim_done() if (anim_state != 1 && anim_state != 4 && anim_state != 5) return; anim_state = 1; + + handle_ic_speaking(); +} + +void Courtroom::start_chat_ticking() +{ + text_delay_timer->stop(); + // we need to ensure that the text isn't already ticking because this function + // can be called by two logic paths + if (text_state != 0) + return; + + // Display the evidence + display_evidence_image(); + + // handle expanded desk mods switch(m_chatmessage[DESK_MOD].toInt()) { case 4: set_self_offset(m_chatmessage[SELF_OFFSET]); @@ -3308,19 +3340,6 @@ void Courtroom::preanim_done() set_scene(m_chatmessage[DESK_MOD], m_chatmessage[SIDE]); break; } - handle_ic_speaking(); -} - -void Courtroom::start_chat_ticking() -{ - text_delay_timer->stop(); - // we need to ensure that the text isn't already ticking because this function - // can be called by two logic paths - if (text_state != 0) - return; - - // Display the evidence - display_evidence_image(); if (m_chatmessage[EFFECTS] != "") { QStringList fx_list = m_chatmessage[EFFECTS].split("|"); @@ -3807,13 +3826,8 @@ void Courtroom::handle_song(QStringList *p_contents) int effect_flags = 0; // No effects by default - vanilla functionality QString f_song = f_contents.at(0); - QString f_song_clear = f_song.left(f_song.lastIndexOf(".")); - if (f_song.startsWith("http")) { - QByteArray f_song_bytearray = f_song.toUtf8(); - QString f_song_decoded = QUrl::fromPercentEncoding(f_song_bytearray); - f_song_clear = f_song_decoded.left(f_song_decoded.lastIndexOf(".")); - } - f_song_clear = f_song_clear.right(f_song_clear.length() - (f_song_clear.lastIndexOf("/") + 1)); + QString f_song_clear = QUrl(f_song).fileName(); + f_song_clear = f_song_clear.left(f_song_clear.lastIndexOf('.')); int n_char = f_contents.at(1).toInt(&ok); if (!ok) @@ -3862,27 +3876,25 @@ void Courtroom::handle_song(QStringList *p_contents) } } - int error_code = music_player->play(f_song, channel, looping, effect_flags); - - if (is_stop) { - ui_music_name->setText(tr("None")); - return; + QFuture future = QtConcurrent::run(music_player, &AOMusicPlayer::play, f_song, channel, + looping, effect_flags); + if (channel == 0) { + // Current song UI only displays the song playing, not other channels. + // Any other music playing is irrelevant. + if (music_player->music_watcher.isRunning()) { + music_player->music_watcher.cancel(); + } + music_player->music_watcher.setFuture(future); + ui_music_name->setText(tr("[LOADING] %1").arg(f_song_clear)); } +} - if (error_code == BASS_ERROR_HANDLE) { // Cheap hack to see if file missing - ui_music_name->setText(tr("[MISSING] %1").arg(f_song_clear)); - return; - } - - if (f_song.startsWith("http") && channel == 0) { - ui_music_name->setText(tr("[STREAM] %1").arg(f_song_clear)); - return; - } - - if (channel == 0){ - ui_music_name->setText(f_song_clear); - return; - } +void Courtroom::update_ui_music_name() +{ + QString result = music_player->music_watcher.result(); + if (result.isEmpty()) + return; + ui_music_name->setText(result); } void Courtroom::handle_wtce(QString p_wtce, int variant) @@ -4197,14 +4209,14 @@ void Courtroom::on_ooc_return_pressed() void Courtroom::on_ooc_toggle_clicked() { if (server_ooc) { - ui_ms_chatlog->show(); + ui_debug_log->show(); ui_server_chatlog->hide(); - ui_ooc_toggle->setText(tr("Master")); + ui_ooc_toggle->setText(tr("Debug")); server_ooc = false; } else { - ui_ms_chatlog->hide(); + ui_debug_log->hide(); ui_server_chatlog->show(); ui_ooc_toggle->setText(tr("Server")); @@ -4439,10 +4451,11 @@ void Courtroom::set_sfx_dropdown() void Courtroom::on_sfx_dropdown_changed(int p_index) { - Q_UNUSED(p_index); ui_ic_chat_message->setFocus(); - ui_sfx_remove->hide(); - custom_sfx = ""; + if (p_index == 0) { + ui_sfx_remove->hide(); + custom_sfx = ""; + } } void Courtroom::on_sfx_dropdown_custom(QString p_sfx) @@ -4621,7 +4634,7 @@ void Courtroom::on_mute_list_clicked(QModelIndex p_index) } if (f_cid < 0 || f_cid >= char_list.size()) { - qDebug() << "W: " << real_char << " not present in char_list"; + qWarning() << "" << real_char << " not present in char_list"; return; } @@ -4655,7 +4668,7 @@ void Courtroom::on_pair_list_clicked(QModelIndex p_index) } if (f_cid < -2 || f_cid >= char_list.size()) { - qDebug() << "W: " << real_char << " not present in char_list"; + qWarning() << "" << real_char << " not present in char_list"; return; } @@ -5102,7 +5115,7 @@ void Courtroom::on_text_color_changed(int p_color) int c = color_row_to_number.at(p_color); QString markdown_start = color_markdown_start_list.at(c); if (markdown_start.isEmpty()) { - qDebug() << "W: Color list dropdown selected a non-existent markdown " + qWarning() << "Color list dropdown selected a non-existent markdown " "start character"; return; } diff --git a/src/debug_functions.cpp b/src/debug_functions.cpp index 456aee8..f4f7b3a 100644 --- a/src/debug_functions.cpp +++ b/src/debug_functions.cpp @@ -1,7 +1,10 @@ #include +#include #include #include +#include #include + #include #include "debug_functions.h" @@ -22,16 +25,38 @@ void call_error(QString p_message) void call_notice(QString p_message) { - QMessageBox *msgBox = new QMessageBox; + auto *msgBox = new QMessageBox; msgBox->setAttribute(Qt::WA_DeleteOnClose); msgBox->setText(p_message); msgBox->setWindowTitle( QCoreApplication::translate("debug_functions", "Notice")); - msgBox->setStandardButtons(QMessageBox::NoButton); + msgBox->setStandardButtons(QMessageBox::Ok); + msgBox->setDefaultButton(QMessageBox::Ok); + msgBox->defaultButton()->setEnabled(false); - QTimer::singleShot(3000, msgBox, std::bind(&QMessageBox::setStandardButtons,msgBox,QMessageBox::Ok)); + QTimer intervalTimer; + intervalTimer.setInterval(1000); + + int counter = 3; + const auto updateCounter = [msgBox, &counter] { + if (counter <= 0) + return; + msgBox->defaultButton()->setText( + QString("%1 (%2)").arg(QDialogButtonBox::tr("OK")).arg(counter)); + counter--; + }; + + QObject::connect(&intervalTimer, &QTimer::timeout, msgBox, updateCounter); + intervalTimer.start(); + updateCounter(); + + QTimer::singleShot(3000, msgBox, [msgBox, &intervalTimer] { + msgBox->defaultButton()->setEnabled(true); + msgBox->defaultButton()->setText(QDialogButtonBox::tr("OK")); + intervalTimer.stop(); + }); msgBox->exec(); diff --git a/src/emotes.cpp b/src/emotes.cpp index 541a6e2..67a243b 100644 --- a/src/emotes.cpp +++ b/src/emotes.cpp @@ -126,9 +126,9 @@ void Courtroom::set_emote_page() AOEmoteButton *f_emote = ui_emote_list.at(n_emote); if (n_real_emote == current_emote) - f_emote->set_char_image(current_char, n_real_emote, "_on"); + f_emote->set_char_image(current_char, n_real_emote, true); else - f_emote->set_char_image(current_char, n_real_emote, "_off"); + f_emote->set_char_image(current_char, n_real_emote, false); f_emote->show(); f_emote->setToolTip(QString::number(n_real_emote + 1) + ": " + @@ -158,7 +158,7 @@ void Courtroom::select_emote(int p_id) if (current_emote >= min && current_emote <= max) ui_emote_list.at(current_emote % max_emotes_on_page) - ->set_char_image(current_char, current_emote, "_off"); + ->set_char_image(current_char, current_emote, false); int old_emote = current_emote; @@ -166,7 +166,7 @@ void Courtroom::select_emote(int p_id) if (current_emote >= min && current_emote <= max) ui_emote_list.at(current_emote % max_emotes_on_page) - ->set_char_image(current_char, current_emote, "_on"); + ->set_char_image(current_char, current_emote, true); int emote_mod = ao_app->get_emote_mod(current_char, current_emote); diff --git a/src/lobby.cpp b/src/lobby.cpp index 39b63e5..4449603 100644 --- a/src/lobby.cpp +++ b/src/lobby.cpp @@ -12,8 +12,9 @@ Lobby::Lobby(AOApplication *p_ao_app) : QMainWindow() { ao_app = p_ao_app; + // - this->setWindowTitle(tr("Attorney Online 2")); + this->setWindowTitle(tr("Attorney Online %1").arg(ao_app->applicationVersion())); this->setWindowIcon(QIcon(":/logo.png")); this->setWindowFlags( (this->windowFlags() | Qt::CustomizeWindowHint) & ~Qt::WindowMaximizeButtonHint); @@ -117,7 +118,7 @@ void Lobby::set_widgets() pos_size_type f_lobby = ao_app->get_element_dimensions("lobby", filename); if (f_lobby.width < 0 || f_lobby.height < 0) { - qDebug() << "W: did not find lobby width or height in " << filename; + qWarning() << "did not find lobby width or height in " << filename; // Most common symptom of bad config files and missing assets. call_notice( @@ -206,7 +207,7 @@ void Lobby::set_size_and_pos(QWidget *p_widget, QString p_identifier) ao_app->get_element_dimensions(p_identifier, filename); if (design_ini_result.width < 0 || design_ini_result.height < 0) { - qDebug() << "W: could not find " << p_identifier << " in " << filename; + qWarning() << "could not find " << p_identifier << " in " << filename; p_widget->hide(); } else { diff --git a/src/main.cpp b/src/main.cpp index e6e977c..6edefa4 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -12,6 +12,8 @@ int main(int argc, char *argv[]) { + qSetMessagePattern("%{type}: %{if-category}%{category}: %{endif}%{message}"); + #if QT_VERSION > QT_VERSION_CHECK(5, 6, 0) // High-DPI support is for Qt version >=5.6. // However, many Linux distros still haven't brought their stable/LTS diff --git a/src/packet_distribution.cpp b/src/packet_distribution.cpp index 37f58c8..9b56fae 100644 --- a/src/packet_distribution.cpp +++ b/src/packet_distribution.cpp @@ -29,7 +29,7 @@ void AOApplication::ms_packet_received(AOPacket *p_packet) QStringList sub_contents = i_string.split("&"); if (sub_contents.size() < 4) { - qDebug() << "W: malformed packet"; + qWarning() << "malformed packet"; continue; } @@ -63,7 +63,8 @@ void AOApplication::ms_packet_received(AOPacket *p_packet) w_lobby->append_chatmessage(f_name, f_message); } if (courtroom_constructed && courtroom_loaded) { - w_courtroom->append_ms_chatmessage(f_name, f_message); + w_courtroom->append_server_chatmessage(tr("[Global] %1").arg(f_name), + f_message, "0"); } } else if (header == "AO2CHECK") { @@ -104,7 +105,7 @@ end: void AOApplication::append_to_demofile(QString packet_string) { - if (get_auto_logging_enabled() && !log_filename.isEmpty()) + if (get_demo_logging_enabled() && !log_filename.isEmpty()) { QString path = log_filename.left(log_filename.size()).replace(".log", ".demo"); if (!demo_timer.isValid()) @@ -265,7 +266,7 @@ void AOApplication::server_packet_received(AOPacket *p_packet) courtroom_loaded = false; - window_title = tr("Attorney Online 2"); + window_title = tr("Attorney Online %1").arg(applicationVersion()); int selected_server = w_lobby->get_selected_server(); QString server_address = "", server_name = ""; @@ -301,7 +302,7 @@ void AOApplication::server_packet_received(AOPacket *p_packet) // Remove any characters not accepted in folder names for the server_name // here - if (AOApplication::get_auto_logging_enabled() && server_name != "Demo playback") { + if (AOApplication::get_demo_logging_enabled() && server_name != "Demo playback") { this->log_filename = QDateTime::currentDateTime().toUTC().toString( "'logs/" + server_name.remove(QRegExp("[\\\\/:*?\"<>|\']")) + "/'yyyy-MM-dd hh-mm-ss t'.log'"); @@ -450,7 +451,8 @@ void AOApplication::server_packet_received(AOPacket *p_packet) goto end; if (lobby_constructed) - w_courtroom->append_ms_chatmessage("", w_lobby->get_chatlog()); + w_courtroom->append_server_chatmessage(tr("[Global log]"), + w_lobby->get_chatlog(), "0"); w_courtroom->character_loading_finished(); w_courtroom->done_received(); diff --git a/src/text_file_functions.cpp b/src/text_file_functions.cpp index 07a9393..71da85e 100644 --- a/src/text_file_functions.cpp +++ b/src/text_file_functions.cpp @@ -167,7 +167,7 @@ QString AOApplication::read_file(QString filename) QFile f_log(filename); if (!f_log.open(QIODevice::ReadOnly | QIODevice::Text)) { - qDebug() << "Couldn't open" << filename; + qWarning() << "Couldn't open" << filename; return ""; } @@ -699,7 +699,7 @@ QString AOApplication::get_emote_comment(QString p_char, int p_emote) QStringList result_contents = f_result.split("#"); if (result_contents.size() < 4) { - qDebug() << "W: misformatted char.ini: " << p_char << ", " << p_emote; + qWarning() << "misformatted char.ini: " << p_char << ", " << p_emote; return "normal"; } return result_contents.at(0); @@ -713,7 +713,7 @@ QString AOApplication::get_pre_emote(QString p_char, int p_emote) QStringList result_contents = f_result.split("#"); if (result_contents.size() < 4) { - qDebug() << "W: misformatted char.ini: " << p_char << ", " << p_emote; + qWarning() << "misformatted char.ini: " << p_char << ", " << p_emote; return ""; } return result_contents.at(1); @@ -727,7 +727,7 @@ QString AOApplication::get_emote(QString p_char, int p_emote) QStringList result_contents = f_result.split("#"); if (result_contents.size() < 4) { - qDebug() << "W: misformatted char.ini: " << p_char << ", " << p_emote; + qWarning() << "misformatted char.ini: " << p_char << ", " << p_emote; return "normal"; } return result_contents.at(2); @@ -741,7 +741,7 @@ int AOApplication::get_emote_mod(QString p_char, int p_emote) QStringList result_contents = f_result.split("#"); if (result_contents.size() < 4) { - qDebug() << "W: misformatted char.ini: " << p_char << ", " + qWarning() << "misformatted char.ini: " << p_char << ", " << QString::number(p_emote); return 0; } @@ -1067,13 +1067,20 @@ QString AOApplication::get_casing_can_host_cases() return result; } -bool AOApplication::get_auto_logging_enabled() +bool AOApplication::get_text_logging_enabled() { QString result = configini->value("automatic_logging_enabled", "true").value(); return result.startsWith("true"); } +bool AOApplication::get_demo_logging_enabled() +{ + QString result = + configini->value("demo_logging_enabled", "true").value(); + return result.startsWith("true"); +} + QString AOApplication::get_subtheme() { QString result =