In-game menu: Brazilian Portuguese

The launcher already speaks pt_BR, but the overlay fell back to English
for it. Adds Português (Brasil) to the menu's Language selector and a
pt_BR column to the overlay translations; the launcher's pt_BR (and any
pt_* locale) now reaches the menu through BB_MENU_LANGUAGE.
This commit is contained in:
ayozetr committed 2026-10-10 02:35:32 +01:00
1 parent ee20c8b147
commit c4281227da
3 files changed
+169 -85

No files matched your search

+164 -81
View File
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-or-later
// Overlay translations other than Russian (which sits next to the English in each MenuText call):
// English text -> Spanish, Italian, French, German. Only bbport_settings.cpp includes this.
// English text -> Spanish, Italian, French, German, Brazilian Portuguese. Only bbport_settings.cpp includes this.
#pragma once
#include <array>
@@ -20,9 +20,11 @@ inline const char* MenuTranslation(MenuLanguage language, const char* english) {
{"Bloodborne - Gráficos (Insert / L3+R3)###bbport_settings",
"Bloodborne - Grafica (Insert / L3+R3)###bbport_settings",
"Bloodborne - Graphismes (Insert / L3+R3)###bbport_settings",
"Bloodborne - Grafik (Insert / L3+R3)###bbport_settings"}},
"Bloodborne - Grafik (Insert / L3+R3)###bbport_settings",
"Bloodborne - Gráficos (Insert / L3+R3)###bbport_settings"}},
{"%.0f FPS (%.1f ms)",
{"%.0f FPS (%.1f ms)",
"%.0f FPS (%.1f ms)",
"%.0f FPS (%.1f ms)",
"%.0f FPS (%.1f ms)",
"%.0f FPS (%.1f ms)"}},
@@ -30,19 +32,23 @@ inline const char* MenuTranslation(MenuLanguage language, const char* english) {
{"Escalador temporal",
"Upscaler temporale",
"Upscaler temporel",
"Temporaler Upscaler"}},
"Temporaler Upscaler",
"Upscaler temporal"}},
{"Off",
{"Desactivado",
"Disattivato",
"Désactivé",
"Aus"}},
"Aus",
"Desativado"}},
{"TAA (native anti-aliasing)",
{"TAA (antialiasing nativo)",
"TAA (anti-aliasing nativo)",
"TAA (anticrénelage natif)",
"TAA (native Kantenglättung)"}},
"TAA (native Kantenglättung)",
"TAA (anti-aliasing nativo)"}},
{"Upscaler",
{"Escalador",
"Upscaler",
"Upscaler",
"Upscaler",
"Upscaler"}},
@@ -50,284 +56,341 @@ inline const char* MenuTranslation(MenuLanguage language, const char* english) {
{"— no compatible con esta GPU",
"— non supportato da questa GPU",
"— non pris en charge par ce GPU",
"— von dieser GPU nicht unterstützt"}},
"— von dieser GPU nicht unterstützt",
"— não suportado por esta GPU"}},
{"— in development",
{"— en desarrollo",
"— in sviluppo",
"— en développement",
"— in Entwicklung"}},
"— in Entwicklung",
"— em desenvolvimento"}},
{"FSR 4 unavailable: %s",
{"FSR 4 no disponible: %s",
"FSR 4 non disponibile: %s",
"FSR 4 indisponible : %s",
"FSR 4 nicht verfügbar: %s"}},
"FSR 4 nicht verfügbar: %s",
"FSR 4 indisponível: %s"}},
{"The mode selected above is active. You can select FSR 4 again.",
{"El modo seleccionado arriba está activo. Puedes volver a elegir FSR 4.",
"La modalità selezionata sopra è attiva. Puoi selezionare di nuovo FSR 4.",
"Le mode sélectionné ci-dessus est actif. Vous pouvez sélectionner FSR 4 à nouveau.",
"Der oben gewählte Modus ist aktiv. Du kannst FSR 4 erneut auswählen."}},
"Der oben gewählte Modus ist aktiv. Du kannst FSR 4 erneut auswählen.",
"O modo selecionado acima está ativo. Você pode selecionar o FSR 4 novamente."}},
{"FSR 4.1.1 in INT8 mode: the model from AMD's 4.1.1 DLL, reproduced in Vulkan (output matches the DLL). One model for Native through Performance and another for Ultra Performance. Assets: tools/fsr4cap/build_assets.sh (requires the DLL and Proton).",
{"FSR 4.1.1 en modo INT8: el modelo de la DLL 4.1.1 de AMD, reproducido en Vulkan (la salida coincide con la DLL). Un modelo para Native hasta Performance y otro para Ultra Performance. Recursos: tools/fsr4cap/build_assets.sh (requiere la DLL y Proton).",
"FSR 4.1.1 in modalità INT8: il modello della DLL AMD 4.1.1, riprodotto in Vulkan (l'output coincide con quello della DLL). Un modello per Native fino a Performance e un altro per Ultra Performance. Risorse: tools/fsr4cap/build_assets.sh (richiede la DLL e Proton).",
"FSR 4.1.1 en mode INT8 : le modèle de la DLL 4.1.1 d'AMD, reproduit en Vulkan (la sortie correspond à la DLL). Un modèle pour Native à Performance et un autre pour Ultra Performance. Ressources : tools/fsr4cap/build_assets.sh (nécessite la DLL et Proton).",
"FSR 4.1.1 im INT8-Modus: das Modell aus der 4.1.1-DLL von AMD, in Vulkan nachgebaut (Ausgabe identisch mit der DLL). Ein Modell für Native bis Performance und ein weiteres für Ultra Performance. Assets: tools/fsr4cap/build_assets.sh (benötigt die DLL und Proton)."}},
"FSR 4.1.1 im INT8-Modus: das Modell aus der 4.1.1-DLL von AMD, in Vulkan nachgebaut (Ausgabe identisch mit der DLL). Ein Modell für Native bis Performance und ein weiteres für Ultra Performance. Assets: tools/fsr4cap/build_assets.sh (benötigt die DLL und Proton).",
"FSR 4.1.1 em modo INT8: o modelo da DLL 4.1.1 da AMD, reproduzido em Vulkan (a saída é igual à da DLL). Um modelo do Native ao Performance e outro para o Ultra Performance. Recursos: tools/fsr4cap/build_assets.sh (requer a DLL e o Proton)."}},
{"FSR 4 in INT8 mode (v07 model from AMD FidelityFX SDK sources). Higher quality than FSR 3.1, but the pass is more demanding. Changing the preset rebuilds the model (a brief pause). Assets: tools/fetch_fsr4_assets.sh.",
{"FSR 4 en modo INT8 (modelo v07 de las fuentes del FidelityFX SDK de AMD). Mayor calidad que FSR 3.1, pero la pasada es más exigente. Al cambiar el preajuste se reconstruye el modelo (una breve pausa). Recursos: tools/fetch_fsr4_assets.sh.",
"FSR 4 in modalità INT8 (modello v07 dai sorgenti di AMD FidelityFX SDK). Qualità superiore a FSR 3.1, ma il passaggio è più pesante. Cambiando il preset il modello viene ricostruito (breve pausa). Risorse: tools/fetch_fsr4_assets.sh.",
"FSR 4 en mode INT8 (modèle v07 issu des sources du FidelityFX SDK d'AMD). Qualité supérieure à FSR 3.1, mais la passe est plus gourmande. Changer de préréglage reconstruit le modèle (courte pause). Ressources : tools/fetch_fsr4_assets.sh.",
"FSR 4 im INT8-Modus (Modell v07 aus den AMD-FidelityFX-SDK-Quellen). Höhere Qualität als FSR 3.1, aber der Durchlauf ist aufwendiger. Beim Wechsel der Voreinstellung wird das Modell neu aufgebaut (kurze Pause). Assets: tools/fetch_fsr4_assets.sh."}},
"FSR 4 im INT8-Modus (Modell v07 aus den AMD-FidelityFX-SDK-Quellen). Höhere Qualität als FSR 3.1, aber der Durchlauf ist aufwendiger. Beim Wechsel der Voreinstellung wird das Modell neu aufgebaut (kurze Pause). Assets: tools/fetch_fsr4_assets.sh.",
"FSR 4 em modo INT8 (modelo v07 das fontes do FidelityFX SDK da AMD). Qualidade maior que a do FSR 3.1, mas a passada é mais pesada. Mudar a predefinição reconstrói o modelo (uma breve pausa). Recursos: tools/fetch_fsr4_assets.sh."}},
{"FSR 4: auto exposure",
{"FSR 4: exposición automática",
"FSR 4: esposizione automatica",
"FSR 4 : exposition automatique",
"FSR 4: Auto-Belichtung"}},
"FSR 4: Auto-Belichtung",
"FSR 4: exposição automática"}},
{"FSR 4: invert jitter sign",
{"FSR 4: invertir signo del jitter",
"FSR 4: inverti segno del jitter",
"FSR 4 : inverser le signe du jitter",
"FSR 4: Jitter-Vorzeichen invertieren"}},
"FSR 4: Jitter-Vorzeichen invertieren",
"FSR 4: inverter o sinal do jitter"}},
{"For diagnosing ghosting: the FSR 4 network normalizes color by exposure and uses it to decide when to discard previous frames. Changes apply immediately, without a restart.",
{"Para diagnosticar ghosting: la red de FSR 4 normaliza el color según la exposición y la usa para decidir cuándo descartar fotogramas anteriores. Los cambios se aplican al instante, sin reiniciar.",
"Per diagnosticare il ghosting: la rete FSR 4 normalizza il colore in base all'esposizione e la usa per decidere quando scartare i fotogrammi precedenti. Le modifiche si applicano subito, senza riavvio.",
"Pour diagnostiquer le ghosting : le réseau FSR 4 normalise la couleur selon l'exposition et s'en sert pour décider quand écarter les images précédentes. Les changements s'appliquent immédiatement, sans redémarrage.",
"Zur Diagnose von Geisterbildern: Das FSR-4-Netz normalisiert die Farbe anhand der Belichtung und entscheidet damit, wann vorherige Frames verworfen werden. Änderungen gelten sofort, ohne Neustart."}},
"Zur Diagnose von Geisterbildern: Das FSR-4-Netz normalisiert die Farbe anhand der Belichtung und entscheidet damit, wann vorherige Frames verworfen werden. Änderungen gelten sofort, ohne Neustart.",
"Para diagnosticar ghosting: a rede do FSR 4 normaliza a cor pela exposição e a usa para decidir quando descartar quadros anteriores. As mudanças valem na hora, sem reiniciar."}},
{"Preset",
{"Preajuste",
"Preset",
"Préréglage",
"Voreinstellung"}},
"Voreinstellung",
"Predefinição"}},
{"%s (x%.1f, render %dx%d)",
{"%s (x%.1f, render %dx%d)",
"%s (x%.1f, render %dx%d)",
"%s (x%.1f, rendu %dx%d)",
"%s (x%.1f, Render %dx%d)"}},
"%s (x%.1f, Render %dx%d)",
"%s (x%.1f, render %dx%d)"}},
{"TAA anti-aliases the scene at output resolution, without an FSR model or upscaling. Your saved FSR preset is restored when you select FSR.",
{"TAA aplica antialiasing a la escena en la resolución de salida, sin modelo de FSR ni escalado. Tu preajuste de FSR guardado se restaura al elegir FSR.",
"Il TAA applica l'anti-aliasing alla scena alla risoluzione di uscita, senza modello FSR né upscaling. Il preset FSR salvato viene ripristinato quando selezioni FSR.",
"Le TAA applique l'anticrénelage à la scène à la résolution de sortie, sans modèle FSR ni upscaling. Votre préréglage FSR enregistré est restauré quand vous sélectionnez FSR.",
"TAA glättet die Szene in Ausgabeauflösung, ohne FSR-Modell und ohne Upscaling. Deine gespeicherte FSR-Voreinstellung wird wiederhergestellt, sobald du FSR wählst."}},
"TAA glättet die Szene in Ausgabeauflösung, ohne FSR-Modell und ohne Upscaling. Deine gespeicherte FSR-Voreinstellung wird wiederhergestellt, sobald du FSR wählst.",
"O TAA aplica anti-aliasing à cena na resolução de saída, sem modelo do FSR nem upscaling. Sua predefinição salva do FSR volta ao selecionar o FSR."}},
{"Active scene render: %d x %d",
{"Render activo de la escena: %d x %d",
"Render attivo della scena: %d x %d",
"Rendu actif de la scène : %d x %d",
"Aktives Szenen-Rendering: %d x %d"}},
"Aktives Szenen-Rendering: %d x %d",
"Render atual da cena: %d x %d"}},
{"Startup preset: %s",
{"Preajuste de inicio: %s",
"Preset all'avvio: %s",
"Préréglage au démarrage : %s",
"Startvoreinstellung: %s"}},
"Startvoreinstellung: %s",
"Predefinição de início: %s"}},
{"When output is not 1080p, the entire game renders at the preset resolution (startup patch): this is fastest on Steam Deck and weaker GPUs. Preset or output resolution changes require a restart. Enable Live resolution changes below to change them without restarting (post-processing then stays at 1080p, which is slower).",
{"Si la salida no es 1080p, todo el juego se renderiza en la resolución del preajuste (parche de inicio): es lo más rápido en la Steam Deck y en GPU modestas. Los cambios de preajuste o de resolución de salida requieren reiniciar. Activa Cambio de resolución en tiempo real más abajo para cambiarlos sin reiniciar (el posprocesado se queda entonces en 1080p, que es más lento).",
"Se l'uscita non è 1080p, tutto il gioco viene renderizzato alla risoluzione del preset (patch all'avvio): è la scelta più veloce su Steam Deck e GPU meno potenti. Per cambiare preset o risoluzione di uscita serve riavviare. Attiva Cambio di risoluzione in tempo reale qui sotto per cambiarli senza riavviare (la post-elaborazione resta però a 1080p, che è più lento).",
"Quand la sortie n'est pas en 1080p, tout le jeu est rendu à la résolution du préréglage (patch de démarrage) : c'est le plus rapide sur Steam Deck et les GPU modestes. Changer de préréglage ou de résolution de sortie nécessite un redémarrage. Activez Changement de résolution en direct ci-dessous pour les changer sans redémarrer (le post-traitement reste alors en 1080p, ce qui est plus lent).",
"Ist die Ausgabe nicht 1080p, rendert das ganze Spiel in der Auflösung der Voreinstellung (Startpatch): Das ist am schnellsten auf dem Steam Deck und schwächeren GPUs. Änderungen an Voreinstellung oder Ausgabeauflösung erfordern einen Neustart. Aktiviere unten Live-Auflösungswechsel, um sie ohne Neustart zu ändern (die Nachbearbeitung bleibt dann bei 1080p, was langsamer ist)."}},
"Ist die Ausgabe nicht 1080p, rendert das ganze Spiel in der Auflösung der Voreinstellung (Startpatch): Das ist am schnellsten auf dem Steam Deck und schwächeren GPUs. Änderungen an Voreinstellung oder Ausgabeauflösung erfordern einen Neustart. Aktiviere unten Live-Auflösungswechsel, um sie ohne Neustart zu ändern (die Nachbearbeitung bleibt dann bei 1080p, was langsamer ist).",
"Quando a saída não é 1080p, o jogo inteiro é renderizado na resolução da predefinição (patch de início): é o mais rápido no Steam Deck e em GPUs mais fracas. Mudanças de predefinição ou de resolução de saída exigem reiniciar. Ative Mudança de resolução em tempo real abaixo para mudá-las sem reiniciar (o pós-processamento fica então em 1080p, o que é mais lento)."}},
{"BB_RENDER_RES fixes the scene size at startup. Remove this explicit environment variable to change resolution and presets without restarting the game.",
{"BB_RENDER_RES fija el tamaño de la escena al iniciar. Elimina esta variable de entorno explícita para cambiar la resolución y los preajustes sin reiniciar el juego.",
"BB_RENDER_RES fissa la dimensione della scena all'avvio. Rimuovi questa variabile d'ambiente esplicita per cambiare risoluzione e preset senza riavviare il gioco.",
"BB_RENDER_RES fixe la taille de la scène au démarrage. Supprimez cette variable d'environnement explicite pour changer la résolution et les préréglages sans redémarrer le jeu.",
"BB_RENDER_RES legt die Szenengröße beim Start fest. Entferne diese explizite Umgebungsvariable, um Auflösung und Voreinstellungen ohne Neustart des Spiels zu ändern."}},
"BB_RENDER_RES legt die Szenengröße beim Start fest. Entferne diese explizite Umgebungsvariable, um Auflösung und Voreinstellungen ohne Neustart des Spiels zu ändern.",
"BB_RENDER_RES fixa o tamanho da cena no início. Remova essa variável de ambiente explícita para mudar a resolução e as predefinições sem reiniciar o jogo."}},
{"Native AA: FSR acts as anti-aliasing. Other presets reduce the scene render resolution relative to the output. The UI renders at output resolution. The preset applies from the next frame without restarting the game.",
{"Native AA: FSR actúa como antialiasing. Los demás preajustes reducen la resolución de render de la escena respecto a la salida. La interfaz se renderiza en la resolución de salida. El preajuste se aplica desde el siguiente fotograma, sin reiniciar el juego.",
"Native AA: FSR agisce come anti-aliasing. Gli altri preset riducono la risoluzione di render della scena rispetto all'uscita. L'interfaccia viene renderizzata alla risoluzione di uscita. Il preset si applica dal fotogramma successivo, senza riavviare il gioco.",
"Native AA : FSR sert d'anticrénelage. Les autres préréglages réduisent la résolution de rendu de la scène par rapport à la sortie. L'interface est rendue à la résolution de sortie. Le préréglage s'applique dès l'image suivante, sans redémarrer le jeu.",
"Native AA: FSR dient als Kantenglättung. Andere Voreinstellungen verringern die Render-Auflösung der Szene relativ zur Ausgabe. Die UI rendert in Ausgabeauflösung. Die Voreinstellung gilt ab dem nächsten Frame, ohne Neustart des Spiels."}},
"Native AA: FSR dient als Kantenglättung. Andere Voreinstellungen verringern die Render-Auflösung der Szene relativ zur Ausgabe. Die UI rendert in Ausgabeauflösung. Die Voreinstellung gilt ab dem nächsten Frame, ohne Neustart des Spiels.",
"Native AA: o FSR atua como anti-aliasing. As outras predefinições reduzem a resolução de render da cena em relação à saída. A interface é renderizada na resolução de saída. A predefinição vale a partir do próximo quadro, sem reiniciar o jogo."}},
{"Sharpening (RCAS)",
{"Nitidez (RCAS)",
"Nitidezza (RCAS)",
"Netteté (RCAS)",
"Schärfen (RCAS)"}},
"Schärfen (RCAS)",
"Nitidez (RCAS)"}},
{"Sharpness",
{"Nitidez",
"Nitidezza",
"Netteté",
"Schärfe"}},
"Schärfe",
"Nitidez"}},
{"Up to 1: the upscaler's own sharpening (RCAS). Above 1 adds another RCAS pass. Ctrl+click the slider to enter an exact value.",
{"Hasta 1: el afilado propio del escalador (RCAS). Por encima de 1 se añade otra pasada de RCAS. Ctrl+clic en el control deslizante para escribir un valor exacto.",
"Fino a 1: la nitidezza propria dell'upscaler (RCAS). Oltre 1 aggiunge un altro passaggio RCAS. Ctrl+clic sul cursore per inserire un valore esatto.",
"Jusqu'à 1 : la netteté propre à l'upscaler (RCAS). Au-delà de 1, une passe RCAS supplémentaire s'ajoute. Ctrl+clic sur le curseur pour saisir une valeur exacte.",
"Bis 1: die eigene Schärfung des Upscalers (RCAS). Über 1 kommt ein weiterer RCAS-Durchlauf hinzu. Strg+Klick auf den Regler, um einen genauen Wert einzugeben."}},
"Bis 1: die eigene Schärfung des Upscalers (RCAS). Über 1 kommt ein weiterer RCAS-Durchlauf hinzu. Strg+Klick auf den Regler, um einen genauen Wert einzugeben.",
"Até 1: a nitidez do próprio upscaler (RCAS). Acima de 1 é adicionada outra passada de RCAS. Ctrl+clique no controle deslizante para digitar um valor exato."}},
{"Subpixel jitter",
{"Jitter subpíxel",
"Jitter subpixel",
"Jitter subpixel",
"Subpixel-Jitter"}},
"Subpixel-Jitter",
"Jitter de subpixel"}},
{"Each frame shifts the scene by a fraction of a pixel, letting the upscaler reconstruct more detail from multiple frames. Without it, only history-based anti-aliasing remains.",
{"En cada fotograma la escena se desplaza una fracción de píxel, lo que permite al escalador reconstruir más detalle a partir de varios fotogramas. Sin él, solo queda el antialiasing basado en el historial.",
"A ogni fotogramma la scena si sposta di una frazione di pixel, così l'upscaler ricostruisce più dettagli da più fotogrammi. Senza, resta solo l'anti-aliasing basato sulla cronologia.",
"À chaque image, la scène est décalée d'une fraction de pixel, ce qui permet à l'upscaler de reconstruire plus de détails à partir de plusieurs images. Sans lui, il ne reste que l'anticrénelage basé sur l'historique.",
"Jeder Frame verschiebt die Szene um einen Bruchteil eines Pixels, sodass der Upscaler aus mehreren Frames mehr Details rekonstruieren kann. Ohne Jitter bleibt nur historienbasierte Kantenglättung."}},
"Jeder Frame verschiebt die Szene um einen Bruchteil eines Pixels, sodass der Upscaler aus mehreren Frames mehr Details rekonstruieren kann. Ohne Jitter bleibt nur historienbasierte Kantenglättung.",
"A cada quadro a cena se desloca uma fração de pixel, o que permite ao upscaler reconstruir mais detalhes a partir de vários quadros. Sem ele, resta apenas o anti-aliasing baseado no histórico."}},
{"Reactive mask",
{"Máscara reactiva",
"Maschera reattiva",
"Masque réactif",
"Reaktive Maske"}},
"Reaktive Maske",
"Máscara reativa"}},
{"Enable mask",
{"Activar máscara",
"Attiva maschera",
"Activer le masque",
"Maske aktivieren"}},
"Maske aktivieren",
"Ativar máscara"}},
{"Marks transparent effects (haze, light, water, particles). FSR 4 takes no mask itself: its output is blended with the current frame there, so the effects do not drag previous frames along.",
{"Marca los efectos transparentes (neblina, luz, agua, partículas). FSR 4 no admite máscara: en esas zonas su salida se mezcla con el fotograma actual, para que los efectos no arrastren fotogramas anteriores.",
"Segna gli effetti trasparenti (foschia, luce, acqua, particelle). FSR 4 non usa una maschera: lì il suo output viene fuso con il fotogramma corrente, così gli effetti non trascinano i fotogrammi precedenti.",
"Marque les effets transparents (brume, lumière, eau, particules). FSR 4 n'utilise pas de masque : sa sortie est mélangée avec l'image actuelle à ces endroits, pour que les effets n'entraînent pas les images précédentes.",
"Markiert transparente Effekte (Dunst, Licht, Wasser, Partikel). FSR 4 nimmt selbst keine Maske: Dort wird seine Ausgabe mit dem aktuellen Frame gemischt, damit die Effekte keine früheren Frames mitziehen."}},
"Markiert transparente Effekte (Dunst, Licht, Wasser, Partikel). FSR 4 nimmt selbst keine Maske: Dort wird seine Ausgabe mit dem aktuellen Frame gemischt, damit die Effekte keine früheren Frames mitziehen.",
"Marca os efeitos transparentes (névoa, luz, água, partículas). O FSR 4 não aceita máscara: nessas áreas sua saída é misturada ao quadro atual, para que os efeitos não arrastem quadros anteriores."}},
{"Marks transparent effects (particles, haze) so the upscaler relies less on previous frames. Reduces trails behind effects, but shimmering returns underneath them.",
{"Marca los efectos transparentes (partículas, neblina) para que el escalador dependa menos de los fotogramas anteriores. Reduce las estelas tras los efectos, pero vuelve el centelleo bajo ellos.",
"Segna gli effetti trasparenti (particelle, foschia) così l'upscaler si affida meno ai fotogrammi precedenti. Riduce le scie dietro gli effetti, ma sotto di essi torna lo sfarfallio.",
"Marque les effets transparents (particules, brume) pour que l'upscaler s'appuie moins sur les images précédentes. Réduit les traînées derrière les effets, mais le scintillement revient en dessous.",
"Markiert transparente Effekte (Partikel, Dunst), damit sich der Upscaler weniger auf frühere Frames stützt. Verringert Schlieren hinter Effekten, aber darunter kehrt das Flimmern zurück."}},
"Markiert transparente Effekte (Partikel, Dunst), damit sich der Upscaler weniger auf frühere Frames stützt. Verringert Schlieren hinter Effekten, aber darunter kehrt das Flimmern zurück.",
"Marca os efeitos transparentes (partículas, névoa) para que o upscaler dependa menos dos quadros anteriores. Reduz os rastros atrás dos efeitos, mas a cintilação volta embaixo deles."}},
{"Scale",
{"Escala",
"Scala",
"Échelle",
"Skalierung"}},
"Skalierung",
"Escala"}},
{"Threshold",
{"Umbral",
"Soglia",
"Seuil",
"Schwellenwert"}},
"Schwellenwert",
"Limiar"}},
{"Maximum",
{"Máximo",
"Massimo",
"Maximum",
"Maximum"}},
"Maximum",
"Máximo"}},
{"Show mask (debug)",
{"Mostrar máscara (depuración)",
"Mostra maschera (debug)",
"Afficher le masque (debug)",
"Maske anzeigen (Debug)"}},
"Maske anzeigen (Debug)",
"Mostrar máscara (depuração)"}},
{"Character motion vectors",
{"Vectores de movimiento de personajes",
"Vettori di movimento dei personaggi",
"Vecteurs de mouvement des personnages",
"Bewegungsvektoren von Figuren"}},
"Bewegungsvektoren von Figuren",
"Vetores de movimento dos personagens"}},
{"Accurate vectors for animated objects: clothing and weapons break up less during movement. The static scene does not get an additional pass. Changes apply after restarting the game.",
{"Vectores precisos para objetos animados: la ropa y las armas se deshacen menos al moverse. La escena estática no recibe una pasada adicional. Los cambios se aplican al reiniciar el juego.",
"Vettori accurati per gli oggetti animati: vestiti e armi si deformano meno durante il movimento. La scena statica non riceve un passaggio aggiuntivo. Le modifiche si applicano dopo il riavvio del gioco.",
"Vecteurs précis pour les objets animés : vêtements et armes se dégradent moins pendant le mouvement. La scène statique n'a pas de passe supplémentaire. Les changements s'appliquent après le redémarrage du jeu.",
"Genaue Vektoren für animierte Objekte: Kleidung und Waffen lösen sich bei Bewegung weniger auf. Die statische Szene bekommt keinen zusätzlichen Durchlauf. Änderungen gelten nach einem Neustart des Spiels."}},
"Genaue Vektoren für animierte Objekte: Kleidung und Waffen lösen sich bei Bewegung weniger auf. Die statische Szene bekommt keinen zusätzlichen Durchlauf. Änderungen gelten nach einem Neustart des Spiels.",
"Vetores precisos para objetos animados: roupas e armas se desfazem menos em movimento. A cena estática não recebe uma passada adicional. As mudanças valem após reiniciar o jogo."}},
{"Show motion vectors (debug)",
{"Mostrar vectores de movimiento (depuración)",
"Mostra vettori di movimento (debug)",
"Afficher les vecteurs de mouvement (debug)",
"Bewegungsvektoren anzeigen (Debug)"}},
"Bewegungsvektoren anzeigen (Debug)",
"Mostrar vetores de movimento (depuração)"}},
{"Red/green: horizontal/vertical motion (8 pixels = full brightness). Blue: the pixel received an accurate object vector, not just camera motion. The upscaler treats a moving object with no blue or red/green as stationary, causing trails.",
{"Rojo/verde: movimiento horizontal/vertical (8 píxeles = brillo máximo). Azul: el píxel ha recibido un vector de objeto preciso, no solo el movimiento de la cámara. El escalador trata un objeto en movimiento sin azul ni rojo/verde como estático, lo que causa estelas.",
"Rosso/verde: movimento orizzontale/verticale (8 pixel = luminosità piena). Blu: il pixel ha ricevuto un vettore accurato dell'oggetto, non solo il movimento della camera. L'upscaler tratta un oggetto in movimento senza blu né rosso/verde come fermo, causando scie.",
"Rouge/vert : mouvement horizontal/vertical (8 pixels = luminosité maximale). Bleu : le pixel a reçu un vecteur d'objet précis, et pas seulement le mouvement de la caméra. L'upscaler traite un objet en mouvement sans bleu ni rouge/vert comme immobile, ce qui cause des traînées.",
"Rot/Grün: horizontale/vertikale Bewegung (8 Pixel = volle Helligkeit). Blau: Der Pixel hat einen genauen Objektvektor erhalten, nicht nur die Kamerabewegung. Der Upscaler behandelt ein bewegtes Objekt ohne Blau oder Rot/Grün als ruhend, was Schlieren verursacht."}},
"Rot/Grün: horizontale/vertikale Bewegung (8 Pixel = volle Helligkeit). Blau: Der Pixel hat einen genauen Objektvektor erhalten, nicht nur die Kamerabewegung. Der Upscaler behandelt ein bewegtes Objekt ohne Blau oder Rot/Grün als ruhend, was Schlieren verursacht.",
"Vermelho/verde: movimento horizontal/vertical (8 pixels = brilho máximo). Azul: o pixel recebeu um vetor de objeto preciso, não só o movimento da câmera. O upscaler trata um objeto em movimento sem azul nem vermelho/verde como parado, o que causa rastros."}},
{"Output resolution",
{"Resolución de salida",
"Risoluzione di uscita",
"Résolution de sortie",
"Ausgabeauflösung"}},
"Ausgabeauflösung",
"Resolução de saída"}},
{"Size of the final frame and UI. The preset sets the scene size relative to the output: 4K Performance = 1920x1080. Applies after restarting the game.",
{"Tamaño del fotograma final y de la interfaz. El preajuste fija el tamaño de la escena respecto a la salida: 4K Performance = 1920x1080. Se aplica al reiniciar el juego.",
"Dimensione del fotogramma finale e dell'interfaccia. Il preset imposta la dimensione della scena rispetto all'uscita: 4K Performance = 1920x1080. Si applica dopo il riavvio del gioco.",
"Taille de l'image finale et de l'interface. Le préréglage définit la taille de la scène par rapport à la sortie : 4K Performance = 1920x1080. S'applique après le redémarrage du jeu.",
"Größe des finalen Frames und der UI. Die Voreinstellung legt die Szenengröße relativ zur Ausgabe fest: 4K Performance = 1920x1080. Gilt nach einem Neustart des Spiels."}},
"Größe des finalen Frames und der UI. Die Voreinstellung legt die Szenengröße relativ zur Ausgabe fest: 4K Performance = 1920x1080. Gilt nach einem Neustart des Spiels.",
"Tamanho do quadro final e da interface. A predefinição define o tamanho da cena em relação à saída: 4K Performance = 1920x1080. Vale após reiniciar o jogo."}},
{"The final frame and UI size changes at the next frame boundary. The preset sets the scene size relative to the output: 4K Performance = 1920x1080. Changing the size resets FSR history and may cause a brief pause.",
{"El tamaño del fotograma final y de la interfaz cambia en el siguiente límite de fotograma. El preajuste fija el tamaño de la escena respecto a la salida: 4K Performance = 1920x1080. Al cambiar el tamaño se reinicia el historial de FSR y puede haber una breve pausa.",
"La dimensione del fotogramma finale e dell'interfaccia cambia al fotogramma successivo. Il preset imposta la dimensione della scena rispetto all'uscita: 4K Performance = 1920x1080. Cambiare la dimensione azzera la cronologia FSR e può causare una breve pausa.",
"La taille de l'image finale et de l'interface change à la prochaine image. Le préréglage définit la taille de la scène par rapport à la sortie : 4K Performance = 1920x1080. Changer la taille réinitialise l'historique FSR et peut causer une courte pause.",
"Größe des finalen Frames und der UI ändert sich an der nächsten Frame-Grenze. Die Voreinstellung legt die Szenengröße relativ zur Ausgabe fest: 4K Performance = 1920x1080. Eine Größenänderung setzt den FSR-Verlauf zurück und kann eine kurze Pause verursachen."}},
"Größe des finalen Frames und der UI ändert sich an der nächsten Frame-Grenze. Die Voreinstellung legt die Szenengröße relativ zur Ausgabe fest: 4K Performance = 1920x1080. Eine Größenänderung setzt den FSR-Verlauf zurück und kann eine kurze Pause verursachen.",
"O tamanho do quadro final e da interface muda no próximo limite de quadro. A predefinição define o tamanho da cena em relação à saída: 4K Performance = 1920x1080. Mudar o tamanho reinicia o histórico do FSR e pode causar uma breve pausa."}},
{"Auto (based on GPU)",
{"Automático (según la GPU)",
"Auto (in base alla GPU)",
"Auto (selon le GPU)",
"Auto (je nach GPU)"}},
"Auto (je nach GPU)",
"Automático (pela GPU)"}},
{"Off (faster)",
{"Desactivado (más rápido)",
"Disattivato (più veloce)",
"Désactivé (plus rapide)",
"Aus (schneller)"}},
"Aus (schneller)",
"Desativado (mais rápido)"}},
{"On",
{"Activado",
"Attivato",
"Activé",
"An"}},
"An",
"Ativado"}},
{"Live resolution changes",
{"Cambio de resolución en tiempo real",
"Cambio di risoluzione in tempo reale",
"Changement de résolution en direct",
"Live-Auflösungswechsel"}},
"Live-Auflösungswechsel",
"Mudança de resolução em tempo real"}},
{"On: output resolution and preset change without restarting, but game post-processing stays at 1080p, which is noticeably slower on Steam Deck and older GPUs. Off: everything renders at the preset resolution, and changes require a restart. Auto enables this on powerful discrete GPUs. Applies after restarting the game.",
{"Activado: la resolución de salida y el preajuste cambian sin reiniciar, pero el posprocesado del juego se queda en 1080p, bastante más lento en la Steam Deck y en GPU antiguas. Desactivado: todo se renderiza en la resolución del preajuste y los cambios requieren reiniciar. Automático lo activa en GPU dedicadas potentes. Se aplica al reiniciar el juego.",
"Attivato: risoluzione di uscita e preset cambiano senza riavviare, ma la post-elaborazione del gioco resta a 1080p, il che è sensibilmente più lento su Steam Deck e GPU meno recenti. Disattivato: tutto viene renderizzato alla risoluzione del preset e i cambi richiedono un riavvio. Auto lo attiva sulle GPU discrete potenti. Si applica dopo il riavvio del gioco.",
"Activé : la résolution de sortie et le préréglage changent sans redémarrage, mais le post-traitement du jeu reste en 1080p, ce qui est nettement plus lent sur Steam Deck et les anciens GPU. Désactivé : tout est rendu à la résolution du préréglage, et les changements nécessitent un redémarrage. Auto l'active sur les GPU dédiés puissants. S'applique après le redémarrage du jeu.",
"An: Ausgabeauflösung und Voreinstellung ändern sich ohne Neustart, aber die Nachbearbeitung des Spiels bleibt bei 1080p, was auf dem Steam Deck und älteren GPUs deutlich langsamer ist. Aus: Alles rendert in der Auflösung der Voreinstellung, Änderungen erfordern einen Neustart. Auto aktiviert dies auf leistungsstarken dedizierten GPUs. Gilt nach einem Neustart des Spiels."}},
"An: Ausgabeauflösung und Voreinstellung ändern sich ohne Neustart, aber die Nachbearbeitung des Spiels bleibt bei 1080p, was auf dem Steam Deck und älteren GPUs deutlich langsamer ist. Aus: Alles rendert in der Auflösung der Voreinstellung, Änderungen erfordern einen Neustart. Auto aktiviert dies auf leistungsstarken dedizierten GPUs. Gilt nach einem Neustart des Spiels.",
"Ativado: a resolução de saída e a predefinição mudam sem reiniciar, mas o pós-processamento do jogo fica em 1080p, bem mais lento no Steam Deck e em GPUs antigas. Desativado: tudo é renderizado na resolução da predefinição e as mudanças exigem reiniciar. Automático ativa em GPUs dedicadas potentes. Vale após reiniciar o jogo."}},
{"Game effects (restart required)",
{"Efectos del juego (requiere reinicio)",
"Effetti del gioco (riavvio necessario)",
"Effets du jeu (redémarrage requis)",
"Spieleffekte (Neustart nötig)"}},
"Spieleffekte (Neustart nötig)",
"Efeitos do jogo (requer reinício)"}},
{"Highest (-2)",
{"Máximo (-2)",
"Massimo (-2)",
"Maximal (-2)",
"Höchste (-2)"}},
"Höchste (-2)",
"Máximo (-2)"}},
{"Game default",
{"Predeterminado del juego",
"Predefinito del gioco",
"Comme dans le jeu",
"Spielstandard"}},
"Spielstandard",
"Padrão do jogo"}},
{"Lower (1)",
{"Bajo (1)",
"Basso (1)",
"Plus bas (1)",
"Niedriger (1)"}},
"Niedriger (1)",
"Baixo (1)"}},
{"Lowest (2)",
{"Mínimo (2)",
"Minimo (2)",
"Minimal (2)",
"Niedrigste (2)"}},
"Niedrigste (2)",
"Mínimo (2)"}},
{"Model detail",
{"Detalle de modelos",
"Dettaglio dei modelli",
"Détail des modèles",
"Modelldetails"}},
"Modelldetails",
"Detalhe dos modelos"}},
{"Effects are enabled and disabled by game patches at startup (patches/Bloodborne.xml). Motion blur and shadows from dynamic lights place a significant load on the GPU.",
{"Los parches del juego activan y desactivan los efectos al iniciar (patches/Bloodborne.xml). El desenfoque de movimiento y las sombras de luces dinámicas suponen una carga considerable para la GPU.",
"Gli effetti vengono attivati e disattivati dalle patch del gioco all'avvio (patches/Bloodborne.xml). Motion blur e ombre delle luci dinamiche pesano molto sulla GPU.",
"Les effets sont activés et désactivés par des correctifs du jeu au démarrage (patches/Bloodborne.xml). Le flou de mouvement et les ombres des lumières dynamiques pèsent lourd sur le GPU.",
"Effekte werden beim Start durch Spiel-Patches aktiviert und deaktiviert (patches/Bloodborne.xml). Bewegungsunschärfe und Schatten dynamischer Lichter belasten die GPU erheblich."}},
"Effekte werden beim Start durch Spiel-Patches aktiviert und deaktiviert (patches/Bloodborne.xml). Bewegungsunschärfe und Schatten dynamischer Lichter belasten die GPU erheblich.",
"Os efeitos são ativados e desativados por patches do jogo no início (patches/Bloodborne.xml). O desfoque de movimento e as sombras de luzes dinâmicas pesam bastante na GPU."}},
{"Free camera: hold Cross and press L3 (keyboard: Space + Z). Debug menu: left touchpad / Tab. Requires DbgFont14h.ccm and DbgFont14h.tpf in dvdroot_ps4/font from Nexus mod #253. Right touchpad: Backspace.",
{"Cámara libre: mantén Cross y pulsa L3 (teclado: Space + Z). Debug menu: panel táctil izquierdo / Tab. Requiere DbgFont14h.ccm y DbgFont14h.tpf en dvdroot_ps4/font del mod de Nexus n.º 253. Panel táctil derecho: Backspace.",
"Camera libera: tieni premuto Cross e premi L3 (tastiera: Space + Z). Debug menu: touchpad sinistro / Tab. Richiede DbgFont14h.ccm e DbgFont14h.tpf in dvdroot_ps4/font dalla mod Nexus #253. Touchpad destro: Backspace.",
"Caméra libre : maintenez Cross et appuyez sur L3 (clavier : Space + Z). Debug menu : pavé tactile gauche / Tab. Nécessite DbgFont14h.ccm et DbgFont14h.tpf dans dvdroot_ps4/font, depuis le mod Nexus #253. Pavé tactile droit : Backspace.",
"Freie Kamera: Cross halten und L3 drücken (Tastatur: Space + Z). Debug menu: linkes Touchpad / Tab. Benötigt DbgFont14h.ccm und DbgFont14h.tpf in dvdroot_ps4/font aus Nexus-Mod #253. Rechtes Touchpad: Backspace."}},
"Freie Kamera: Cross halten und L3 drücken (Tastatur: Space + Z). Debug menu: linkes Touchpad / Tab. Benötigt DbgFont14h.ccm und DbgFont14h.tpf in dvdroot_ps4/font aus Nexus-Mod #253. Rechtes Touchpad: Backspace.",
"Câmera livre: segure Cross e aperte L3 (teclado: Space + Z). Debug menu: touchpad esquerdo / Tab. Requer DbgFont14h.ccm e DbgFont14h.tpf em dvdroot_ps4/font, do mod n.º 253 do Nexus. Touchpad direito: Backspace."}},
{"Changes apply after restarting the game",
{"Los cambios se aplican al reiniciar el juego",
"Le modifiche si applicano dopo il riavvio del gioco",
"Les changements s'appliquent après le redémarrage du jeu",
"Änderungen gelten nach einem Neustart des Spiels"}},
"Änderungen gelten nach einem Neustart des Spiels",
"As mudanças valem após reiniciar o jogo"}},
{"Apply and restart game",
{"Aplicar y reiniciar el juego",
"Applica e riavvia il gioco",
"Appliquer et redémarrer le jeu",
"Anwenden und Spiel neu starten"}},
"Anwenden und Spiel neu starten",
"Aplicar e reiniciar o jogo"}},
{"Other",
{"Otros",
"Altro",
"Autre",
"Sonstiges"}},
"Sonstiges",
"Outros"}},
{"FPS counter in corner",
{"Contador de FPS en la esquina",
"Contatore FPS nell'angolo",
"Compteur de FPS dans le coin",
"FPS-Anzeige in der Ecke"}},
"FPS-Anzeige in der Ecke",
"Contador de FPS no canto"}},
{"Close",
{"Cerrar",
"Chiudi",
"Fermer",
"Schließen"}},
"Schließen",
"Fechar"}},
{"Settings are saved to bbport.ini",
{"Los ajustes se guardan en bbport.ini",
"Le impostazioni vengono salvate in bbport.ini",
"Les paramètres sont enregistrés dans bbport.ini",
"Einstellungen werden in bbport.ini gespeichert"}},
"Einstellungen werden in bbport.ini gespeichert",
"As configurações são salvas em bbport.ini"}},
{"%.0f FPS %.1f ms %s",
{"%.0f FPS %.1f ms %s",
"%.0f FPS %.1f ms %s",
"%.0f FPS %.1f ms %s",
"%.0f FPS %.1f ms %s",
"%.0f FPS %.1f ms %s"}},
@@ -335,102 +398,122 @@ inline const char* MenuTranslation(MenuLanguage language, const char* english) {
{"Aberración cromática",
"Aberrazione cromatica",
"Aberration chromatique",
"Chromatische Aberration"}},
"Chromatische Aberration",
"Aberração cromática"}},
{"Depth of field (DoF)",
{"Profundidad de campo (DoF)",
"Profondità di campo (DoF)",
"Profondeur de champ (DoF)",
"Tiefenunschärfe (DoF)"}},
"Tiefenunschärfe (DoF)",
"Profundidade de campo (DoF)"}},
{"Motion blur",
{"Desenfoque de movimiento",
"Motion blur",
"Flou de mouvement",
"Bewegungsunschärfe"}},
"Bewegungsunschärfe",
"Desfoque de movimento"}},
{"Ambient occlusion (SSAO)",
{"Oclusión ambiental (SSAO)",
"Occlusione ambientale (SSAO)",
"Occlusion ambiante (SSAO)",
"Ambient Occlusion (SSAO)"}},
"Ambient Occlusion (SSAO)",
"Oclusão ambiente (SSAO)"}},
{"Game's own anti-aliasing",
{"Antialiasing propio del juego",
"Anti-aliasing del gioco",
"Anticrénelage propre au jeu",
"Spieleigene Kantenglättung"}},
"Spieleigene Kantenglättung",
"Anti-aliasing do próprio jogo"}},
{"Shadows from dynamic lights",
{"Sombras de luces dinámicas",
"Ombre delle luci dinamiche",
"Ombres des lumières dynamiques",
"Schatten dynamischer Lichter"}},
"Schatten dynamischer Lichter",
"Sombras de luzes dinâmicas"}},
{"Screen-space reflections (not in original game)",
{"Reflejos en espacio de pantalla (no están en el juego original)",
"Riflessi nello spazio dello schermo (SSR) (assenti nel gioco originale)",
"Réflexions SSR (absentes du jeu original)",
"Screen-Space-Reflexionen (nicht im Originalspiel)"}},
"Screen-Space-Reflexionen (nicht im Originalspiel)",
"Reflexos em espaço de tela (não existem no jogo original)"}},
{"Skip startup intros",
{"Saltar las intros de inicio",
"Salta le intro all'avvio",
"Passer les vidéos d'introduction",
"Start-Intros überspringen"}},
"Start-Intros überspringen",
"Pular as intros de início"}},
{"Free camera (Cross + L3)",
{"Cámara libre (Cross + L3)",
"Camera libera (Cross + L3)",
"Caméra libre (Cross + L3)",
"Freie Kamera (Cross + L3)"}},
"Freie Kamera (Cross + L3)",
"Câmera livre (Cross + L3)"}},
{"Debug menu (requires font files)",
{"Debug menu (requiere archivos de fuente)",
"Debug menu (richiede i file dei font)",
"Debug menu (fichiers de police requis)",
"Debug menu (benötigt Schriftdateien)"}},
"Debug menu (benötigt Schriftdateien)",
"Debug menu (requer arquivos de fonte)"}},
{"Cheat: never die (not below 1 HP)",
{"Truco: no morir (nunca por debajo de 1 HP)",
"Cheat: non morire mai (mai sotto 1 HP)",
"Triche : ne jamais mourir (pas sous 1 HP)",
"Cheat: nie sterben (nicht unter 1 HP)"}},
"Cheat: nie sterben (nicht unter 1 HP)",
"Truque: não morrer (nunca abaixo de 1 HP)"}},
{"Cheat: enemies do not see you",
{"Truco: los enemigos no te ven",
"Cheat: i nemici non ti vedono",
"Triche : les ennemis ne vous voient pas",
"Cheat: Gegner sehen dich nicht"}},
"Cheat: Gegner sehen dich nicht",
"Truque: os inimigos não te veem"}},
{"Cheat: enemies do not hear you",
{"Truco: los enemigos no te oyen",
"Cheat: i nemici non ti sentono",
"Triche : les ennemis ne vous entendent pas",
"Cheat: Gegner hören dich nicht"}},
"Cheat: Gegner hören dich nicht",
"Truque: os inimigos não te ouvem"}},
{"Cheat: Rally never fades",
{"Truco: Rally nunca se desvanece",
"Cheat: Rally non svanisce mai",
"Triche : le Rally ne s'estompe jamais",
"Cheat: Rally verblasst nie"}},
"Cheat: Rally verblasst nie",
"Truque: o Rally nunca some"}},
{"Cheat: enemy control (R3 / L3)",
{"Truco: control de enemigos (R3 / L3)",
"Cheat: controllo dei nemici (R3 / L3)",
"Triche : contrôle des ennemis (R3 / L3)",
"Cheat: Gegnerkontrolle (R3 / L3)"}},
"Cheat: Gegnerkontrolle (R3 / L3)",
"Truque: controle de inimigos (R3 / L3)"}},
{"No Rally (health regain)",
{"Sin Rally (recuperación de salud)",
"Niente Rally (recupero di salute)",
"Pas de Rally (regain de santé)",
"Ohne Rally (Lebensrückgewinn)"}},
"Ohne Rally (Lebensrückgewinn)",
"Sem Rally (recuperação de vida)"}},
{"Camera further away",
{"Cámara más alejada",
"Camera più lontana",
"Caméra plus éloignée",
"Kamera weiter entfernt"}},
"Kamera weiter entfernt",
"Câmera mais afastada"}},
{"No camera auto-rotation",
{"Sin giro automático de la cámara",
"Niente rotazione automatica della camera",
"Pas de rotation automatique de la caméra",
"Keine automatische Kameradrehung"}},
"Keine automatische Kameradrehung",
"Sem giro automático da câmera"}},
{"Run with less stick tilt",
{"Correr con menos inclinación del stick",
"Corri con meno inclinazione dello stick",
"Courir en inclinant moins le stick",
"Laufen bei geringerer Stick-Neigung"}},
"Laufen bei geringerer Stick-Neigung",
"Correr com menos inclinação do analógico"}},
{"Dark Souls ragdoll physics",
{"Físicas ragdoll de Dark Souls",
"Fisica ragdoll di Dark Souls",
"Physique ragdoll de Dark Souls",
"Ragdoll-Physik wie in Dark Souls"}},
"Ragdoll-Physik wie in Dark Souls",
"Física ragdoll de Dark Souls"}},
};
const int column = int(language) - First;
if (column < 0 || column >= int(Row{}.size())) {
+1 -1
View File
@@ -34,7 +34,7 @@ void Set(Values& v, const std::string& key, const std::string& value) {
if (it != std::end(MenuLanguageCodes)) {
v.menu_language = MenuLanguage(it - std::begin(MenuLanguageCodes));
} else {
std::printf("Settings: unknown menu_language '%s' (expected en, ru, es, it, fr or de)\n",
std::printf("Settings: unknown menu_language '%s' (expected en, ru, es, it, fr, de or pt_BR)\n",
value.c_str());
}
} else if (key == "upscaler") {
+4 -3
View File
@@ -18,12 +18,13 @@ inline bool IsFsr4(int upscaler) {
enum Preset : int { NativeAA = 0, Quality, Balanced, Performance, UltraPerformance, PresetCount };
enum DebugView : int { DebugNone = 0, DebugReactive = 1, DebugMotion = 2, DebugViewCount };
/// Overlay languages, in the order of the menu's Language selector.
enum class MenuLanguage { English, Russian, Spanish, Italian, French, German, Count };
enum class MenuLanguage { English, Russian, Spanish, Italian, French, German, PortugueseBrazil, Count };
/// bbport.ini / BB_MENU_LANGUAGE codes, indexed by MenuLanguage.
inline constexpr const char* MenuLanguageCodes[] = {"en", "ru", "es", "it", "fr", "de"};
inline constexpr const char* MenuLanguageCodes[] = {"en", "ru", "es", "it", "fr", "de", "pt_BR"};
/// Each language's own name, for the selector.
inline constexpr const char* MenuLanguageNames[] = {"English", "Русский", "Español",
"Italiano", "Français", "Deutsch"};
"Italiano", "Français", "Deutsch",
"Português (Brasil)"};
/// Game effects switched by the community patches at start (patches.py EFFECTS): ini key,
/// menu label, default (the game's own behaviour).