+ ${uc\|input}` | Variable majuscule. Met le champ input en majuscule |
+| `${lc\|input}` | Variable minuscule. Met le champ input en minuscule |
+| `${cv:group\|input}` | Change le champ input avec une variable personnalisée correspondante (le champ group est facultatif) |
+| `${rdc\|input}` | |
+| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | Si le système d'exploitation correspond, la valeur sera `on match`, sinon `no match` |
-### Function variable example
+### Exemple de varable de fonction
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -196,7 +199,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
-will be replaced with these:
+
+sera remplacé par:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/fr-FR/markdown/executable-location.md b/src/lang/fr-FR/markdown/executable-location.md
index b13f57494f..a94b9dd37d 100644
--- a/src/lang/fr-FR/markdown/executable-location.md
+++ b/src/lang/fr-FR/markdown/executable-location.md
@@ -1,11 +1,13 @@
-# Executable (optional) `[supports environment variables]`
+# Exécutable `[supporte les variables d'environnement]`
-Path to emulator's executable. Can be a file or any valid system path.
+Chemin vers l'exécutable de l'émulateur. Peut être un fichier ou n'importe quel chemin valide.
-## Why optional?
+## Pourquoi optionnel ?
-In some cases you might want to run game from a some kind batch file which will also automatically run the emulator itself. If that is the case, then providing executable is unnecessary.
+Dans certains cas, il peut être souhaitable de lancer le jeu depuis un script batch qui lancera également l'émulateur lui-même. Si tel est le cas, alors il n'est pas nécessaire de renseigner l'exécutable.
-### So, how do I add files to Steam without default executable?
+Le dernier raccourci sera simplement `"${filePath}" --command-line-args`.
-All files retrieved by a parser will be treated as executables instead.
+### Alors, comment ajouter des fichiers à Steam sans exécutable par défaut ?
+
+Tous les fichiers récupérés par un analyseur seront traités comme des exécutables.
diff --git a/src/lang/fr-FR/markdown/executable-modifier.md b/src/lang/fr-FR/markdown/executable-modifier.md
index cd9e5cfc04..0219fa85a8 100644
--- a/src/lang/fr-FR/markdown/executable-modifier.md
+++ b/src/lang/fr-FR/markdown/executable-modifier.md
@@ -1,102 +1,23 @@
# Executable modifier `[supports variables]`{.noWrap}
-Default value is `"${exePath}"`{.noWrap}. This setting can be used to prepend or append desired characters to an executable which will be added to Steam (`Target` property). For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you can add `"cmd" /k start /min` to it by setting value to:
+Defaults to `"${exePath}"`{.noWrap} if unset. This field can be used to prepend or append desired characters to the executable which will be added to the Steam shortcut's `Target` property. For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you could start `Retroarch` minimized by setting the `Executable Modifier` "cmd" to:
+
```
"cmd" /k start /min "${exePath}"
```
-You can use any other variable to construct the final executable.
-
-This setting influences Steam's APP ID.
-
-
-## Shortcut Passthrough
-If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the target of that shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser.
-
-## Directory variables
-
-| Variable (insensible à la casse) | Corresponding value |
-| --------------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
-
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
-
-## Name variables
-
-| Variable (insensible à la casse) | Corresponding value |
-| --------------------------------:|:--------------------------------------------------------------- |
-| `${exeName}` | Name of executable (without extension) |
-| `${fileName}` | Name of file which was returned by a parser (without extension) |
-
-In case executable directory input is left **empty**, `${exeName}`{.noWrap} is equal to `${fileName}`{.noWrap}.
-
-## Extension variables
-
-| Variable (insensible à la casse) | Corresponding value |
-| --------------------------------:|:------------------------------------------------------------- |
-| `${exeExt}` | Extension of executable (with a dot) |
-| `${fileExt}` | Extension of file which was returned by a parser (with a dot) |
-In case executable directory input is left **empty**, `${exeExt}`{.noWrap} is equal to `${fileExt}`{.noWrap}.
+In this case the `Target` property would begin with:
-## Path variables
-
-| Variable (insensible à la casse) | Corresponding value |
-| --------------------------------:|:-------------------------------------------------- |
-| `${exePath}` | Full path to an executable |
-| `${filePath}` | Full path to a file which was returned by a parser |
-
-In case executable directory input is left **empty**, `${exePath}`{.noWrap} is equal to `${filePath}`{.noWrap}.
-
-## Parser variables
-
-| Variable (insensible à la casse) | Corresponding value |
-| --------------------------------:|:------------------------------------------------ |
-| `${title}` | Extracted title |
-| `${fuzzyTitle}` | Fuzzy matched title |
-| `${finalTitle}` | Title which was the end result of title modifier |
-
-In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
+```
+"cmd" /k start /min "C:\RetroArch\retroarch.exe"
+```
-## Function variables
+followed by whatever launch arguments you choose in the `Command Line Arguments` field.
-| Variable (insensible à la casse) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+You can use any other variable to construct the final executable.
-### Function variable example
+Ce paramètre influence l'ID APP de Steam.
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
-```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
-```
-will be replaced with these:
-```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+## Shortcut Passthrough
---On linux:
-file.so
---On Windows:
-file.dll
---On Mac OS:
-file
-```
+If you enable `Follow .lnk/.desktop to destination` and the glob search finds a `.lnk` or `.desktop` file, ie a shortcut, then the `${filePath}` variable will contain the target of the shortcut rather than the path to the shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the `Command Line Arguments` field in the parser.
diff --git a/src/lang/fr-FR/markdown/fuzzy-matching.md b/src/lang/fr-FR/markdown/fuzzy-matching.md
index ed893dbd01..413ecdcdfb 100644
--- a/src/lang/fr-FR/markdown/fuzzy-matching.md
+++ b/src/lang/fr-FR/markdown/fuzzy-matching.md
@@ -1,6 +1,6 @@
# Fuzzy matching
-Fuzzy (natural) matching will be done against the tittle list provided by [SteamGridDB](http://www.steamgriddb.com/). It will try to fill in missing characters for titles which will increase probability for finding images.
+. It will try to fill in missing characters for titles which will increase probability for finding images.
Fuzzy titles are available as title modifiers via `${fuzzyTitle}`. Currently fuzzy matching is only enabled for `ROM Parsers` and `Manual Parsers`.
diff --git a/src/lang/fr-FR/markdown/glob-parser-input.md b/src/lang/fr-FR/markdown/glob-parser-input.md
index 996ae77ce1..2a43592892 100644
--- a/src/lang/fr-FR/markdown/glob-parser-input.md
+++ b/src/lang/fr-FR/markdown/glob-parser-input.md
@@ -1,4 +1,4 @@
-# Glob Parser specific inputs
+# Glob Parser Specific Inputs
## User's glob
diff --git a/src/lang/fr-FR/markdown/glob-regex-parser-input.md b/src/lang/fr-FR/markdown/glob-regex-parser-input.md
index 22c1f5cea6..6491148a25 100644
--- a/src/lang/fr-FR/markdown/glob-regex-parser-input.md
+++ b/src/lang/fr-FR/markdown/glob-regex-parser-input.md
@@ -1,4 +1,4 @@
-# Glob-regex Parser specific inputs
+# Glob-regex Parser Specific Inputs
## User's glob-regex
@@ -6,7 +6,7 @@ This is where you create your glob for extracting title from file path. Please r
## How does it work?
-In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
+In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
| User's glob | Position |
| --------------------- | --------------------------- |
diff --git a/src/lang/fr-FR/markdown/gog-parser-input.md b/src/lang/fr-FR/markdown/gog-parser-input.md
index 756fa3de77..bf185f2c23 100644
--- a/src/lang/fr-FR/markdown/gog-parser-input.md
+++ b/src/lang/fr-FR/markdown/gog-parser-input.md
@@ -1,10 +1,20 @@
-# Unique inputs for GOG Galaxy Parser
+# GOG Galaxy Parser Specific Inputs
## Galaxy Path Override
-By default Steam ROM Manager assumes your Galaxy Client is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe`. This field allows you to override that path if your GOG Galaxy installation is elsewhere.
-This field is actually only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of the Galaxy Client.
+By default Steam ROM Manager assumes your GOG Galaxy executable is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe` on Windows and `/Applications/GOG Galaxy.app/Contents/MacOS/GOG Galaxy` on Mac. This field allows you to override that path if your GOG Galaxy executable is elsewhere.
-## Launch Via GOG Galaxy `[Recommend disabled]`
+Specifying the correct location of GOG Galaxy's executable is only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of GOG Galaxy's executable.
-What it sounds like, this toggle let's you set whether games will launch via GOG Galaxy or directly. Note that for some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+## Launch via GOG Galaxy `[Recommend disabled]`
+
+What it sounds like, this toggle determines whether games launch via GOG Galaxy or directly. For some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+
+## Parse Linked Executables from GOG Galaxy
+
+If enabled, SRM will pull in not only GOG games aquired from GOG Galaxy's store, but also those you have manually linked executables for in GOG Galaxy. This is desirable if those games are not being parsed into SRM elsewhere.
+
+A caveat is that because GOG Galaxy does not store the names linked executables in its database, SRM will use the directory name of the executable on Windows (e.g. `C:\\path\\to\\Hoa\\LaunchHoa.exe` would be assigned the title `Hoa`) and the executable name on Mac (e.g. `/Applications/Symphonia.app` would be assigned the title `Symphonia`).
+
+## Parse using Registry instead of Galaxy DB `[Windows only] [Recommend disabled]`
+This option will parse the Windows Registry for installed GOG games instead of GOG Galaxy's SQL database, allowing the parser to work even if GOG Galaxy is not installed. If this is enabled, `Parse Linked Executables` will of have no effect, but `Launch via GOG Galaxy` will work as normal.
\ No newline at end of file
diff --git a/src/lang/fr-FR/markdown/image-pool.md b/src/lang/fr-FR/markdown/image-pool.md
index 8b54cf72d9..0b4e4a94fb 100644
--- a/src/lang/fr-FR/markdown/image-pool.md
+++ b/src/lang/fr-FR/markdown/image-pool.md
@@ -1,3 +1,5 @@
-# Image pool `[supports variables]`{.noWrap}
+# Artwork pool `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting is used to allow different apps share the same images -- same "image pool", or allow unique image pool per app. To use unique image pool per app just set it to something unique. For example `${fuzzyTitle} SNES`{.noWrap}.
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset.
+
+This field is used to allow games from different parsers to share the same images (i.e. the same "image pool") if they have the same title. If you want different parsers not to share images for games with the same title, just set this field to something unique, for example `${fuzzyTitle} SNES`{.noWrap} or `${fuzzyTitle} ${parserTitle}`{.noWrap}.
diff --git a/src/lang/fr-FR/markdown/image-providers.md b/src/lang/fr-FR/markdown/image-providers.md
index 0b778780c6..f70a9275f6 100644
--- a/src/lang/fr-FR/markdown/image-providers.md
+++ b/src/lang/fr-FR/markdown/image-providers.md
@@ -1,7 +1,7 @@
-# Image providers
+# Artwork providers
-Here you can select image providers that are used to retrieve images. This option is for this configuration only.
+Here you can select artwork providers (online sources of game art) that are used by SRM to get art for your games.
## Similar option in "Settings" menu
-Settings menu has "Enabled providers" which enable image providers globally -- if it's not enabled in Settings, it won't work.
+Settings menu has "Enabled providers" which enable artwork providers globally -- if it's not enabled in Settings, it won't work.
diff --git a/src/lang/fr-FR/markdown/intro.md b/src/lang/fr-FR/markdown/intro.md
index 6aaddc8722..41d6aa0f8c 100644
--- a/src/lang/fr-FR/markdown/intro.md
+++ b/src/lang/fr-FR/markdown/intro.md
@@ -8,8 +8,8 @@ N'oubliez pas également de consulter la FAQ. Si vous avez encore des questions
Après enregistrement de la configuration de l'analyseur, **1** des **3** couleurs seront affichées à côté de son titre :
- -- Configuration activée. Cette configuration sera utilisée lors de la génération d'une liste dans la page d'**aperçu**.
+ -- Configuration activée. This configuration will be used when generating a list in **Add Games** page.
- -- Modifications non enregistrées. Cette configuration ne sera pas utilisée lors de la génération d'une liste dans la page d'**aperçu**, cependant une version **antérieure** sera utilisée à la place.
+ -- Modifications non enregistrées. This configuration will not be used when generating a list in **Add Games** page, however earlier **saved** version will be used instead.
- -- Configuration désactivée. Cette configuration ne sera pas utilisée lors de la génération d'une liste dans la page d'**aperçu**.
\ No newline at end of file
+ -- Configuration désactivée. This configuration will not be used when generating a list in **Add Games** page.
\ No newline at end of file
diff --git a/src/lang/fr-FR/markdown/itch-io-parser-input.md b/src/lang/fr-FR/markdown/itch-io-parser-input.md
index 4b0057c170..ffa409af96 100644
--- a/src/lang/fr-FR/markdown/itch-io-parser-input.md
+++ b/src/lang/fr-FR/markdown/itch-io-parser-input.md
@@ -1,4 +1,4 @@
-# itch.io Parser specific inputs
+# itch.io Parser Specific Inputs
## itch.io AppData Path Override
By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere.
diff --git a/src/lang/fr-FR/markdown/itch-io-parser.md b/src/lang/fr-FR/markdown/itch-io-parser.md
index 7f29ffc42d..accb8b5ad2 100644
--- a/src/lang/fr-FR/markdown/itch-io-parser.md
+++ b/src/lang/fr-FR/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
# itch.io Parser
-This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/fr-FR/markdown/legendary-parser-input.md b/src/lang/fr-FR/markdown/legendary-parser-input.md
index 80ca0bcbbc..4a826e43da 100644
--- a/src/lang/fr-FR/markdown/legendary-parser-input.md
+++ b/src/lang/fr-FR/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
-# Legendary Parser specific inputs
+# Legendary Parser Specific Inputs
+
+## Legendary Path Override
+
+By default Steam ROM Manager uses `(Get-Command legendary).Path` on Windows and `which legendary` on Linux and Mac to determine the location of your Legendary executable. This field allows you to override that path.
+
+Specifying the correct location of the Legendary executable is only necessary if you enable launch via Legendary (see below), as otherwise SRM has no need of the location of Legendary's executable.
## Legendary `installed.json` Path Override
Most users shouldn't use this, as they use the standard `Legendary` installation where installed games manifest will be located at `~/.config/legendary/installed.json`.
If, however, for some reason your installed games manifest is located in a non-typical location then you can specify the correct manifest path here.
+
+## Launch via Legendary `[Recommend enabled]`
+
+What it sounds like, this toggle determines whether games launch via Legendary or directly. Launching via Legendary provides access to Epic's online services.
diff --git a/src/lang/fr-FR/markdown/local-images.md b/src/lang/fr-FR/markdown/local-images.md
index cff60e5674..5da2e5ae4c 100644
--- a/src/lang/fr-FR/markdown/local-images.md
+++ b/src/lang/fr-FR/markdown/local-images.md
@@ -1,4 +1,4 @@
-# Local images (optional) `[supports variables]`{.noWrap}
+# Local images `[supports variables]`{.noWrap}
Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
diff --git a/src/lang/fr-FR/markdown/manual-parser-input.md b/src/lang/fr-FR/markdown/manual-parser-input.md
index bc1848d45a..65265ebd32 100644
--- a/src/lang/fr-FR/markdown/manual-parser-input.md
+++ b/src/lang/fr-FR/markdown/manual-parser-input.md
@@ -1,4 +1,4 @@
-# Manual Parser specific inputs
+# Manual Parser Specific Inputs
## Manifests Directory `[Supports Environment Variables]`{.noWrap}
@@ -17,7 +17,8 @@ The names of the files do not matter. What does matter is that each `manifest.js
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args",
+ "appendArgsToExecutable": false
}
```
Or a list of titles, like so:
@@ -27,15 +28,19 @@ Or a list of titles, like so:
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args".
+ "appendArgsToExecutable": true
},
{
"title": "gameTitle2",
"target": "game2/path/target.sh",
"startIn": "game2/path",
- "launchOptions": "--args2"
+ "launchOptions": "--args2",
+ "appendArgsToExecutable": false
}
]
```
A typical use case would be to use a single json file per game type, or per year, etc.
+
+Just like for ROM parsers, `appendArgsToExecutable` determines whether `launchOptions` are appended to the shortcut `target` or appear separately as launch options in steam.
diff --git a/src/lang/fr-FR/markdown/non-srm-shortcuts-parser.md b/src/lang/fr-FR/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..4485008a1a
--- /dev/null
+++ b/src/lang/fr-FR/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,29 @@
+# Non-SRM Shortcut Parser
+
+This parser imports non SRM steam shortcuts into SRM so their artowrk can be managed. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
+
+## User accounts
+
+Used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
+
+```
+${...}
+```
+
+You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
+
+ {.fitImage .center}
+
+For example, this is how you specify account for "Banana" and "Apple":
+
+```
+${Banana}${Apple}
+```
+
+You can also limit accounts by specifying their ids directly. For example:
+
+```
+${56489124}${21987424}
+```
+
+Would limit the search to `steam/userdata/56489124` and `steam/userdata/21987424`.
diff --git a/src/lang/fr-FR/markdown/parser-env-variables.md b/src/lang/fr-FR/markdown/parser-env-variables.md
index d86403ceae..fdb24e1092 100644
--- a/src/lang/fr-FR/markdown/parser-env-variables.md
+++ b/src/lang/fr-FR/markdown/parser-env-variables.md
@@ -13,3 +13,5 @@ These variables are pre parsed and can be used even in the Rom Directory, Steam
The utility of the environment variable `${srmdir}` is to make SRM fully portable, eg if you wanted to have the directory layout `D:\Games\Roms` and `D:\Games\PortableSRM\SRM.exe` then setting the field Roms Directory to be `${srmdir}${/}..${/}Roms` would allow you to move the Games directory somewhere else without breaking your setup.
+
+Function variables can also be used in fields that permit environment variables (e.g. `${os:win|C:\path\to\startdir|${os:linux|/path/to/startdir}}`)
diff --git a/src/lang/fr-FR/markdown/parser-variables.md b/src/lang/fr-FR/markdown/parser-variables.md
index d9f81c9992..32eb0efc09 100644
--- a/src/lang/fr-FR/markdown/parser-variables.md
+++ b/src/lang/fr-FR/markdown/parser-variables.md
@@ -4,13 +4,13 @@ Voici des tables de variables qui peuvent être utilisées avec des options qui
## Variables de répertoire
-| Variable (insensible à la casse) | Valeur correspondante |
-| --------------------------------:|:----------------------------------------------- |
-| `${exeDir}` | Répertoire exécutable |
-| `${romDir}` | Répertoire des ROMs |
-| `${steamDir}` | Répertoire Steam |
-| `${startInDir}` | Répertoire "Démarrer" |
-| `${fileDir}` | Fichiers retournés par un analyseur, répertoire |
+| Variable (insensible à la casse) | Valeur correspondante |
+| --------------------------------:|:----------------------------------------- |
+| `${exeDir}` | Répertoire exécutable |
+| `${romDir}` | Répertoire des ROMs |
+| `${steamDir}` | Répertoire Steam |
+| `${startInDir}` | Répertoire "Démarrer" |
+| `${fileDir}` | Files returned by a parser or a directory |
Dans le cas où l'entrée du répertoire exécutable est laissée **vide**, `${exeDir}`{.noWrap} est égal à `${fileDir}`{.noWrap}. De plus, si le répertoire "Démarrer" est laissé **vide**, `${startInDir}`{.noWrap} est égal à `${exeDir}`{.noWrap}.
@@ -48,6 +48,7 @@ Dans le cas où l'entrée chemin complet vers un exécutable est laissée **vide
| `${title}` | Extracted title |
| `${fuzzyTitle}` | Fuzzy matched title |
| `${finalTitle}` | Title which was the end result of title modifier |
+| `${parserTitle}` | The value of the `Parser Title` field |
In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
@@ -65,6 +66,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -74,7 +76,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/fr-FR/markdown/parsers-list.md b/src/lang/fr-FR/markdown/parsers-list.md
index 3598f9dd76..06b3bd9d05 100644
--- a/src/lang/fr-FR/markdown/parsers-list.md
+++ b/src/lang/fr-FR/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# Analyseurs
-Dans cette page, vous pouvez choisir les systèmes que vous souhaitez ajouter à votre bibliothèque Steam. Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+Dans cette page, vous pouvez choisir les systèmes que vous souhaitez ajouter à votre bibliothèque Steam. Simply toggle them on or off, after that click on **Add Games**
diff --git a/src/lang/fr-FR/markdown/rom-directory.md b/src/lang/fr-FR/markdown/rom-directory.md
index 6a489adbad..4c20df32aa 100644
--- a/src/lang/fr-FR/markdown/rom-directory.md
+++ b/src/lang/fr-FR/markdown/rom-directory.md
@@ -1,3 +1,3 @@
-# Répertoire ROMs `[prend en charge les variables d'environnement]`
+# ROMs directory `[supports env variables]`
Répertoire de départ des jeux ou fichiers d'applications.
diff --git a/src/lang/fr-FR/markdown/settings.md b/src/lang/fr-FR/markdown/settings.md
index 9b0b4d972d..e4dc85e5eb 100644
--- a/src/lang/fr-FR/markdown/settings.md
+++ b/src/lang/fr-FR/markdown/settings.md
@@ -1,31 +1,51 @@
## Paramètres généraux
+### Check for updates on start `[Recommend enabled]`
+Check if an update for SRM is available and prompt to update each time SRM launches.
+### Auto kill Steam `[Recommend enabled]`
+SRM will attempt to kill all running instances of Steam whenever it needs to read/write collections information (specifically when saving to steam from `Add Games` and when removing all games from `Settings`).
+### Auto restart Steam `[Recommend enabled]`
+SRM will attempt to restart Steam after killing it and completing whatever collections related task required killing Steam in the first place. Requires `Auto kill Steam` to be enabled.
### Mode hors ligne `[Recommander désactivé]`
-
Si cette option est activée, SRM ne fait aucune requête de réseau, utile si vous voulez seulement utiliser SRM pour les images locales.
### Effacer automatiquement les logs avant de tester les analyseurs `[Recommander désactivé]`
Lorsque cette option est activée, les logs sont effacés chaque fois qu'un analyseur est testé.
+## Add Games
### Afficher les images Steam actuelles par défaut `[Recommander activée]`
Lorsque cette option est activée, ce paramètre indique à SRM par défaut d'afficher l'image actuellement utiliser dans Steam pour une application donnée. Si elle est désactivée, alors à chaque fois que SRM est lancé (et enregistré), toutes les images seront réinitialisées.
### Retirer les raccourcis pour les analyseurs désactivés `[Recommander désactivé]`
Lorsque cette option est activée, la désactivation d'un analyseur et l'exécution de SRM supprimera toutes les entrées ajoutées et toutes les images en rapport avec l'analyseur désactivé. Utile si vous voulez que votre bibliothèque Steam soit dans une correspondance 1-1 avec les analyseurs activés.
-
+### Disable saving of steam categories `[Recommend disabled]`
+SRM will not write any collections information when saving to Steam. This allows SRM to perform its tasks while Steam is still running, at the obvious cost that added games will not be categorized.
+### Hide Steam username from Add Games
+Steam does not allow user's to alter their Steam usernames. In some cases (childish names, dead names, etc), users may no longer wish to see their Steam usernames. This setting hides it from `Add Games`.
+### Remove all added games and controllers
+Undo all SRM added changes from Steam.
+### Remove all controllers only
+Undo all SRM added controller settings from Steam.
## Paramètres de correspondance approximative
### Log matching results `[Recommend disabled]`
When enabled more verbose logs appear for the fuzzy title matcher in the `Event log`. Useful for debugging incorrect fuzzy matches.
-
### Reset fuzzy list
Resets the stored list of titles used for fuzzy matching to the list of titles returned by `SteamGridDB` (removes any user added titles).
### Reset fuzzy cache
Clears the cache of titles that fuzzy matching has already seen (try this if changes you make to fuzzy list are not resulting in changes to titles in SRM).
-
## Paramètres du fournisseur d'images
-### Précharger toutes les images trouvées `[Recommander désactivé]`
-Lorsque cette option est activée, SRM préchargera toutes les images disponibles pour chaque jeu, plutôt que de charger une image à la fois au fur et à mesure que l'utilisateur se déplace dans les images. Ne l'activez pas à moins que vous n'ayez une bonne raison et une très petite bibliothèque de jeux, sinon cela pourrait donner lieu à de très grandes (et lentes) requêtes réseau.
+### Artwork loading strategy `[Recommend Load artwork lazily]`
+This is the strategy SRM uses to pull artwork thumbnails for the `Add Games` UI. If you are parsing a lot of games, `Load artwork lazily` is recommended. `Preload first artwork` will try to pull the first piece of artwork for each game in each artwork category, and `Preload all artwork` will try to pull all available artwork for each game in each artwork category. `Preload all artwork` will cause network and performance issues unless the number of games is quite small (less than `30` or so).
### Activés fournisseurs d'images
-Réglage global pour désactiver certains fournisseurs. Actuellement, le seul fournisseur d'images est `SteamGridDB` puisque ConsoleGrid et RetroGaming.cloud sont défunts.
-
+Global setting to enable/disable particular image providers. Current options are `SteamGridDB` and `Steam Official`.
+### DNS manual override
+Set this if you want SRM to do DNS resolution internally, as opposed to relying on your system's default DNS server. This solves many timeout issues on the Steam Deck.
+### Batch size for image downloads
+Number of images SRM will attempt to download at once when saving to Steam. May help to lower this if you are receiving timeout errors from SGDB.
+### Nuke artwork choice cache
+SRM attempts to remember your artwork choices, this button forcibly forgets all of them.
+### Nuke local artwork backups
+This deletes all artwork backups created for parsers with `Backup artwork locally` enabled.
## Paramètres de variable/préréglage de la communauté
### Forcer le téléchargement des variables personnalisées.
Réinitialise le fichier JSON des variables personnalisées qui est utilisé pour certains préréglages en utilisant le fichier sur le github SRM. Utile si le fichier JSON des variables personnalisées a été corrompu.
### Forcer le téléchargement des configurations prédéfinies.
Réinitialise les fichiers JSON pour les préréglages de l'analyseur en utilisant le fichier sur le github SRM. Utile si votre liste de pré-configurations n'est pas automatiquement mise à jour pour une raison quelconque, ou est corrompue.
+### Force download shell scripts
+Re fetches the shell scripts SRM uses to perform certain tasks.
diff --git a/src/lang/fr-FR/markdown/sgdb-api-input.md b/src/lang/fr-FR/markdown/sgdb-api-input.md
index 553f4fda77..7651927a64 100644
--- a/src/lang/fr-FR/markdown/sgdb-api-input.md
+++ b/src/lang/fr-FR/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
This set of options are direct inputs into the APIs of image providers, for example SteamGridDB's [API](https://www.steamgriddb.com/api/v2).
-An interesting quirk of these settings is that re-generating the preview (hitting the `Generate App List` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove App List` button in preview before hitting `Generate App List`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the preview with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
+An interesting quirk of these settings is that re-generating the game list in Add Games (hitting the `Refresh` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove from Steam` button in Add Games before hitting `Refresh`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the game list with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
## SteamGridDB
diff --git a/src/lang/fr-FR/markdown/start-in-directory.md b/src/lang/fr-FR/markdown/start-in-directory.md
index 86cf962c23..df84a987d5 100644
--- a/src/lang/fr-FR/markdown/start-in-directory.md
+++ b/src/lang/fr-FR/markdown/start-in-directory.md
@@ -1,6 +1,6 @@
-# "Start In" directory (optional) `[supports environment variables]`{.noWrap}
+# "Start In" directory `[supports env variables]`
-By default "Start In" directory is set to executable's directory:
+If `"Start In" Directory` is unset it defaults to the executable's directory. If not executable is set, it defaults to the directory of the ${filePath} variable:
 {.fitImage.center}
@@ -11,4 +11,5 @@ This option allows you to specify any directory you want as a "Start In" directo
It is useful when you're using batch files to start emulator and a game, but emulator requires a specific "Start In" directory to work properly.
## Shortcut Passthrough
+
If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the directory of the target of that shortcut. In the future, it will be overridden with the start in directory of that shortcut.
diff --git a/src/lang/fr-FR/markdown/steam-category.md b/src/lang/fr-FR/markdown/steam-category.md
index 8a7cf5c6f7..39fc54f3de 100644
--- a/src/lang/fr-FR/markdown/steam-category.md
+++ b/src/lang/fr-FR/markdown/steam-category.md
@@ -1,21 +1,13 @@
-# Catégorie Steam (facultatif) `[prend en charge les variables]`{.noWrap}
+# Steam category`{.noWrap}
+
+Hit the little plus sign to add your first category.
-Aussi connu sous le nom de "tags", peut être utilisé pour regrouper les applications dans Steam. Afin de définir la catégorie Steam, la syntaxe doit être suivante:
-```
-${...}
-```
-Par exemple, c'est ainsi que vous spécifiez les catégories pour "WII" et "GBA" (jumelées avec "ROMS"):
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
Voici à quoi ressemblera la catégorie "WII" dans Steam:

## Émojis et caractères Unicode non standard
+
Veuillez noter que ce champ fonctionne parfaitement avec des émojis comme `🎮` dans les noms de catégories.
Vous pouvez les trouver ici: [https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/fr-FR/markdown/steam-directory.md b/src/lang/fr-FR/markdown/steam-directory.md
index cc1f6297a5..6a566f3a48 100644
--- a/src/lang/fr-FR/markdown/steam-directory.md
+++ b/src/lang/fr-FR/markdown/steam-directory.md
@@ -1,4 +1,4 @@
-# Répertoire Steam `[prend en charge les variables d'environnement]`{.noWrap}
+#
Doit être un répertoire Steam valide qui contient l'exécutable Steam. Pour que le compte Steam soit détecté, l'utilisateur doit être connecté au moins une fois.
diff --git a/src/lang/fr-FR/markdown/steam-parser-input.md b/src/lang/fr-FR/markdown/steam-parser-input.md
index 75f21d380d..1174b71b64 100644
--- a/src/lang/fr-FR/markdown/steam-parser-input.md
+++ b/src/lang/fr-FR/markdown/steam-parser-input.md
@@ -1,4 +1,4 @@
-# Steam Parser specific inputs
+# Steam Parser Specific Inputs
## Find artwork for games only
If enabled SRM will filter out any Steam applications that are not full games, such as demos and tools like `3DMark` or `Wallpaper Engine`.
diff --git a/src/lang/fr-FR/markdown/steam-parser.md b/src/lang/fr-FR/markdown/steam-parser.md
index bcc53918a0..bca7da1492 100644
--- a/src/lang/fr-FR/markdown/steam-parser.md
+++ b/src/lang/fr-FR/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Analyseur Steam
-Cet analyseur importe Steam games dans SRM. Il n'ajoute pas de raccourcis, mais il vous permet de définir l'artwork pour vos jeux Steam. Par défaut, l'analyseur obtiendra des jeux de tous les comptes dans le répertoire Steam spécifié — si vous préférez obtenir uniquement les jeux d'un ensemble de comptes précis veiller les spécifier dans le champ `Comptes utilisateur`.
-
-## Limitations
-Malheureusement pour le moment, cet analyseur ne fonctionne que pour les jeux Steam **qui sont dans au moins une catégorie**. La raison en est que Steam stocke uniquement votre liste complète de jeux localement s'ils sont catégorisés. Parfois, pour des raisons inconnues, les jeux seront stockés localement et l'analyseur fonctionnera, mais pour en être sûr, la meilleure chose à faire est juste **de créer une catégorie Steam** qui a tous vos jeux Steam dedans.
-
-## Comptes utilisateur (facultatif)
-
-Peut être utilisé pour limiter la configuration à des comptes utilisateurs spécifiques. Afin de définir des comptes utilisateurs, la syntaxe suivante doit être utilisée:
-```
-${...}
-```
-Vous **devez** utiliser le nom d'utilisateur que vous utilisez pour vous **connecter** à Steam **si** [utiliser les noms de compte](#what-does-use-account-credentials-do) est activé:
-
- {.fitImage.center}
-
-Par exemple, c'est ainsi que vous spécifiez le compte pour "Banana" et "Apple":
-
-```
-${Banana}${Apple}
-```
-
-Si [utiliser les noms de compte](#what-does-use-account-credentials-do) est désactivés, vous pouvez toujours limiter les comptes en spécifiant leurs identifiants directement:
-
-```
-${56489124}${21987424}
-```
-
-## Que fait "Ignorer les comptes trouvés avec des données manquantes"?
-
-Parfois, le fichier Steam qui contient les identifiants, peut contenir des utilisateurs qui n'ont pas de répertoire de données créé (peut avoir été supprimé manuellement, etc.). Vous pouvez spécifier d'ignorer ces comptes en activant cette option.
-
-## Que fait "Utiliser les noms de compte"?
-
-Tente de rechercher les noms de compte dans le répertoire Steam. Les noms de compte peuvent alors être utilisé pour filtrer les comptes sans avoir à connaître leurs identifiants.
-
-### Attention!
-
-Si la sauvegarde des informations d'identification est désactivée, cette option empêchera la recherche de comptes d'utilisateur.
+This parser imports steam games into SRM so you can manage their artwork. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
\ No newline at end of file
diff --git a/src/lang/fr-FR/markdown/title-from-variable.md b/src/lang/fr-FR/markdown/title-from-variable.md
index bb6e4a52a2..6aa467e98c 100644
--- a/src/lang/fr-FR/markdown/title-from-variable.md
+++ b/src/lang/fr-FR/markdown/title-from-variable.md
@@ -1,43 +1,40 @@
-# Title from custom variable (optional)
+# Title from custom variable
-Allows to overwrite extracted title with a custom variable. This is done right after title extraction, meaning that the replaced title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+Allows one to overwrite the extracted title with a custom variable, pulled from the `json` files described below. This happens right after title extraction, meaning that the new title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+
+Title matching is limited to specific groups of custom variables. For example, this is how you specify groups "FBN" and "PSN":
-Title matching can be limited to specific groups of custom variables. In order to specify groups, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify groups for "RPCS3" and "rpcs3":
```
-${RPCS3}${rpcs3}
+${RPCS3}${PSN}
```
-Make sure you **toggle enable to on**.
-
-
-## Case-insensitive option
-
-If this option is enabled, case-insensitive matching will be done and first matched custom variable will be used.
-
-## Note. This feature is **experimental**
+# How it works
-Basically, it might change in the future release (very unlikelly). Furthermore, currently the only way to add variables is to create/edit `customVariables.json` used by SRM directly.
+There are two variable files, `customVariables.json` which is maintained by SRM (don't change this one, your changes will be overwritten every time SRM restarts) and `userVariables.json` which is where you should put your own variables. Both files are located in SRM's `Config Directory`.
-This file is/shoud be located in SRM's `userData` directory.
-
-SRM will throw error unless the following JSON structure is used:
+Both `customVariables.json` and `userVariables.json` have the same JSON structure. SRM will throw an error unless the following JSON structure is used:
```
{
- "RPCS3": {
+ "Group1": {
"NPUB30698": "Catherine",
"NPUB30024": "1942: Joint Strike",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
+ "Group2": {
+ "The Legend Of Zelda": "The Legend Of Link",
+ ...
},
...
}
```
-Then if your user glob were `MyDir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `MyDir`, you would set the title from custom variable field to `${Custom Stuff}` to obtain a final title of "The Legend of Link".
+Then if your user glob were `romsdir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `romsdir`, you would set the title from custom variable field to `${Group2}` to obtain a title of "The Legend of Link".
+
+## Case-insensitive variables
+
+If enabled, case-insensitive matching will be done and first matched custom variable will be used.
+
+## Skip file if variable not found
+
+If enabled, titles that don't match a variable will be excluded.
diff --git a/src/lang/fr-FR/markdown/title-modifier.md b/src/lang/fr-FR/markdown/title-modifier.md
index 791e000e27..4ecb2d02db 100644
--- a/src/lang/fr-FR/markdown/title-modifier.md
+++ b/src/lang/fr-FR/markdown/title-modifier.md
@@ -1,9 +1,11 @@
# Title modifier `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting can be used to prepend or append desired characters to a title which will be added to Steam. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset. This setting can be used to prepend or append desired characters to a Steam shortcut's `Title`. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+
```
${fuzzyTitle} (1.7.5)
```
+
You can use `${title}`{.noWrap} or any other variable to construct the final title.
This setting influences Steam's APP ID.
diff --git a/src/lang/fr-FR/markdown/uplay-parser-input.md b/src/lang/fr-FR/markdown/uplay-parser-input.md
index b74a7754cc..f9780c1077 100644
--- a/src/lang/fr-FR/markdown/uplay-parser-input.md
+++ b/src/lang/fr-FR/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# Entrées uniques pour l'analyseur UPlay
+# UPlay Parser Specific Inputs
+
## Remplacer le répertoire Ubisoft
Par défaut, Steam ROM Manager suppose que votre installation UPlay est située à `C:\Program Files (x86)\Ubisoft`. Ce champ vous permet de remplacer ce chemin si votre installation UPlay est ailleurs.
## Lancez via UPlay `[Recommander désactivé]`
-
Cette option vous permet de décider si les jeux seront lancés par l'intermédiaire d'UPlay ou directement.
Pour UPlay, cela n'a pas beaucoup d'importance car les jeux UPlay lanceront automatiquement UPlay en arrière-plan, même lorsqu'ils sont lancés à partir de l'exécutable. L'overlay Steam ne fonctionnera pas lorsque `Lancer via UPlay` est activé, alors que les surcouches Steam et Ubisoft fonctionnent quand `Lancer via UPlay` est désactivé.
diff --git a/src/lang/fr-FR/markdown/user-accounts.md b/src/lang/fr-FR/markdown/user-accounts.md
index 095a91d3b0..c0101b5f74 100644
--- a/src/lang/fr-FR/markdown/user-accounts.md
+++ b/src/lang/fr-FR/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# Comptes utilisateur (facultatif)
+# User accounts
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
-
-`${...}`
-
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either:
-
-* The account id is the name of the account directory that appears in `/path/to/steam/userdata`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
+This field is used to limit SRM's effects to specific user accounts. It can be set to `Global` or over ridden per parser.
## Warning
-Vous **devez** utiliser le nom d'utilisateur que vous utilisez pour vous **connecter** à Steam **si** [utiliser les noms de compte](#what-does-use-account-credentials-do) est activé: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and `Choose Accounts` will only be able to pull your `Steam IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Settings` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
diff --git a/src/lang/fr-FR/markdown/user-exceptions.md b/src/lang/fr-FR/markdown/user-exceptions.md
index a53dd0d6d9..a6e47de497 100644
--- a/src/lang/fr-FR/markdown/user-exceptions.md
+++ b/src/lang/fr-FR/markdown/user-exceptions.md
@@ -12,7 +12,7 @@ The `Extracted Title` field matches in two ways:
Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`.
-Exceptions generated from `Preview` will always be in the form `Extracted Title ${id:XXXXXX}`.
+Exceptions generated from `Add Games` will always be in the form `Extracted Title ${id:XXXXXX}`.
## New Display Title
diff --git a/src/lang/he-IL/langStrings.json b/src/lang/he-IL/langStrings.json
index d42bc546d5..60484346ba 100644
--- a/src/lang/he-IL/langStrings.json
+++ b/src/lang/he-IL/langStrings.json
@@ -14,17 +14,17 @@
"games": "All Artwork"
},
"by": "by",
- "refreshImages": "Refresh images",
- "saveImage": "Save image to file",
- "addLocalImages": "Add local images",
- "retryDownload": "Retry download",
- "generateAppList": "Parse",
+ "refreshImages": "Refresh artwork",
+ "saveImage": "Save artwork to file",
+ "addLocalImages": "Add local artwork",
+ "retryDownload": "Retry artwork download",
+ "generateAppList": "Refresh",
"saveAppList": "Save to Steam",
"removeAppList": "Remove from Steam",
"remainingImages": "Retrieving urls:",
"stopUrlRetrieving": "Stop",
- "exportSelections": "Export",
- "importSelections": "Import",
+ "exportSelections": "Export art",
+ "importSelections": "Import art",
"backButton": "Back",
"logButton": "Log"
},
@@ -44,46 +44,46 @@
"removingFromCategories": "Removing all added category information",
"writingVDF_entries__i": "Writing VDF files and downloading high res images in batches of ${batchSize}.",
"updatingKnownSteamDirList": "Updating a list of known Steam directories.",
- "retryingDownload__i": "Retrying image download from \"${imageUrl}\" for \"${appTitle}\".",
- "disabledConfigurations__i": "${count} user configuration(s) was/were skipped (disabled by user).",
- "invalidConfigurations__i": "${count} user configuration(s) was/were skipped (invalid).",
+ "retryingDownload__i": "Retrying artwork download from \"${imageUrl}\" for \"${appTitle}\".",
+ "disabledConfigurations__i": "${count} user parser(s) was/were skipped (disabled by user).",
+ "invalidConfigurations__i": "${count} user parser(s) was/were skipped (invalid).",
"executingParsers": "Executing parsers.",
- "shutdownSteam": "Please shutdown Steam if it is running.",
- "noParserConfigurations": "Please create parser configuration in \"Parsers\" menu first.",
+ "shutdownSteam": "If Steam is running, exit Steam.",
+ "noParserConfigurations": "Please create parser in \"Parsers\" menu first.",
"parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
- "allImagesRetrieved": "All available image urls retrieved.",
+ "allImagesRetrieved": "All available artwork urls retrieved.",
"providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
"noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
- "preparingExport": "Preparing export of image choices.",
- "exportProgress__i": "Saving image choices ${progress}.",
- "readingSelections": "Applying imported image choices."
+ "preparingExport": "Preparing export of artwork choices.",
+ "exportProgress__i": "Saving artwork choices ${progress}.",
+ "readingSelections": "Applying imported artwork choices."
},
"errors": {
- "fatalError": "Fatal error occurred in Preview. See event log for details.",
- "fatalError__i": "Fatal Preview Error ${error}",
+ "fatalError": "Fatal error occurred in Add Games. See event log for details.",
+ "fatalError__i": "Fatal Add Games error: ${error}",
"knownSteamDirListIsEmpty": "A list of known Steam directories is empty.",
"steamIsRunning": "Cannot make changes while steam is running!",
"categorySaveError": "Error updating categories. See event log for details.",
"categorySaveError__i": "Category error (shortcuts and artwork will still be added): ${error}",
"controllerSaveError": "Error updating controller templates. See event log for details.",
"controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
- "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
+ "retryingDownload__i": "Artwork download from \"${imageUrl}\" failed for \"${appTitle}\".",
"providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
"unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
"exportError__i": "Could not save selections package folder: ${error}",
"importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
- "importFailError__i": "Could not import image choices: ${error}"
+ "importFailError__i": "Could not import artwork choices: ${error}"
},
"success": {
"writingVDF_entries": "Done adding/removing entries.",
"removingVDF_entries": "Entries have been removed.",
- "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
- "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
+ "exportSuccess__i": "Artwork choices folder successfully saved to \"${path}\"!",
+ "importSelectionsSuccess__i": "Successfully imported ${count} artwork choices!"
}
}
},
"steamParser": {
- "onlyGamesTitle": "Find artwork for games only (no tools)",
+ "onlyGamesTitle": "Find artwork for games only (no tools or demos)",
"onlyInstalledTitle": "Find artwork for installed titles only",
"sourceModsTitle": "Find artwork for unofficial source mods",
"errors": {
@@ -93,16 +93,30 @@
"fatalError__i": "> Steam parser failed with fatal error:\n ${error}"
}
},
+ "nonSRMShortcutsParser": {
+ "errors": {
+ "noSteamAccounts": "> Steam directory specified has no accounts.",
+ "fatalError__i": "> Non-SRM Shortcuts parser failed with fatal error:\n ${error}"
+ }
+ },
"manualParser": {
"manifestsInputTitle": "Manifests Directory",
- "manifestsInputPlaceholder": "/path/to/your/manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"errors": {
"fatalError__i": "> Manual parser failed with fatal error:\n ${error}"
}
},
"epicParser": {
"manifestsInputTitle": "Epic Manifests Directory Override",
- "manifestsInputPlaceholder": "/path/to/Manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"launcherModeInputTitle": "Launch games via Epic for online services",
"errors": {
"invalidManifestsOverride": "> Manifests Override is not a valid directory.",
@@ -112,25 +126,56 @@
}
},
"legendaryParser": {
+ "launcherModeInputTitle": "Launch games via Legendary for online services",
"legendaryInstalledFileTitle": "Legendary installed.json Path Override",
- "legendaryInstalledFilePlaceholder": "/path/to/legendary/installed.json",
+ "legendaryInstalledFilePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary\\installed.json",
+ "Darwin": "/path/to/legendary/installed.json",
+ "Linux": "/path/to/legendary/installed.json"
+ },
+ "legendaryExeOverrideTitle": "Legendary Path Override",
+ "legendaryExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary.exe",
+ "Darwin": "/path/to/legendary",
+ "Linux": "/path/to/legendary"
+ },
"errors": {
"legendaryNotInstalled": "> Legendary installed.json not found",
- "fatalError__i": "> Legendary parser failed with fatal error: \n ${error}"
+ "fatalError__i": "> Legendary parser failed with fatal error:\n ${error}"
+ }
+ },
+ "battleNetParser": {
+ "battleExeOverrideTitle": "Battle.net.exe Path Override",
+ "battleExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Battle.net\\Battle.net.exe",
+ "Darwin": "/path/to/Battle.net.app/Contents/MacOS/Battle.net",
+ "Linux": "/path/to/Battle.net"
+ },
+ "errors": {
+ "battleNotCompatible": "> Battle.net parser is only available on Windows.",
+ "fatalError__i": "> Battle.net parser failed with fatal error:\n ${error}"
}
},
"UWPParser": {
"UWPDirTitle": "XboxGames Directory Override",
- "UWPDirPlaceholder": "/path/to/XboxGames or /path/to/WindowsApps",
+ "UWPDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\XboxGames\\ or C:\\path\\to\\WindowsApps\\",
+ "Darwin": "/path/to/XboxGames/ or /path/to/WindowsApps/",
+ "Linux": "/path/to/XboxGames/ or /path/to/WindowsApps/"
+ },
"UWPLauncherModeTitle": "Launch game as UWP instead of launcher helper",
"errors": {
"fatalError__i": "> UWP parser is not compatible in this platform.",
- "UWPNotCompatible": "> UWP parser failed with fatal error:\n ${error}"
+ "UWPNotCompatible": "> UWP parser is only available on Windows."
}
},
"uplayParser": {
"uplayDirTitle": "Ubisoft Directory Override",
- "uplayDirPlaceholder": "/path/to/Ubisoft/",
+ "uplayDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Ubisoft\\",
+ "Darwin": "/path/to/Ubisoft/",
+ "Linux": "/path/to/Ubisoft/"
+ },
"launcherModeInputTitle": "Launch games via UPlay for online services",
"errors": {
"invalidManifestsOverride": "> Uplay Directory Override is not a valid directory.",
@@ -142,8 +187,14 @@
},
"gogParser": {
"galaxyExeOverrideTitle": "Galaxy Path Override",
- "galaxyExeOverridePlaceholder": "/path/to/GalaxyClient.exe",
+ "galaxyExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\GalaxyClient.exe",
+ "Darwin": "/path/to/GOG Galaxy.app/Contents/MacOS/GOG Galaxy",
+ "Linux": "/path/to/GalaxyClient"
+ },
"launcherModeInputTitle": "Launch games via GOG Galaxy",
+ "parseLinkedExecsTitle": "Parse linked executables from GOG Galaxy",
+ "parseRegistryEntries": "Parse using Registry instead of Galaxy DB",
"errors": {
"invalidGalaxyExeOverride": "> Galaxy Client Override is not a valid path.",
"fatalError__i": "> GOG Galaxy parser failed with fatal error:\n ${error}",
@@ -153,7 +204,11 @@
},
"amazonGamesParser": {
"exeOverrideTitle": "Amazon Games Path Override",
- "exeOverridePlaceholder": "/path/to/Amazon Games.exe",
+ "exeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Amazon Games.exe",
+ "Darwin": "/path/to/Amazon Games.app/Contents/MacOS/Amazon Games",
+ "Linux": "/path/to/Amazon Games"
+ },
"launcherModeInputTitle": "Launch games via Amazon Games",
"errors": {
"invalidExeOverride": "> Amazon Games Installation Override is not a valid directory.",
@@ -164,7 +219,11 @@
},
"itchIoParser": {
"itchIoAppDataOverrideTitle": "itch.io AppData Directory Override",
- "itchIoAppDataOverridePlaceholder": "/path/to/itch",
+ "itchIoAppDataOverridePlaceholder": {
+ "Windows_NT": "C:\\AppData\\itch\\",
+ "Darwin": "~/Library/Application Support/itch/",
+ "Linux": "~/.config/itch/"
+ },
"itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Windows-on-Linux Install Drive Redirect",
"itchIoWindowsOnLinuxInstallDriveRedirectPlaceholder": "/mnt/d/",
"errors": {
@@ -177,7 +236,11 @@
},
"eaDesktopParser": {
"eaGamesDirTitle": "EA Games Directory Override",
- "eaGamesDirPlaceholder": "/path/to/EA Games/",
+ "eaGamesDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\EA Games\\",
+ "Darwin": "/path/to/EA Games/",
+ "Linux": "/path/to/EA Games/"
+ },
"eaLauncherModeTitle": "Launch games via EA Desktop",
"errors": {
"fatalError__i": "> EA Desktop parser failed with fatal error:\n ${error}",
@@ -186,7 +249,7 @@
}
},
"globParser": {
- "inputTitle": "User's glob",
+ "inputTitle": "Search glob",
"inputPlaceholder": "${title}.@(iso|ISO)",
"errors": {
"noTitle__md": "> File glob must contain `${title}`!",
@@ -203,7 +266,7 @@
}
},
"globRegexParser": {
- "inputTitle": "User's glob-regex",
+ "inputTitle": "Search glob-regex",
"inputPlaceholder": "${/valid regex/}",
"errors": {
"noRegex__md": "> File glob must contain `${regex}` where **regex** is your regular expression!",
@@ -226,18 +289,22 @@
"stylesTitle": "Allowed grid styles",
"stylesHeroTitle": "Allowed hero styles",
"stylesLogoTitle": "Allowed logo styles",
- "stylesIconTitle": "Allowed icon styles"
+ "stylesIconTitle": "Allowed icon styles",
+ "sizesTitle": "Allowed banner dimensions",
+ "sizesHeroTitle": "Allowed hero dimensions",
+ "sizesTallTitle": "Allowed portrait dimensions",
+ "sizesIconTitle": "Allowed icon dimensions"
},
"logger": {
"component": {
"noMessages": "No messages are available",
- "error": "ERROR",
- "info": "INFO",
- "success": "SUCCESS",
- "fuzzy": "FUZZY",
- "textWrap": "TEXT-WRAP",
- "autoscroll": "AUTOSCROLL",
- "clearLog": "Clear log",
+ "error": "Error messages",
+ "info": "Info messages",
+ "success": "Success messages",
+ "fuzzy": "Fuzzy messages",
+ "textWrap": "Wrap text",
+ "autoscroll": "Autoscroll",
+ "clearLog": "Clear",
"issueDescription": "Thorough issue description with passable spelling.",
"handleExample": "CoolHandle#1234"
}
@@ -251,40 +318,42 @@
"corruptedVariables__i": "Saved custom variables are invalid!\r\nPermanent variable saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "Custom variables file has been downloaded."
+ "downloaded": "Custom variables file has been updated."
}
}
},
"configPresets": {
"service": {
"error": {
- "failedToDownload__i": "Failed to download configuration presets file. Status: ${error}.",
+ "failedToDownload__i": "Failed to download configuration presets file from commit ${commit}. Status: ${error}.",
"writingError": "Error occurred while saving configuration presets.",
"loadingError": "Error occurred while loading configuration presets.",
"corruptedVariables__i": "Saved configuration presets are invalid!\r\nPermanent file saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "New config presets have been downloaded."
+ "downloaded": "Community presets have been updated."
}
}
},
"settings": {
"component": {
"label": {
- "general": "General settings",
- "imageProviders": "Image provider settings",
- "fuzzy": "Fuzzy matcher settings",
- "environmentVariables": "Environment variable settings",
- "communityPresets": "Community variable/preset settings"
+ "general": "General",
+ "imageProviders": "Artwork Providers",
+ "fuzzy": "Fuzzy Matcher",
+ "environmentVariables": "Environment Variables",
+ "communityPresets": "Community Presets and Custom Variables"
},
"text": {
+ "autoUpdate": "Check for updates on start",
"offlineMode": "Offline mode",
- "removeApps_desc": "all added app entries and controllers",
+ "removeApps_desc": "all added games and controllers",
"removeApps_btn": "Remove",
- "preloadImages": "Preload retrieved images immediately",
+ "preloadImages": "Artwork loading strategy",
"fuzzy_verbose": "Log matching results",
- "fuzzy_filter": "Filter images",
+ "fuzzy_filter": "Filter artwork",
"enabledProviders": "Enabled image providers",
+ "dnsServers": "DNS manual override",
"selectLanguage": "Select language",
"selectTheme": "Select theme",
"resetFuzzy_desc": "fuzzy list",
@@ -292,28 +361,38 @@
"resetFuzzy_btn": "Reset",
"customVariables_desc": "custom variables",
"configPresets_desc": "config presets",
- "showSteamImages": "Show current Steam images by default",
+ "showSteamImages": "Show current Steam artwork by default",
"deleteDisabledShortcuts": "Remove shortcuts for disabled parsers",
"clearLogOnTest": "Automatically clear log before testing parsers",
- "configDir": "Open Config Directory"
+ "configDir": "Config Directory",
+ "steamDir": "Steam Directory"
},
"placeholder": {
"noProviders": "None",
- "steamDirectoryWin": "Typically C:\\Program Files (x86)\\Steam",
- "steamDirectoryMac": "Typically ~/Library/Application Support/Steam",
- "steamDirectoryLinux": "Typically /home/user/.steam/steam",
"userAccounts": "For example ${steamlogin}",
- "romsDirectoryWin": "For example D:\\ROMs",
- "romsDirectoryMac": "For example ~/ROMs",
- "romsDirectoryLinux": "For example ~/ROMs",
- "retroarchPathWin": "For example C:\\Path\\To\\retroarch.exe",
- "retroarchPathLinux": "For example /path/to/retroarch",
- "retroarchPathMac": "For example /path/to/retroarch",
- "raCoresDirectoryWin": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores",
- "raCoresDirectoryLinux": "Typically /lib/x86_64-linux-gnu/libretro/cores",
- "raCoresDirectoryMac": "Typically /Applications/Retroarch.app/Contents/Resources/cores",
- "localImagesDirectoryWin": "For example C:\\Path\\To\\LocalArtwork",
- "localImagesDirectoryUnix": "For example ~/path/to/localartwork"
+ "bySystem": {
+ "Windows_NT": {
+ "steamDirectory": "Typically C:\\Program Files (x86)\\Steam\\",
+ "romsDirectory": "For example D:\\ROMs\\",
+ "retroarchPath": "For example C:\\Path\\To\\Retroarch.exe",
+ "raCoresDirectory": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores\\",
+ "localImagesDirectory": "For example C:\\Path\\To\\LocalArtwork\\"
+ },
+ "Darwin": {
+ "steamDirectory": "Typically ~/Library/Application Support/Steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /Applications/Retroarch.app/Contents/Resources/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ },
+ "Linux": {
+ "steamDirectory": "Typically /home/user/.steam/steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /lib/x86_64-linux-gnu/libretro/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ }
+ }
}
},
"service": {
@@ -331,6 +410,7 @@
"component": {
"about": "About",
"preview": "Preview",
+ "view": "View Games",
"logger": "Log",
"settings": "Settings",
"parsers": "Create Parser",
@@ -352,6 +432,9 @@
"title": "User Exceptions",
"exclude": "Exclude Title",
"excludeArtwork": "Local Artwork Only"
+ },
+ "placeholder": {
+ "sortBy": "Sort By"
}
},
"service": {
@@ -366,8 +449,8 @@
"component": {
"buttons": {
"save": "Save",
- "copy": "Copy",
- "testParser": "Test parser",
+ "copy": "Clone",
+ "testParser": "Test",
"delete": "Delete",
"moveUp": "Move up",
"moveDown": "Move down",
@@ -381,23 +464,23 @@
"opSys__i": "Operating system is \"${os}\"",
"testCompleted": "Parser test is completed.",
"nothingWasFound": "Parser found nothing.",
- "copiedToClipboard": "Configuration copied to clipboard",
+ "copiedToClipboard": "Parser copied to clipboard",
"userExclusions": "User excluded:",
- "excludedFileInfo__i": "[${index}/${total}]: ${filename}",
+ "excludedFileInfo__i": "[${index}/${total}]: ${filename}\n Excluded by \"${exceptionKey}\"",
"removingControllers__i": "Removing controller templates for parser: ${configTitle}",
"fetchingControllerTemplates": "Fetching controller templates"
},
"error": {
"missingAccounts__i": "Following ${count} user account(s) were not found (user must to login to Steam at least once):",
"missingAccountInfo__i": " ${name}",
- "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials (\"Show advanced options -> User accounts -> Use account credentials\").\r\nIf you're seeing this, preview won't be generated for this configuration.",
+ "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials.\r\nIf you're seeing this, Add Games will skip this configuration.",
"cannotParseUserIDs": "Error parsing user accounts:",
"failedToMatch": "Failed to match:",
"failedFileInfo__i": "[${index}/${total}]: ${filename}",
"testFailed": "Testing failed",
"cannotTestInvalid": "Can not test invalid configuration!",
"cannotCopyInvalid": "Can not copy invalid configuration!",
- "failedToCopy": "Failed to copy to clipbard!",
+ "failedToCopy": "Failed to copy to clipboard!",
"cannotFetchTemplates": "Can not fetch controller templates for invalid steam directory!",
"errorRemovingControllers": "Error removing controllers:",
"cannotRemoveControllers": "Can not remove controllers from invalid steam directory!"
@@ -405,8 +488,8 @@
"success": {
"foundAccounts__i": "Found ${count} available user account(s):",
"foundAccountInfo__i": " ${name} (steamID64: ${steamID64}, accountID: ${accountID})",
- "steamCategory__i": "[${index}/${total}]: Steam categories - ${steamCategory}",
- "steamCategoryInfo__i": "[${index}/${total}]: ${steamCategory}",
+ "steamCategories__i": "[${index}/${total}]: Steam categories - ${steamCategories}",
+ "steamCategoriesInfo__i": "[${index}/${total}]: ${steamCategories}",
"exceptionKey__i": "[${index}/${total}]: Exception ID - ${appid}",
"appId__i": "[${index}/${total}]: Legacy App ID - ${appid}",
"shortAppId__i": "[${index}/${total}]: App ID - ${appid}",
@@ -416,20 +499,21 @@
"filePath__i": "[${index}/${total}]: File path - ${filePath}",
"startDir__i": "[${index}/${total}]: Start dir - ${startDir}",
"completeShortcut__i": "[${index}/${total}]: Complete shortcut - ${shortcut}",
- "firstImageQuery__i": "[${index}/${total}]: Image queries - ${query}",
+ "firstImageQuery__i": "[${index}/${total}]: Artwork queries - ${query}",
+ "imagePool__i": "[${index}/${total}]: Artwork pool - ${imagePool}",
"imageQueries__i": "[${index}/${total}]: ${query}",
"defaultImage__i": "[${index}/${total}]: Resolved fallback ${artworkType}:\r\n[${index}/${total}]: ${image}",
"resolvedDefaultImage__i": "[${index}/${total}]: Fallback ${artworkType}:",
- "localImages__i": "[${index}/${total}]: Resolved ${artworkType}:",
- "resolvedLocalImages__i": "[${index}/${total}]: ${artworkType} glob:",
+ "localImages__i": "[${index}/${total}]: Resolved local ${artworkType}:",
+ "resolvedLocalImages__i": "[${index}/${total}]: Local ${artworkType} glob:",
"indexInfo__i": "[${index}/${total}]: ${indexed}",
"removedControllers__i": "Succesfully removed controllers for parser: ${configTitle}",
"fetchedTemplates": "Fetched all controller templates"
},
"label": {
"parserType": "Parser type",
- "configTitle": "Configuration title",
- "steamCategory": "Steam category",
+ "configTitle": "Parser title",
+ "steamCategories": "Steam collections",
"executableModifier": "Executable modifier",
"executableLocation": "Executable",
"romDirectory": "ROMs directory",
@@ -440,33 +524,56 @@
"titleModifier": "Title modifier",
"fuzzyMatch": "Fuzzy matching",
"executableArgs": "Command line arguments",
- "onlineImageQueries": "Online image query",
- "imagePool": "Image pool",
- "imageProviders": "Image providers",
+ "onlineImageQueries": "Artwork provider search queries",
+ "imagePool": "Artwork pool",
+ "imageProviders": "Artwork providers",
"defaultImage__i": "Fallback ${artworkType}",
"localImages__i": "Local ${artworkType} glob"
},
"placeholder": {
"parserType": "Select parser...",
"configTitle": "My Awesome Parser",
- "steamCategory": "${cat1}${cat2}",
- "steamDirectory": "${steamdirglobal} or /path/to/steam",
- "userAccounts": "${steamuser1}${steamuser2} or ${${accountsglobal}}",
- "titleFromVariable": "${myvariable}",
+ "steamDirectory": {
+ "Windows_NT": "${steamdirglobal} or C:\\path\\to\\Steam\\",
+ "Darwin": "${steamdirglobal} or /path/to/Steam/",
+ "Linux": "${steamdirglobal} or /path/to/Steam/"
+ },
+ "titleFromVariable": "${variableGroup1}${variableGroup2}",
"titleModifier": "${fuzzyTitle} or ${title}",
- "defaultImage__i": "/path/to/fallback_${artworkType}.png",
- "localImages__i": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
- "romDirectory": "/path/to/games/",
+ "defaultImage__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\fallback_${artworkType}.png",
+ "Darwin": "/path/to/fallback_${artworkType}.png",
+ "Linux": "/path/to/fallback_${artworkType}"
+ },
+ "localImages__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\art\\\\${artworkType}\\\\\\${title}.@(png|jpg)",
+ "Darwin": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
+ "Linux": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)"
+ },
+ "onlineImageQueries": "${${fuzzyTitle}} or ${${title}}${${fuzzyTitle}}",
+ "imagePool": "${fuzzyTitle}",
+ "romDirectory": {
+ "Windows_NT": "C:\\path\\to\\games\\",
+ "Darwin": "/path/to/games/",
+ "Linux": "/path/to/games/"
+ },
"glob": "${title}.@(iso|ISO)",
- "executableLocation": "Example: /path/to/emulator.exe",
- "executableArgs": "--arg1 --arg2",
+ "executableLocation": {
+ "Windows_NT": "C:\\path\\to\\emulator.exe",
+ "Darwin": "/path/to/emulator.app",
+ "Linux": "/path/to/emulator"
+ },
+ "executableArgs": "--arg1 --arg2 --launch \"${filePath}\"",
"executableModifier": "\"${exePath}\"",
- "startInDirectory": "/path/to/start/in/dir",
+ "startInDirectory": {
+ "Windows_NT": "C:\\path\\to\\start-in-dir\\",
+ "Darwin": "/path/to/start-in-dir/",
+ "Linux": "/path/to/start-in-dir/"
+ },
"imageProviders": "None",
"multiAPIPlaceholder": "No Filter"
},
"text": {
- "tryToMatchTitle": "Enable Title from Custom Variable",
"skipFileIfVariableWasNotFound": "Skip file if variable was not found",
"caseInsensitiveVariables": "Case-insensitive variables",
"shortcut_passthrough": "Follow .lnk or .desktop to destination (Windows and Linux only)",
@@ -482,18 +589,18 @@
},
"service": {
"info": {
- "updatingConfigurations": "Updating user configurations with new fields"
+ "updatingConfigurations": "Updating user's parsers with new fields"
},
"error": {
- "savingConfiguration": "Error encountered while saving user configurations!",
- "readingConfiguration": "Error encountered while reading user configurations!",
+ "savingConfiguration": "Error encountered while saving user's parsers!",
+ "readingConfiguration": "Error encountered while loading user's parsers!",
"parserTypeMissing": "Cannot save without specifying parser type",
- "corruptedConfiguration__i": "One or more saved parser configurations are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
- "fetcingTemplates": "Error encountered while fetching controllers templates!"
+ "corruptedConfiguration__i": "One or more saved parsers are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
+ "fetchingTemplates": "Error encountered while fetching controllers templates!"
},
"validationErrors": {
"parserType__md": "> Incorrect parser type!",
- "configTitle__md": "> Configuration title is required!",
+ "configTitle__md": "> Parser title field cannot be blank!",
"parserId__md": "> Parser Id is missing, something is horribly wrong.",
"parserInput": {
"noInput": "No inputs are available!",
@@ -501,19 +608,15 @@
"incorrectParser": "Incorrect parser!"
},
"romDir__md": "> ROMs directory is invalid!",
- "userAccounts__md": "> Steam parser requires `User Accounts` field",
+ "userAccounts__md": "> User accounts field is required!",
"steamDir__md": "> Steam directory is invalid!",
"startInDir__md": "> \"Start In\" directory is invalid!",
"executable__md": "> Executable is invalid!",
- "imagePool__md": "> Image pool must not be empty!",
- "defaultImage__md": "> Default image is an invalid path!",
- "titleModifier__md": "> Title modifier must not be empty!",
- "executableModifier__md": "> Executable modifier must not be empty!",
- "variableString__md": "> Uneven number of `${` and `}` pairs. Use `\\` to escape `${` or `}` if you want to use them as characters.",
- "imageProviders__md": "> Incorrect image providers type!",
- "unhandledValidationKey__md": "> Input's validation is unhandled",
- "genericDir__md": "> Directory is invalid",
- "genericPath__md": "> Path is invalid"
+ "defaultImage__md": "> Fallback artwork is an invalid path!",
+ "variableString__md": "> Uneven number of `${` and `}` pairs! Use `\\` to escape `${` or `}` if you want to use them as characters.",
+ "unhandledValidationKey__md": "> Input's validation is unhandled!",
+ "genericDir__md": "> Directory is invalid!",
+ "genericPath__md": "> Path is invalid!"
},
"text": {
"noTitle": "No title!"
@@ -540,7 +643,7 @@
"error": {
"parserNotFound__i": "Parser \"${name}\" not found!",
"tooManyFieldGlobs__md": "> Only one `$(...)$` set is allowed per input.",
- "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** ir **Glob-regex** field.",
+ "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** in **Glob-regex** field.",
"noWinSlashes__md": "> Windows directory character `\\` is not allowed! Use `/` instead."
}
},
@@ -567,11 +670,11 @@
"error": {
"readingVdf__i": "Failed to read from \"${filePath}\".\n ${error}",
"writingVdf__i": "Failed to write to \"${filePath}\".\n ${error}",
- "skippingDMCA__i": "Skipping DMCA'd image for ${title}",
+ "skippingDMCA__i": "Skipping DMCA'd artwork for ${title}",
"corruptedVdf__i": "\"${filePath}\" is corrupted.\n ${error}",
"creatingBackup__i": "Could not create backup for \"${filePath}\".\n ${error}",
"unsupportedMimeType__i": "Mime type (${type}) is unsupported (title - \"${title}\").",
- "imageError__i": "Error occurred while saving/downloading image for \"${title}\". Url: ${url}.\n ${error}"
+ "imageError__i": "Error occurred while saving/downloading artwork for \"${title}\". Url: ${url}.\n ${error}"
}
},
"helpers": {
diff --git a/src/lang/he-IL/markdown/UWP-parser-input.md b/src/lang/he-IL/markdown/UWP-parser-input.md
index 1a3f20be1d..8c045eea77 100644
--- a/src/lang/he-IL/markdown/UWP-parser-input.md
+++ b/src/lang/he-IL/markdown/UWP-parser-input.md
@@ -1,4 +1,4 @@
-# Unique inputs for UWP Parser
+# UWP Parser Specific Inputs
## Games directory
@@ -8,4 +8,4 @@ Set it to `C:\Program Files\WindowsApps` to grab all UWP applications -- you'll
## Launch as UWP or from GameLaunchHelper.exe
-Gamepass games can be launched both ways, although UWP is preffered.
+Gamepass games can be launched both ways, although UWP is preferred.
diff --git a/src/lang/he-IL/markdown/UWP-parser.md b/src/lang/he-IL/markdown/UWP-parser.md
index bfb5a847f3..af4fee0f84 100644
--- a/src/lang/he-IL/markdown/UWP-parser.md
+++ b/src/lang/he-IL/markdown/UWP-parser.md
@@ -4,4 +4,4 @@ This parser imports `UWP` games in your Windows OS, having a games library path
## Compatibility
-This parser should only work on `Windows 10` and `Windows 11`.
\ No newline at end of file
+This parser should only work on `Windows 10` and `Windows 11`.
diff --git a/src/lang/he-IL/markdown/about.md b/src/lang/he-IL/markdown/about.md
index b5b78d51b7..1dfe83f938 100644
--- a/src/lang/he-IL/markdown/about.md
+++ b/src/lang/he-IL/markdown/about.md
@@ -2,7 +2,7 @@
In case you're having trouble with SRM, feel free to visit the [discord](https://discord.gg/bnSVJrz) or the [subreddit](https://www.reddit.com/r/SteamRomManager/) and ask for our help. In order for us to help you, we would like you to provide this info:
-* SRM version: **#{APP[version]}**
+* SRM version: **#{APP[version]}** emudeckText
* Operating System: **#{APP[os]}**
## Useful links
@@ -43,8 +43,9 @@ If you enjoy Steam ROM Manager and want it to continue to be useful also conside
* `CarJem`{.noWrap} - Added the manual parser.
* `MattMckenzy`{.noWrap} - Added ability to import and export image choices.
* `Apalatn`{.noWrap} - Added an install drive redirect option to the itch.io parser.
-* `OneMoreByte` - Made itch.io parser work on linux and mac.
-* `UndarkAido` - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `OneMoreByte`{.noWrap} - Made itch.io parser work on linux and mac.
+* `UndarkAido`{.noWrap} - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `HazardousBackup`{.noWrap} - Added option to GOG parser to parse Registry instead of GOG's DB.
### Community
* `HE Spoke`{.noWrap} - created a community around SRM. Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups. Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
diff --git a/src/lang/he-IL/markdown/amazon-games-parser-input.md b/src/lang/he-IL/markdown/amazon-games-parser-input.md
index 7ac728e20b..770697198e 100644
--- a/src/lang/he-IL/markdown/amazon-games-parser-input.md
+++ b/src/lang/he-IL/markdown/amazon-games-parser-input.md
@@ -1,4 +1,4 @@
-# Amazon Games Parser specific inputs
+# Amazon Games Parser Specific Inputs
## Amazon Games Path Override
By default Steam ROM Manager assumes your Amazon Games installation is located at `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`. This field allows you to override that path if your Amazon Games installation is elsewhere.
diff --git a/src/lang/he-IL/markdown/amazon-games-parser.md b/src/lang/he-IL/markdown/amazon-games-parser.md
index cdfda7c283..eb556fcc6e 100644
--- a/src/lang/he-IL/markdown/amazon-games-parser.md
+++ b/src/lang/he-IL/markdown/amazon-games-parser.md
@@ -1,3 +1,3 @@
# Amazon Games Parser
-This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/he-IL/markdown/battle-net-parser-input.md b/src/lang/he-IL/markdown/battle-net-parser-input.md
new file mode 100644
index 0000000000..1f03fae4a6
--- /dev/null
+++ b/src/lang/he-IL/markdown/battle-net-parser-input.md
@@ -0,0 +1,5 @@
+# Battle.net Parser Specific Inputs
+
+## Battle.net.exe Path Override
+
+By default Steam ROM Manager assumes your `Battle.net` executable is located at `C:\Program Files (x86)\Battle.net\Battle.net.exe`. This field allows you to override that if your `Battle.net` is installed elsewhere.
diff --git a/src/lang/he-IL/markdown/battle-net-parser.md b/src/lang/he-IL/markdown/battle-net-parser.md
new file mode 100644
index 0000000000..c3ffb10b67
--- /dev/null
+++ b/src/lang/he-IL/markdown/battle-net-parser.md
@@ -0,0 +1,5 @@
+# Battle.net Parser
+
+This parser imports games from the `Battle.net` app, so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Blizzard has altered the structure of their database files, in which case please let the developers of SRM know and we will resolve the issue.
+
+The `Battle.net` parser is somewhat special in that it uses a shell script at `${srmDir}/scripts/bnet.ps1` in order to launch `Battle.net`, wait an appropriate amount of time, and only then launch the actual title.
diff --git a/src/lang/he-IL/markdown/config-title.md b/src/lang/he-IL/markdown/config-title.md
index ed2eeef493..abadc31951 100644
--- a/src/lang/he-IL/markdown/config-title.md
+++ b/src/lang/he-IL/markdown/config-title.md
@@ -1,3 +1,5 @@
-# Configuration title
+# Parser title
-Title to save user configuration as. Does not have to be unique, but is required.
\ No newline at end of file
+Title of the parser. Does not have to be unique, but is required.
+
+This field will not affect what is added to `Steam` in any way.
diff --git a/src/lang/he-IL/markdown/controller-templates.md b/src/lang/he-IL/markdown/controller-templates.md
index 37c943f370..686b3ba13a 100644
--- a/src/lang/he-IL/markdown/controller-templates.md
+++ b/src/lang/he-IL/markdown/controller-templates.md
@@ -17,10 +17,10 @@ In the SRM parser:
Currently, SRM pulls all of the default (Valve made) templates for each controller as well as all of the user defined templates that end in `(SRM)`.
-* Select your templates and save the parser. The controller configsets will be applied once you hit `Save App List` in the preview.
+* Select your templates and save the parser. The controller configsets will be applied once you hit `Save to Steam` in the Add Games.
* To unset controller configs, you may either `Remove All Added App Entries` from global settings (this deletes all SRM made changes to your steam data) or hit `Unset All Controllers` in the parser (this only removes controller settings for the steam directory and user specified in that parser).
-Once this is done you can generate and save the preview as usual, and the template will be applied to all the titles in the parser.
+Once this is done you can parse and add games to steam as usual, and the templates will be applied to all the titles in the parser.
diff --git a/src/lang/he-IL/markdown/default-image.md b/src/lang/he-IL/markdown/default-image.md
index 47e3f9261e..7bf4e6413d 100644
--- a/src/lang/he-IL/markdown/default-image.md
+++ b/src/lang/he-IL/markdown/default-image.md
@@ -1,4 +1,4 @@
-# Default image (optional) `[supports variables]`{.noWrap}
+# Default image `[supports variables]`{.noWrap}
Allows one to use an image, stored locally, as a default/fallback image. A [special glob input](#special-glob-input) string is used to retrieve images. Only the first retrieved image is used.
diff --git a/src/lang/he-IL/markdown/ea-desktop-parser-input.md b/src/lang/he-IL/markdown/ea-desktop-parser-input.md
index 7990efb5b5..355ba68c8e 100644
--- a/src/lang/he-IL/markdown/ea-desktop-parser-input.md
+++ b/src/lang/he-IL/markdown/ea-desktop-parser-input.md
@@ -1,4 +1,4 @@
-# EA Desktop Parser specific inputs
+# EA Desktop Parser Specific Inputs
## EA Games Directory Override
By default Steam ROM Manager assumes your `EA Desktop` games are installed at ``C:\Program Files\EA Games\`. This field allows you to change that to wherever your games are installed, e.g.``D:\Games\EA Games`.
diff --git a/src/lang/he-IL/markdown/epic-parser-input.md b/src/lang/he-IL/markdown/epic-parser-input.md
index 88b5bd915c..c175be5c5e 100644
--- a/src/lang/he-IL/markdown/epic-parser-input.md
+++ b/src/lang/he-IL/markdown/epic-parser-input.md
@@ -1,4 +1,4 @@
-# Epic Games Store specific inputs
+# Epic Games Store Specific Inputs
## Manifests Directory Override
diff --git a/src/lang/he-IL/markdown/executable-arguments.md b/src/lang/he-IL/markdown/executable-arguments.md
index 8b5121722a..c19b665402 100644
--- a/src/lang/he-IL/markdown/executable-arguments.md
+++ b/src/lang/he-IL/markdown/executable-arguments.md
@@ -1,4 +1,4 @@
-# Command line arguments (optional) `[supports variables]`{.noWrap}
+# Command line arguments `[supports variables]`{.noWrap}
Arguments which are appended to executable to produce final shortcut. Most of the time you will want to set it using provided parser variables.
@@ -49,7 +49,7 @@ Arguments which are appended to executable to produce final shortcut. Most of th
### Nestopia (NES/Famicom)
```
-"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
+"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
```
### higan (NES/Famicom, SNES/Famicom, Gameboy, Gameboy Color, Gameboy Advance)
@@ -126,13 +126,13 @@ This setting is used to influence Steam's APP ID.
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -187,6 +187,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -196,7 +197,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/he-IL/markdown/executable-location.md b/src/lang/he-IL/markdown/executable-location.md
index b13f57494f..36fbbc9a46 100644
--- a/src/lang/he-IL/markdown/executable-location.md
+++ b/src/lang/he-IL/markdown/executable-location.md
@@ -1,4 +1,4 @@
-# Executable (optional) `[supports environment variables]`
+# Executable `[supports env variables]`
Path to emulator's executable. Can be a file or any valid system path.
@@ -6,6 +6,8 @@ Path to emulator's executable. Can be a file or any valid system path.
In some cases you might want to run game from a some kind batch file which will also automatically run the emulator itself. If that is the case, then providing executable is unnecessary.
+The final shortcut will just be `"${filePath}" --command-line-args`.
+
### So, how do I add files to Steam without default executable?
All files retrieved by a parser will be treated as executables instead.
diff --git a/src/lang/he-IL/markdown/executable-modifier.md b/src/lang/he-IL/markdown/executable-modifier.md
index c3c5739e86..2131f6964d 100644
--- a/src/lang/he-IL/markdown/executable-modifier.md
+++ b/src/lang/he-IL/markdown/executable-modifier.md
@@ -1,102 +1,23 @@
# Executable modifier `[supports variables]`{.noWrap}
-Default value is `"${exePath}"`{.noWrap}. This setting can be used to prepend or append desired characters to an executable which will be added to Steam (`Target` property). For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you can add `"cmd" /k start /min` to it by setting value to:
+Defaults to `"${exePath}"`{.noWrap} if unset. This field can be used to prepend or append desired characters to the executable which will be added to the Steam shortcut's `Target` property. For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you could start `Retroarch` minimized by setting the `Executable Modifier` "cmd" to:
+
```
"cmd" /k start /min "${exePath}"
```
-You can use any other variable to construct the final executable.
-
-This setting influences Steam's APP ID.
-
-
-## Shortcut Passthrough
-If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the target of that shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser.
-
-## Directory variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
-
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
-
-## Name variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------------------------------- |
-| `${exeName}` | Name of executable (without extension) |
-| `${fileName}` | Name of file which was returned by a parser (without extension) |
-
-In case executable directory input is left **empty**, `${exeName}`{.noWrap} is equal to `${fileName}`{.noWrap}.
-
-## Extension variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------------------- |
-| `${exeExt}` | Extension of executable (with a dot) |
-| `${fileExt}` | Extension of file which was returned by a parser (with a dot) |
-In case executable directory input is left **empty**, `${exeExt}`{.noWrap} is equal to `${fileExt}`{.noWrap}.
+In this case the `Target` property would begin with:
-## Path variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:-------------------------------------------------- |
-| `${exePath}` | Full path to an executable |
-| `${filePath}` | Full path to a file which was returned by a parser |
-
-In case executable directory input is left **empty**, `${exePath}`{.noWrap} is equal to `${filePath}`{.noWrap}.
-
-## Parser variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------ |
-| `${title}` | Extracted title |
-| `${fuzzyTitle}` | Fuzzy matched title |
-| `${finalTitle}` | Title which was the end result of title modifier |
-
-In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
+```
+"cmd" /k start /min "C:\RetroArch\retroarch.exe"
+```
-## Function variables
+followed by whatever launch arguments you choose in the `Command Line Arguments` field.
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+You can use any other variable to construct the final executable.
-### Function variable example
+This setting influences Steam's APP ID.
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
-```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
-```
-will be replaced with these:
-```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+## Shortcut Passthrough
---On linux:
-file.so
---On Windows:
-file.dll
---On Mac OS:
-file
-```
+If you enable `Follow .lnk/.desktop to destination` and the glob search finds a `.lnk` or `.desktop` file, ie a shortcut, then the `${filePath}` variable will contain the target of the shortcut rather than the path to the shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the `Command Line Arguments` field in the parser.
diff --git a/src/lang/he-IL/markdown/glob-parser-input.md b/src/lang/he-IL/markdown/glob-parser-input.md
index 996ae77ce1..2a43592892 100644
--- a/src/lang/he-IL/markdown/glob-parser-input.md
+++ b/src/lang/he-IL/markdown/glob-parser-input.md
@@ -1,4 +1,4 @@
-# Glob Parser specific inputs
+# Glob Parser Specific Inputs
## User's glob
diff --git a/src/lang/he-IL/markdown/glob-regex-parser-input.md b/src/lang/he-IL/markdown/glob-regex-parser-input.md
index 22c1f5cea6..6491148a25 100644
--- a/src/lang/he-IL/markdown/glob-regex-parser-input.md
+++ b/src/lang/he-IL/markdown/glob-regex-parser-input.md
@@ -1,4 +1,4 @@
-# Glob-regex Parser specific inputs
+# Glob-regex Parser Specific Inputs
## User's glob-regex
@@ -6,7 +6,7 @@ This is where you create your glob for extracting title from file path. Please r
## How does it work?
-In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
+In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
| User's glob | Position |
| --------------------- | --------------------------- |
diff --git a/src/lang/he-IL/markdown/gog-parser-input.md b/src/lang/he-IL/markdown/gog-parser-input.md
index 756fa3de77..bf185f2c23 100644
--- a/src/lang/he-IL/markdown/gog-parser-input.md
+++ b/src/lang/he-IL/markdown/gog-parser-input.md
@@ -1,10 +1,20 @@
-# Unique inputs for GOG Galaxy Parser
+# GOG Galaxy Parser Specific Inputs
## Galaxy Path Override
-By default Steam ROM Manager assumes your Galaxy Client is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe`. This field allows you to override that path if your GOG Galaxy installation is elsewhere.
-This field is actually only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of the Galaxy Client.
+By default Steam ROM Manager assumes your GOG Galaxy executable is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe` on Windows and `/Applications/GOG Galaxy.app/Contents/MacOS/GOG Galaxy` on Mac. This field allows you to override that path if your GOG Galaxy executable is elsewhere.
-## Launch Via GOG Galaxy `[Recommend disabled]`
+Specifying the correct location of GOG Galaxy's executable is only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of GOG Galaxy's executable.
-What it sounds like, this toggle let's you set whether games will launch via GOG Galaxy or directly. Note that for some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+## Launch via GOG Galaxy `[Recommend disabled]`
+
+What it sounds like, this toggle determines whether games launch via GOG Galaxy or directly. For some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+
+## Parse Linked Executables from GOG Galaxy
+
+If enabled, SRM will pull in not only GOG games aquired from GOG Galaxy's store, but also those you have manually linked executables for in GOG Galaxy. This is desirable if those games are not being parsed into SRM elsewhere.
+
+A caveat is that because GOG Galaxy does not store the names linked executables in its database, SRM will use the directory name of the executable on Windows (e.g. `C:\\path\\to\\Hoa\\LaunchHoa.exe` would be assigned the title `Hoa`) and the executable name on Mac (e.g. `/Applications/Symphonia.app` would be assigned the title `Symphonia`).
+
+## Parse using Registry instead of Galaxy DB `[Windows only] [Recommend disabled]`
+This option will parse the Windows Registry for installed GOG games instead of GOG Galaxy's SQL database, allowing the parser to work even if GOG Galaxy is not installed. If this is enabled, `Parse Linked Executables` will of have no effect, but `Launch via GOG Galaxy` will work as normal.
\ No newline at end of file
diff --git a/src/lang/he-IL/markdown/image-pool.md b/src/lang/he-IL/markdown/image-pool.md
index 8b54cf72d9..0b4e4a94fb 100644
--- a/src/lang/he-IL/markdown/image-pool.md
+++ b/src/lang/he-IL/markdown/image-pool.md
@@ -1,3 +1,5 @@
-# Image pool `[supports variables]`{.noWrap}
+# Artwork pool `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting is used to allow different apps share the same images -- same "image pool", or allow unique image pool per app. To use unique image pool per app just set it to something unique. For example `${fuzzyTitle} SNES`{.noWrap}.
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset.
+
+This field is used to allow games from different parsers to share the same images (i.e. the same "image pool") if they have the same title. If you want different parsers not to share images for games with the same title, just set this field to something unique, for example `${fuzzyTitle} SNES`{.noWrap} or `${fuzzyTitle} ${parserTitle}`{.noWrap}.
diff --git a/src/lang/he-IL/markdown/image-providers.md b/src/lang/he-IL/markdown/image-providers.md
index 0b778780c6..f70a9275f6 100644
--- a/src/lang/he-IL/markdown/image-providers.md
+++ b/src/lang/he-IL/markdown/image-providers.md
@@ -1,7 +1,7 @@
-# Image providers
+# Artwork providers
-Here you can select image providers that are used to retrieve images. This option is for this configuration only.
+Here you can select artwork providers (online sources of game art) that are used by SRM to get art for your games.
## Similar option in "Settings" menu
-Settings menu has "Enabled providers" which enable image providers globally -- if it's not enabled in Settings, it won't work.
+Settings menu has "Enabled providers" which enable artwork providers globally -- if it's not enabled in Settings, it won't work.
diff --git a/src/lang/he-IL/markdown/intro.md b/src/lang/he-IL/markdown/intro.md
index f8d5fcabda..a6d65c0059 100644
--- a/src/lang/he-IL/markdown/intro.md
+++ b/src/lang/he-IL/markdown/intro.md
@@ -8,8 +8,8 @@ Also, don't forget to check FAQ. If you still got questions about setting up con
After saving parser configuration, **1** of **3** colors will be shown next to its title:
- -- Enabled configuration. This configuration will be used when generating a list in **preview** page.
+ -- Enabled configuration. This configuration will be used when generating a list in **Add Games** page.
- -- Unsaved changes. This configuration will not be used when generating a list in **preview** page, however earlier **saved** version will be used instead.
+ -- Unsaved changes. This configuration will not be used when generating a list in **Add Games** page, however earlier **saved** version will be used instead.
- -- Disabled configuration. This configuration will not be used when generating a list in **preview** page.
\ No newline at end of file
+ -- Disabled configuration. This configuration will not be used when generating a list in **Add Games** page.
\ No newline at end of file
diff --git a/src/lang/he-IL/markdown/itch-io-parser-input.md b/src/lang/he-IL/markdown/itch-io-parser-input.md
index 4b0057c170..ffa409af96 100644
--- a/src/lang/he-IL/markdown/itch-io-parser-input.md
+++ b/src/lang/he-IL/markdown/itch-io-parser-input.md
@@ -1,4 +1,4 @@
-# itch.io Parser specific inputs
+# itch.io Parser Specific Inputs
## itch.io AppData Path Override
By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere.
diff --git a/src/lang/he-IL/markdown/itch-io-parser.md b/src/lang/he-IL/markdown/itch-io-parser.md
index 7f29ffc42d..accb8b5ad2 100644
--- a/src/lang/he-IL/markdown/itch-io-parser.md
+++ b/src/lang/he-IL/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
# itch.io Parser
-This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/he-IL/markdown/legendary-parser-input.md b/src/lang/he-IL/markdown/legendary-parser-input.md
index 80ca0bcbbc..4a826e43da 100644
--- a/src/lang/he-IL/markdown/legendary-parser-input.md
+++ b/src/lang/he-IL/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
-# Legendary Parser specific inputs
+# Legendary Parser Specific Inputs
+
+## Legendary Path Override
+
+By default Steam ROM Manager uses `(Get-Command legendary).Path` on Windows and `which legendary` on Linux and Mac to determine the location of your Legendary executable. This field allows you to override that path.
+
+Specifying the correct location of the Legendary executable is only necessary if you enable launch via Legendary (see below), as otherwise SRM has no need of the location of Legendary's executable.
## Legendary `installed.json` Path Override
Most users shouldn't use this, as they use the standard `Legendary` installation where installed games manifest will be located at `~/.config/legendary/installed.json`.
If, however, for some reason your installed games manifest is located in a non-typical location then you can specify the correct manifest path here.
+
+## Launch via Legendary `[Recommend enabled]`
+
+What it sounds like, this toggle determines whether games launch via Legendary or directly. Launching via Legendary provides access to Epic's online services.
diff --git a/src/lang/he-IL/markdown/local-images.md b/src/lang/he-IL/markdown/local-images.md
index cff60e5674..5da2e5ae4c 100644
--- a/src/lang/he-IL/markdown/local-images.md
+++ b/src/lang/he-IL/markdown/local-images.md
@@ -1,4 +1,4 @@
-# Local images (optional) `[supports variables]`{.noWrap}
+# Local images `[supports variables]`{.noWrap}
Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
diff --git a/src/lang/he-IL/markdown/manual-parser-input.md b/src/lang/he-IL/markdown/manual-parser-input.md
index bc1848d45a..65265ebd32 100644
--- a/src/lang/he-IL/markdown/manual-parser-input.md
+++ b/src/lang/he-IL/markdown/manual-parser-input.md
@@ -1,4 +1,4 @@
-# Manual Parser specific inputs
+# Manual Parser Specific Inputs
## Manifests Directory `[Supports Environment Variables]`{.noWrap}
@@ -17,7 +17,8 @@ The names of the files do not matter. What does matter is that each `manifest.js
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args",
+ "appendArgsToExecutable": false
}
```
Or a list of titles, like so:
@@ -27,15 +28,19 @@ Or a list of titles, like so:
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args".
+ "appendArgsToExecutable": true
},
{
"title": "gameTitle2",
"target": "game2/path/target.sh",
"startIn": "game2/path",
- "launchOptions": "--args2"
+ "launchOptions": "--args2",
+ "appendArgsToExecutable": false
}
]
```
A typical use case would be to use a single json file per game type, or per year, etc.
+
+Just like for ROM parsers, `appendArgsToExecutable` determines whether `launchOptions` are appended to the shortcut `target` or appear separately as launch options in steam.
diff --git a/src/lang/he-IL/markdown/non-srm-shortcuts-parser.md b/src/lang/he-IL/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..4485008a1a
--- /dev/null
+++ b/src/lang/he-IL/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,29 @@
+# Non-SRM Shortcut Parser
+
+This parser imports non SRM steam shortcuts into SRM so their artowrk can be managed. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
+
+## User accounts
+
+Used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
+
+```
+${...}
+```
+
+You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
+
+ {.fitImage .center}
+
+For example, this is how you specify account for "Banana" and "Apple":
+
+```
+${Banana}${Apple}
+```
+
+You can also limit accounts by specifying their ids directly. For example:
+
+```
+${56489124}${21987424}
+```
+
+Would limit the search to `steam/userdata/56489124` and `steam/userdata/21987424`.
diff --git a/src/lang/he-IL/markdown/parser-env-variables.md b/src/lang/he-IL/markdown/parser-env-variables.md
index 3b186a70f7..e95baf9137 100644
--- a/src/lang/he-IL/markdown/parser-env-variables.md
+++ b/src/lang/he-IL/markdown/parser-env-variables.md
@@ -13,3 +13,5 @@ These variables are pre parsed and can be used even in the Rom Directory, Steam
The utility of the environment variable `${srmdir}` is to make SRM fully portable, eg if you wanted to have the directory layout `D:\Games\Roms` and `D:\Games\PortableSRM\SRM.exe` then setting the field Roms Directory to be `${srmdir}${/}..${/}Roms` would allow you to move the Games directory somewhere else without breaking your setup.
+
+Function variables can also be used in fields that permit environment variables (e.g. `${os:win|C:\path\to\startdir|${os:linux|/path/to/startdir}}`)
diff --git a/src/lang/he-IL/markdown/parser-variables.md b/src/lang/he-IL/markdown/parser-variables.md
index 7e9eb636ff..7c164a55bc 100644
--- a/src/lang/he-IL/markdown/parser-variables.md
+++ b/src/lang/he-IL/markdown/parser-variables.md
@@ -4,13 +4,13 @@ Here are tables of variables that can be used with options that have `[supports
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -48,6 +48,7 @@ In case executable directory input is left **empty**, `${exePath}`{.noWrap} is e
| `${title}` | Extracted title |
| `${fuzzyTitle}` | Fuzzy matched title |
| `${finalTitle}` | Title which was the end result of title modifier |
+| `${parserTitle}` | The value of the `Parser Title` field |
In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
@@ -65,6 +66,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -74,7 +76,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/he-IL/markdown/parsers-list.md b/src/lang/he-IL/markdown/parsers-list.md
index 1e5e43f80f..6ab3846611 100644
--- a/src/lang/he-IL/markdown/parsers-list.md
+++ b/src/lang/he-IL/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# Parsers
-In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**
diff --git a/src/lang/he-IL/markdown/rom-directory.md b/src/lang/he-IL/markdown/rom-directory.md
index 555452224f..5b15d2e2b7 100644
--- a/src/lang/he-IL/markdown/rom-directory.md
+++ b/src/lang/he-IL/markdown/rom-directory.md
@@ -1,3 +1,3 @@
-# ROMs directory `[supports environment variables]`
+# ROMs directory `[supports env variables]`
Starting directory for game or app files.
diff --git a/src/lang/he-IL/markdown/settings.md b/src/lang/he-IL/markdown/settings.md
index c35d49e806..dd35c64609 100644
--- a/src/lang/he-IL/markdown/settings.md
+++ b/src/lang/he-IL/markdown/settings.md
@@ -1,31 +1,51 @@
## General Settings
+### Check for updates on start `[Recommend enabled]`
+Check if an update for SRM is available and prompt to update each time SRM launches.
+### Auto kill Steam `[Recommend enabled]`
+SRM will attempt to kill all running instances of Steam whenever it needs to read/write collections information (specifically when saving to steam from `Add Games` and when removing all games from `Settings`).
+### Auto restart Steam `[Recommend enabled]`
+SRM will attempt to restart Steam after killing it and completing whatever collections related task required killing Steam in the first place. Requires `Auto kill Steam` to be enabled.
### Offline mode `[Recommend disabled]`
-
When enabled SRM makes no network requests, useful if you only want to use SRM for local images.
### Automatically clear log before testing parsers `[Recommend enabled]`
When enabled the log is cleared each time a parser is tested.
+## Add Games
### Show current steam images by default `[Recommend enabled]`
When enabled this setting tells SRM to default to whatever artwork is currently in steam for a given app. If it is disabled, then every time SRM is run (and saved) all artwork will be reset.
### Remove shortcuts for disabled parsers `[Recommend disabled]`
When enabled disabling a parser and running SRM will remove all added entries and artwork for the disabled parser. Useful if you want your steam library to be in 1-1 correspondence with enabled parsers.
-
+### Disable saving of steam categories `[Recommend disabled]`
+SRM will not write any collections information when saving to Steam. This allows SRM to perform its tasks while Steam is still running, at the obvious cost that added games will not be categorized.
+### Hide Steam username from Add Games
+Steam does not allow user's to alter their Steam usernames. In some cases (childish names, dead names, etc), users may no longer wish to see their Steam usernames. This setting hides it from `Add Games`.
+### Remove all added games and controllers
+Undo all SRM added changes from Steam.
+### Remove all controllers only
+Undo all SRM added controller settings from Steam.
## Fuzzy Matcher Settings
### Log matching results `[Recommend disabled]`
When enabled more verbose logs appear for the fuzzy title matcher in the `Event log`. Useful for debugging incorrect fuzzy matches.
-
### Reset fuzzy list
Resets the stored list of titles used for fuzzy matching to the list of titles returned by `SteamGridDB` (removes any user added titles).
### Reset fuzzy cache
Clears the cache of titles that fuzzy matching has already seen (try this if changes you make to fuzzy list are not resulting in changes to titles in SRM).
-
## Image provider settings
-### Preload retrieved images `[Recommend disabled]`
-When enabled, SRM will pull all available artwork for every game, rather than pulling one piece of artwork at a time as the user flips through the images. Don't enable this unless you have a good reason and a very small library of games, otherwise it could result in very large (slow) network requests.
+### Artwork loading strategy `[Recommend Load artwork lazily]`
+This is the strategy SRM uses to pull artwork thumbnails for the `Add Games` UI. If you are parsing a lot of games, `Load artwork lazily` is recommended. `Preload first artwork` will try to pull the first piece of artwork for each game in each artwork category, and `Preload all artwork` will try to pull all available artwork for each game in each artwork category. `Preload all artwork` will cause network and performance issues unless the number of games is quite small (less than `30` or so).
### Enabled providers
-Global setting to disable certain providers. Currently the only image provider is `SteamGridDB` since ConsoleGrid and RetroGaming.cloud are defunct.
-
+Global setting to enable/disable particular image providers. Current options are `SteamGridDB` and `Steam Official`.
+### DNS manual override
+Set this if you want SRM to do DNS resolution internally, as opposed to relying on your system's default DNS server. This solves many timeout issues on the Steam Deck.
+### Batch size for image downloads
+Number of images SRM will attempt to download at once when saving to Steam. May help to lower this if you are receiving timeout errors from SGDB.
+### Nuke artwork choice cache
+SRM attempts to remember your artwork choices, this button forcibly forgets all of them.
+### Nuke local artwork backups
+This deletes all artwork backups created for parsers with `Backup artwork locally` enabled.
## Community Variables and Presets
### Force download custom variables.
Resets the custom variables JSON file that is used for certain presets to whatever its current state is on the SRM github. Useful if the custom variables JSON file has been corrupted.
### Force download custom presets.
Resets the JSON files for parser presets to whatever is on the SRM github. Useful if your presets list is not automatically updating for some reason, or has become corrupted.
+### Force download shell scripts
+Re fetches the shell scripts SRM uses to perform certain tasks.
diff --git a/src/lang/he-IL/markdown/sgdb-api-input.md b/src/lang/he-IL/markdown/sgdb-api-input.md
index 553f4fda77..7651927a64 100644
--- a/src/lang/he-IL/markdown/sgdb-api-input.md
+++ b/src/lang/he-IL/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
This set of options are direct inputs into the APIs of image providers, for example SteamGridDB's [API](https://www.steamgriddb.com/api/v2).
-An interesting quirk of these settings is that re-generating the preview (hitting the `Generate App List` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove App List` button in preview before hitting `Generate App List`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the preview with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
+An interesting quirk of these settings is that re-generating the game list in Add Games (hitting the `Refresh` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove from Steam` button in Add Games before hitting `Refresh`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the game list with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
## SteamGridDB
diff --git a/src/lang/he-IL/markdown/start-in-directory.md b/src/lang/he-IL/markdown/start-in-directory.md
index 86cf962c23..df84a987d5 100644
--- a/src/lang/he-IL/markdown/start-in-directory.md
+++ b/src/lang/he-IL/markdown/start-in-directory.md
@@ -1,6 +1,6 @@
-# "Start In" directory (optional) `[supports environment variables]`{.noWrap}
+# "Start In" directory `[supports env variables]`
-By default "Start In" directory is set to executable's directory:
+If `"Start In" Directory` is unset it defaults to the executable's directory. If not executable is set, it defaults to the directory of the ${filePath} variable:
 {.fitImage.center}
@@ -11,4 +11,5 @@ This option allows you to specify any directory you want as a "Start In" directo
It is useful when you're using batch files to start emulator and a game, but emulator requires a specific "Start In" directory to work properly.
## Shortcut Passthrough
+
If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the directory of the target of that shortcut. In the future, it will be overridden with the start in directory of that shortcut.
diff --git a/src/lang/he-IL/markdown/steam-category.md b/src/lang/he-IL/markdown/steam-category.md
index 079073dab9..677ea3d0ef 100644
--- a/src/lang/he-IL/markdown/steam-category.md
+++ b/src/lang/he-IL/markdown/steam-category.md
@@ -1,21 +1,13 @@
-# Steam category (optional) `[supports variables]`{.noWrap}
+# Steam category`{.noWrap}
+
+Hit the little plus sign to add your first category.
-Also known as "tags", can be used to group apps in Steam. In order to set Steam category, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify categories for "WII" and "GBA" (paired with "ROMS") category:
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
This how "WII" category will look like in Steam:

## Emojis and non-Standard Unicode Characters
+
Please not that this field works just fine with emojis like `🎮` work just fine in category names.
You can find a list of them here: [https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/he-IL/markdown/steam-directory.md b/src/lang/he-IL/markdown/steam-directory.md
index b15010e819..bb82bc6a97 100644
--- a/src/lang/he-IL/markdown/steam-directory.md
+++ b/src/lang/he-IL/markdown/steam-directory.md
@@ -1,4 +1,4 @@
-# Steam directory `[supports environment variables]`{.noWrap}
+# Steam directory `[supports env variables]`
Must be a valid Steam directory which contains Steam executable. In order for Steam account to be detected, user must have logged in at least once.
diff --git a/src/lang/he-IL/markdown/steam-parser-input.md b/src/lang/he-IL/markdown/steam-parser-input.md
index 75f21d380d..1174b71b64 100644
--- a/src/lang/he-IL/markdown/steam-parser-input.md
+++ b/src/lang/he-IL/markdown/steam-parser-input.md
@@ -1,4 +1,4 @@
-# Steam Parser specific inputs
+# Steam Parser Specific Inputs
## Find artwork for games only
If enabled SRM will filter out any Steam applications that are not full games, such as demos and tools like `3DMark` or `Wallpaper Engine`.
diff --git a/src/lang/he-IL/markdown/steam-parser.md b/src/lang/he-IL/markdown/steam-parser.md
index b158f676a8..5b93d8bc77 100644
--- a/src/lang/he-IL/markdown/steam-parser.md
+++ b/src/lang/he-IL/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Steam parser
-This parser imports steam games into SRM. It does not add shortcuts, but it allows you to set the artwork for your steam games. By default the parser will get games from all user accounts in the steam directory specified — if you would prefer to only get the games for a subset of the accounts then specify them in the `User accounts` field.
-
-## Limitations
-Unfortunately for the time being this parser only works for steam games **that are in at least one category**. The reason for this is that Steam only stores your full list of games locally if they are categorized. Sometimes, for unknown reasons, games will be stored locally regardless and the parser will work, but to be safe the easiest thing to do is just **create a Steam Category** that has all of your Steam games in it.
-
-## User accounts (Optional)
-
-Can be used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
-```
-${...}
-```
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
-
- {.fitImage.center}
-
-For example, this is how you specify account for "Banana" and "Apple":
-
-```
-${Banana}${Apple}
-```
-
-In case the [use account credentials](#what-does-use-account-credentials-do) is disabled, you can still limit accounts by specifying their ids directly:
-
-```
-${56489124}${21987424}
-```
-
-## What does "Skip found accounts with missing data directories" do?
-
-Sometimes Steam's file that contains logins, may contain users that do not have data directory created (might have been manually deleted, etc.). You can specify to skip those accounts by enabling this option.
-
-## What does "Use account credentials" do?
-
-Tries to look for account credentials in Steam directory. In other words -- username. Username then can be used to filter accounts without actually having to know their ids.
-
-### Warning!
-
-If Steam has credential saving disabled, this option will prevent finding user accounts.
+This parser imports steam games into SRM so you can manage their artwork. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
\ No newline at end of file
diff --git a/src/lang/he-IL/markdown/title-from-variable.md b/src/lang/he-IL/markdown/title-from-variable.md
index bb6e4a52a2..6aa467e98c 100644
--- a/src/lang/he-IL/markdown/title-from-variable.md
+++ b/src/lang/he-IL/markdown/title-from-variable.md
@@ -1,43 +1,40 @@
-# Title from custom variable (optional)
+# Title from custom variable
-Allows to overwrite extracted title with a custom variable. This is done right after title extraction, meaning that the replaced title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+Allows one to overwrite the extracted title with a custom variable, pulled from the `json` files described below. This happens right after title extraction, meaning that the new title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+
+Title matching is limited to specific groups of custom variables. For example, this is how you specify groups "FBN" and "PSN":
-Title matching can be limited to specific groups of custom variables. In order to specify groups, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify groups for "RPCS3" and "rpcs3":
```
-${RPCS3}${rpcs3}
+${RPCS3}${PSN}
```
-Make sure you **toggle enable to on**.
-
-
-## Case-insensitive option
-
-If this option is enabled, case-insensitive matching will be done and first matched custom variable will be used.
-
-## Note. This feature is **experimental**
+# How it works
-Basically, it might change in the future release (very unlikelly). Furthermore, currently the only way to add variables is to create/edit `customVariables.json` used by SRM directly.
+There are two variable files, `customVariables.json` which is maintained by SRM (don't change this one, your changes will be overwritten every time SRM restarts) and `userVariables.json` which is where you should put your own variables. Both files are located in SRM's `Config Directory`.
-This file is/shoud be located in SRM's `userData` directory.
-
-SRM will throw error unless the following JSON structure is used:
+Both `customVariables.json` and `userVariables.json` have the same JSON structure. SRM will throw an error unless the following JSON structure is used:
```
{
- "RPCS3": {
+ "Group1": {
"NPUB30698": "Catherine",
"NPUB30024": "1942: Joint Strike",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
+ "Group2": {
+ "The Legend Of Zelda": "The Legend Of Link",
+ ...
},
...
}
```
-Then if your user glob were `MyDir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `MyDir`, you would set the title from custom variable field to `${Custom Stuff}` to obtain a final title of "The Legend of Link".
+Then if your user glob were `romsdir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `romsdir`, you would set the title from custom variable field to `${Group2}` to obtain a title of "The Legend of Link".
+
+## Case-insensitive variables
+
+If enabled, case-insensitive matching will be done and first matched custom variable will be used.
+
+## Skip file if variable not found
+
+If enabled, titles that don't match a variable will be excluded.
diff --git a/src/lang/he-IL/markdown/title-modifier.md b/src/lang/he-IL/markdown/title-modifier.md
index 791e000e27..4ecb2d02db 100644
--- a/src/lang/he-IL/markdown/title-modifier.md
+++ b/src/lang/he-IL/markdown/title-modifier.md
@@ -1,9 +1,11 @@
# Title modifier `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting can be used to prepend or append desired characters to a title which will be added to Steam. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset. This setting can be used to prepend or append desired characters to a Steam shortcut's `Title`. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+
```
${fuzzyTitle} (1.7.5)
```
+
You can use `${title}`{.noWrap} or any other variable to construct the final title.
This setting influences Steam's APP ID.
diff --git a/src/lang/he-IL/markdown/uplay-parser-input.md b/src/lang/he-IL/markdown/uplay-parser-input.md
index f40bbcd928..3a54e84b1a 100644
--- a/src/lang/he-IL/markdown/uplay-parser-input.md
+++ b/src/lang/he-IL/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# Unique inputs for UPlay Parser
+# UPlay Parser Specific Inputs
+
## Ubisoft Directory Override
By default Steam ROM Manager assumes your UPlay install is located in `C:\Program Files (x86)\Ubisoft`. This field allows you to override that path if your UPlay installation is elsewhere.
## Launch Via UPlay `[Recommend disabled]`
-
What it sounds like, this toggle let's you set whether games will launch via UPlay or directly from the game's executable.
For UPlay this doesn't matter too much as UPlay games will automatically launch UPlay in the background even when launched from the executable. Steam Overlay will not work when `Launch via UPlay` is enabled, whereas both Steam and Ubisoft overlays work when `Launch via UPlay` is disabled.
diff --git a/src/lang/he-IL/markdown/user-accounts.md b/src/lang/he-IL/markdown/user-accounts.md
index 90a49b84f6..c0101b5f74 100644
--- a/src/lang/he-IL/markdown/user-accounts.md
+++ b/src/lang/he-IL/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# User accounts (Optional)
+# User accounts
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
-
-`${XXX}${YYY}`
-
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either:
-
-* An `Account ID` (the number that appears as the directory name of your account directory in `/path/to/steam/userdata/`). For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
+This field is used to limit SRM's effects to specific user accounts. It can be set to `Global` or over ridden per parser.
## Warning
-If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and **you must only use** `Account IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and `Choose Accounts` will only be able to pull your `Steam IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Settings` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
diff --git a/src/lang/he-IL/markdown/user-exceptions.md b/src/lang/he-IL/markdown/user-exceptions.md
index a53dd0d6d9..a6e47de497 100644
--- a/src/lang/he-IL/markdown/user-exceptions.md
+++ b/src/lang/he-IL/markdown/user-exceptions.md
@@ -12,7 +12,7 @@ The `Extracted Title` field matches in two ways:
Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`.
-Exceptions generated from `Preview` will always be in the form `Extracted Title ${id:XXXXXX}`.
+Exceptions generated from `Add Games` will always be in the form `Extracted Title ${id:XXXXXX}`.
## New Display Title
diff --git a/src/lang/hu-HU/langStrings.json b/src/lang/hu-HU/langStrings.json
index d42bc546d5..60484346ba 100644
--- a/src/lang/hu-HU/langStrings.json
+++ b/src/lang/hu-HU/langStrings.json
@@ -14,17 +14,17 @@
"games": "All Artwork"
},
"by": "by",
- "refreshImages": "Refresh images",
- "saveImage": "Save image to file",
- "addLocalImages": "Add local images",
- "retryDownload": "Retry download",
- "generateAppList": "Parse",
+ "refreshImages": "Refresh artwork",
+ "saveImage": "Save artwork to file",
+ "addLocalImages": "Add local artwork",
+ "retryDownload": "Retry artwork download",
+ "generateAppList": "Refresh",
"saveAppList": "Save to Steam",
"removeAppList": "Remove from Steam",
"remainingImages": "Retrieving urls:",
"stopUrlRetrieving": "Stop",
- "exportSelections": "Export",
- "importSelections": "Import",
+ "exportSelections": "Export art",
+ "importSelections": "Import art",
"backButton": "Back",
"logButton": "Log"
},
@@ -44,46 +44,46 @@
"removingFromCategories": "Removing all added category information",
"writingVDF_entries__i": "Writing VDF files and downloading high res images in batches of ${batchSize}.",
"updatingKnownSteamDirList": "Updating a list of known Steam directories.",
- "retryingDownload__i": "Retrying image download from \"${imageUrl}\" for \"${appTitle}\".",
- "disabledConfigurations__i": "${count} user configuration(s) was/were skipped (disabled by user).",
- "invalidConfigurations__i": "${count} user configuration(s) was/were skipped (invalid).",
+ "retryingDownload__i": "Retrying artwork download from \"${imageUrl}\" for \"${appTitle}\".",
+ "disabledConfigurations__i": "${count} user parser(s) was/were skipped (disabled by user).",
+ "invalidConfigurations__i": "${count} user parser(s) was/were skipped (invalid).",
"executingParsers": "Executing parsers.",
- "shutdownSteam": "Please shutdown Steam if it is running.",
- "noParserConfigurations": "Please create parser configuration in \"Parsers\" menu first.",
+ "shutdownSteam": "If Steam is running, exit Steam.",
+ "noParserConfigurations": "Please create parser in \"Parsers\" menu first.",
"parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
- "allImagesRetrieved": "All available image urls retrieved.",
+ "allImagesRetrieved": "All available artwork urls retrieved.",
"providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
"noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
- "preparingExport": "Preparing export of image choices.",
- "exportProgress__i": "Saving image choices ${progress}.",
- "readingSelections": "Applying imported image choices."
+ "preparingExport": "Preparing export of artwork choices.",
+ "exportProgress__i": "Saving artwork choices ${progress}.",
+ "readingSelections": "Applying imported artwork choices."
},
"errors": {
- "fatalError": "Fatal error occurred in Preview. See event log for details.",
- "fatalError__i": "Fatal Preview Error ${error}",
+ "fatalError": "Fatal error occurred in Add Games. See event log for details.",
+ "fatalError__i": "Fatal Add Games error: ${error}",
"knownSteamDirListIsEmpty": "A list of known Steam directories is empty.",
"steamIsRunning": "Cannot make changes while steam is running!",
"categorySaveError": "Error updating categories. See event log for details.",
"categorySaveError__i": "Category error (shortcuts and artwork will still be added): ${error}",
"controllerSaveError": "Error updating controller templates. See event log for details.",
"controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
- "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
+ "retryingDownload__i": "Artwork download from \"${imageUrl}\" failed for \"${appTitle}\".",
"providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
"unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
"exportError__i": "Could not save selections package folder: ${error}",
"importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
- "importFailError__i": "Could not import image choices: ${error}"
+ "importFailError__i": "Could not import artwork choices: ${error}"
},
"success": {
"writingVDF_entries": "Done adding/removing entries.",
"removingVDF_entries": "Entries have been removed.",
- "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
- "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
+ "exportSuccess__i": "Artwork choices folder successfully saved to \"${path}\"!",
+ "importSelectionsSuccess__i": "Successfully imported ${count} artwork choices!"
}
}
},
"steamParser": {
- "onlyGamesTitle": "Find artwork for games only (no tools)",
+ "onlyGamesTitle": "Find artwork for games only (no tools or demos)",
"onlyInstalledTitle": "Find artwork for installed titles only",
"sourceModsTitle": "Find artwork for unofficial source mods",
"errors": {
@@ -93,16 +93,30 @@
"fatalError__i": "> Steam parser failed with fatal error:\n ${error}"
}
},
+ "nonSRMShortcutsParser": {
+ "errors": {
+ "noSteamAccounts": "> Steam directory specified has no accounts.",
+ "fatalError__i": "> Non-SRM Shortcuts parser failed with fatal error:\n ${error}"
+ }
+ },
"manualParser": {
"manifestsInputTitle": "Manifests Directory",
- "manifestsInputPlaceholder": "/path/to/your/manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"errors": {
"fatalError__i": "> Manual parser failed with fatal error:\n ${error}"
}
},
"epicParser": {
"manifestsInputTitle": "Epic Manifests Directory Override",
- "manifestsInputPlaceholder": "/path/to/Manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"launcherModeInputTitle": "Launch games via Epic for online services",
"errors": {
"invalidManifestsOverride": "> Manifests Override is not a valid directory.",
@@ -112,25 +126,56 @@
}
},
"legendaryParser": {
+ "launcherModeInputTitle": "Launch games via Legendary for online services",
"legendaryInstalledFileTitle": "Legendary installed.json Path Override",
- "legendaryInstalledFilePlaceholder": "/path/to/legendary/installed.json",
+ "legendaryInstalledFilePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary\\installed.json",
+ "Darwin": "/path/to/legendary/installed.json",
+ "Linux": "/path/to/legendary/installed.json"
+ },
+ "legendaryExeOverrideTitle": "Legendary Path Override",
+ "legendaryExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary.exe",
+ "Darwin": "/path/to/legendary",
+ "Linux": "/path/to/legendary"
+ },
"errors": {
"legendaryNotInstalled": "> Legendary installed.json not found",
- "fatalError__i": "> Legendary parser failed with fatal error: \n ${error}"
+ "fatalError__i": "> Legendary parser failed with fatal error:\n ${error}"
+ }
+ },
+ "battleNetParser": {
+ "battleExeOverrideTitle": "Battle.net.exe Path Override",
+ "battleExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Battle.net\\Battle.net.exe",
+ "Darwin": "/path/to/Battle.net.app/Contents/MacOS/Battle.net",
+ "Linux": "/path/to/Battle.net"
+ },
+ "errors": {
+ "battleNotCompatible": "> Battle.net parser is only available on Windows.",
+ "fatalError__i": "> Battle.net parser failed with fatal error:\n ${error}"
}
},
"UWPParser": {
"UWPDirTitle": "XboxGames Directory Override",
- "UWPDirPlaceholder": "/path/to/XboxGames or /path/to/WindowsApps",
+ "UWPDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\XboxGames\\ or C:\\path\\to\\WindowsApps\\",
+ "Darwin": "/path/to/XboxGames/ or /path/to/WindowsApps/",
+ "Linux": "/path/to/XboxGames/ or /path/to/WindowsApps/"
+ },
"UWPLauncherModeTitle": "Launch game as UWP instead of launcher helper",
"errors": {
"fatalError__i": "> UWP parser is not compatible in this platform.",
- "UWPNotCompatible": "> UWP parser failed with fatal error:\n ${error}"
+ "UWPNotCompatible": "> UWP parser is only available on Windows."
}
},
"uplayParser": {
"uplayDirTitle": "Ubisoft Directory Override",
- "uplayDirPlaceholder": "/path/to/Ubisoft/",
+ "uplayDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Ubisoft\\",
+ "Darwin": "/path/to/Ubisoft/",
+ "Linux": "/path/to/Ubisoft/"
+ },
"launcherModeInputTitle": "Launch games via UPlay for online services",
"errors": {
"invalidManifestsOverride": "> Uplay Directory Override is not a valid directory.",
@@ -142,8 +187,14 @@
},
"gogParser": {
"galaxyExeOverrideTitle": "Galaxy Path Override",
- "galaxyExeOverridePlaceholder": "/path/to/GalaxyClient.exe",
+ "galaxyExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\GalaxyClient.exe",
+ "Darwin": "/path/to/GOG Galaxy.app/Contents/MacOS/GOG Galaxy",
+ "Linux": "/path/to/GalaxyClient"
+ },
"launcherModeInputTitle": "Launch games via GOG Galaxy",
+ "parseLinkedExecsTitle": "Parse linked executables from GOG Galaxy",
+ "parseRegistryEntries": "Parse using Registry instead of Galaxy DB",
"errors": {
"invalidGalaxyExeOverride": "> Galaxy Client Override is not a valid path.",
"fatalError__i": "> GOG Galaxy parser failed with fatal error:\n ${error}",
@@ -153,7 +204,11 @@
},
"amazonGamesParser": {
"exeOverrideTitle": "Amazon Games Path Override",
- "exeOverridePlaceholder": "/path/to/Amazon Games.exe",
+ "exeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Amazon Games.exe",
+ "Darwin": "/path/to/Amazon Games.app/Contents/MacOS/Amazon Games",
+ "Linux": "/path/to/Amazon Games"
+ },
"launcherModeInputTitle": "Launch games via Amazon Games",
"errors": {
"invalidExeOverride": "> Amazon Games Installation Override is not a valid directory.",
@@ -164,7 +219,11 @@
},
"itchIoParser": {
"itchIoAppDataOverrideTitle": "itch.io AppData Directory Override",
- "itchIoAppDataOverridePlaceholder": "/path/to/itch",
+ "itchIoAppDataOverridePlaceholder": {
+ "Windows_NT": "C:\\AppData\\itch\\",
+ "Darwin": "~/Library/Application Support/itch/",
+ "Linux": "~/.config/itch/"
+ },
"itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Windows-on-Linux Install Drive Redirect",
"itchIoWindowsOnLinuxInstallDriveRedirectPlaceholder": "/mnt/d/",
"errors": {
@@ -177,7 +236,11 @@
},
"eaDesktopParser": {
"eaGamesDirTitle": "EA Games Directory Override",
- "eaGamesDirPlaceholder": "/path/to/EA Games/",
+ "eaGamesDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\EA Games\\",
+ "Darwin": "/path/to/EA Games/",
+ "Linux": "/path/to/EA Games/"
+ },
"eaLauncherModeTitle": "Launch games via EA Desktop",
"errors": {
"fatalError__i": "> EA Desktop parser failed with fatal error:\n ${error}",
@@ -186,7 +249,7 @@
}
},
"globParser": {
- "inputTitle": "User's glob",
+ "inputTitle": "Search glob",
"inputPlaceholder": "${title}.@(iso|ISO)",
"errors": {
"noTitle__md": "> File glob must contain `${title}`!",
@@ -203,7 +266,7 @@
}
},
"globRegexParser": {
- "inputTitle": "User's glob-regex",
+ "inputTitle": "Search glob-regex",
"inputPlaceholder": "${/valid regex/}",
"errors": {
"noRegex__md": "> File glob must contain `${regex}` where **regex** is your regular expression!",
@@ -226,18 +289,22 @@
"stylesTitle": "Allowed grid styles",
"stylesHeroTitle": "Allowed hero styles",
"stylesLogoTitle": "Allowed logo styles",
- "stylesIconTitle": "Allowed icon styles"
+ "stylesIconTitle": "Allowed icon styles",
+ "sizesTitle": "Allowed banner dimensions",
+ "sizesHeroTitle": "Allowed hero dimensions",
+ "sizesTallTitle": "Allowed portrait dimensions",
+ "sizesIconTitle": "Allowed icon dimensions"
},
"logger": {
"component": {
"noMessages": "No messages are available",
- "error": "ERROR",
- "info": "INFO",
- "success": "SUCCESS",
- "fuzzy": "FUZZY",
- "textWrap": "TEXT-WRAP",
- "autoscroll": "AUTOSCROLL",
- "clearLog": "Clear log",
+ "error": "Error messages",
+ "info": "Info messages",
+ "success": "Success messages",
+ "fuzzy": "Fuzzy messages",
+ "textWrap": "Wrap text",
+ "autoscroll": "Autoscroll",
+ "clearLog": "Clear",
"issueDescription": "Thorough issue description with passable spelling.",
"handleExample": "CoolHandle#1234"
}
@@ -251,40 +318,42 @@
"corruptedVariables__i": "Saved custom variables are invalid!\r\nPermanent variable saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "Custom variables file has been downloaded."
+ "downloaded": "Custom variables file has been updated."
}
}
},
"configPresets": {
"service": {
"error": {
- "failedToDownload__i": "Failed to download configuration presets file. Status: ${error}.",
+ "failedToDownload__i": "Failed to download configuration presets file from commit ${commit}. Status: ${error}.",
"writingError": "Error occurred while saving configuration presets.",
"loadingError": "Error occurred while loading configuration presets.",
"corruptedVariables__i": "Saved configuration presets are invalid!\r\nPermanent file saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "New config presets have been downloaded."
+ "downloaded": "Community presets have been updated."
}
}
},
"settings": {
"component": {
"label": {
- "general": "General settings",
- "imageProviders": "Image provider settings",
- "fuzzy": "Fuzzy matcher settings",
- "environmentVariables": "Environment variable settings",
- "communityPresets": "Community variable/preset settings"
+ "general": "General",
+ "imageProviders": "Artwork Providers",
+ "fuzzy": "Fuzzy Matcher",
+ "environmentVariables": "Environment Variables",
+ "communityPresets": "Community Presets and Custom Variables"
},
"text": {
+ "autoUpdate": "Check for updates on start",
"offlineMode": "Offline mode",
- "removeApps_desc": "all added app entries and controllers",
+ "removeApps_desc": "all added games and controllers",
"removeApps_btn": "Remove",
- "preloadImages": "Preload retrieved images immediately",
+ "preloadImages": "Artwork loading strategy",
"fuzzy_verbose": "Log matching results",
- "fuzzy_filter": "Filter images",
+ "fuzzy_filter": "Filter artwork",
"enabledProviders": "Enabled image providers",
+ "dnsServers": "DNS manual override",
"selectLanguage": "Select language",
"selectTheme": "Select theme",
"resetFuzzy_desc": "fuzzy list",
@@ -292,28 +361,38 @@
"resetFuzzy_btn": "Reset",
"customVariables_desc": "custom variables",
"configPresets_desc": "config presets",
- "showSteamImages": "Show current Steam images by default",
+ "showSteamImages": "Show current Steam artwork by default",
"deleteDisabledShortcuts": "Remove shortcuts for disabled parsers",
"clearLogOnTest": "Automatically clear log before testing parsers",
- "configDir": "Open Config Directory"
+ "configDir": "Config Directory",
+ "steamDir": "Steam Directory"
},
"placeholder": {
"noProviders": "None",
- "steamDirectoryWin": "Typically C:\\Program Files (x86)\\Steam",
- "steamDirectoryMac": "Typically ~/Library/Application Support/Steam",
- "steamDirectoryLinux": "Typically /home/user/.steam/steam",
"userAccounts": "For example ${steamlogin}",
- "romsDirectoryWin": "For example D:\\ROMs",
- "romsDirectoryMac": "For example ~/ROMs",
- "romsDirectoryLinux": "For example ~/ROMs",
- "retroarchPathWin": "For example C:\\Path\\To\\retroarch.exe",
- "retroarchPathLinux": "For example /path/to/retroarch",
- "retroarchPathMac": "For example /path/to/retroarch",
- "raCoresDirectoryWin": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores",
- "raCoresDirectoryLinux": "Typically /lib/x86_64-linux-gnu/libretro/cores",
- "raCoresDirectoryMac": "Typically /Applications/Retroarch.app/Contents/Resources/cores",
- "localImagesDirectoryWin": "For example C:\\Path\\To\\LocalArtwork",
- "localImagesDirectoryUnix": "For example ~/path/to/localartwork"
+ "bySystem": {
+ "Windows_NT": {
+ "steamDirectory": "Typically C:\\Program Files (x86)\\Steam\\",
+ "romsDirectory": "For example D:\\ROMs\\",
+ "retroarchPath": "For example C:\\Path\\To\\Retroarch.exe",
+ "raCoresDirectory": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores\\",
+ "localImagesDirectory": "For example C:\\Path\\To\\LocalArtwork\\"
+ },
+ "Darwin": {
+ "steamDirectory": "Typically ~/Library/Application Support/Steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /Applications/Retroarch.app/Contents/Resources/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ },
+ "Linux": {
+ "steamDirectory": "Typically /home/user/.steam/steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /lib/x86_64-linux-gnu/libretro/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ }
+ }
}
},
"service": {
@@ -331,6 +410,7 @@
"component": {
"about": "About",
"preview": "Preview",
+ "view": "View Games",
"logger": "Log",
"settings": "Settings",
"parsers": "Create Parser",
@@ -352,6 +432,9 @@
"title": "User Exceptions",
"exclude": "Exclude Title",
"excludeArtwork": "Local Artwork Only"
+ },
+ "placeholder": {
+ "sortBy": "Sort By"
}
},
"service": {
@@ -366,8 +449,8 @@
"component": {
"buttons": {
"save": "Save",
- "copy": "Copy",
- "testParser": "Test parser",
+ "copy": "Clone",
+ "testParser": "Test",
"delete": "Delete",
"moveUp": "Move up",
"moveDown": "Move down",
@@ -381,23 +464,23 @@
"opSys__i": "Operating system is \"${os}\"",
"testCompleted": "Parser test is completed.",
"nothingWasFound": "Parser found nothing.",
- "copiedToClipboard": "Configuration copied to clipboard",
+ "copiedToClipboard": "Parser copied to clipboard",
"userExclusions": "User excluded:",
- "excludedFileInfo__i": "[${index}/${total}]: ${filename}",
+ "excludedFileInfo__i": "[${index}/${total}]: ${filename}\n Excluded by \"${exceptionKey}\"",
"removingControllers__i": "Removing controller templates for parser: ${configTitle}",
"fetchingControllerTemplates": "Fetching controller templates"
},
"error": {
"missingAccounts__i": "Following ${count} user account(s) were not found (user must to login to Steam at least once):",
"missingAccountInfo__i": " ${name}",
- "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials (\"Show advanced options -> User accounts -> Use account credentials\").\r\nIf you're seeing this, preview won't be generated for this configuration.",
+ "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials.\r\nIf you're seeing this, Add Games will skip this configuration.",
"cannotParseUserIDs": "Error parsing user accounts:",
"failedToMatch": "Failed to match:",
"failedFileInfo__i": "[${index}/${total}]: ${filename}",
"testFailed": "Testing failed",
"cannotTestInvalid": "Can not test invalid configuration!",
"cannotCopyInvalid": "Can not copy invalid configuration!",
- "failedToCopy": "Failed to copy to clipbard!",
+ "failedToCopy": "Failed to copy to clipboard!",
"cannotFetchTemplates": "Can not fetch controller templates for invalid steam directory!",
"errorRemovingControllers": "Error removing controllers:",
"cannotRemoveControllers": "Can not remove controllers from invalid steam directory!"
@@ -405,8 +488,8 @@
"success": {
"foundAccounts__i": "Found ${count} available user account(s):",
"foundAccountInfo__i": " ${name} (steamID64: ${steamID64}, accountID: ${accountID})",
- "steamCategory__i": "[${index}/${total}]: Steam categories - ${steamCategory}",
- "steamCategoryInfo__i": "[${index}/${total}]: ${steamCategory}",
+ "steamCategories__i": "[${index}/${total}]: Steam categories - ${steamCategories}",
+ "steamCategoriesInfo__i": "[${index}/${total}]: ${steamCategories}",
"exceptionKey__i": "[${index}/${total}]: Exception ID - ${appid}",
"appId__i": "[${index}/${total}]: Legacy App ID - ${appid}",
"shortAppId__i": "[${index}/${total}]: App ID - ${appid}",
@@ -416,20 +499,21 @@
"filePath__i": "[${index}/${total}]: File path - ${filePath}",
"startDir__i": "[${index}/${total}]: Start dir - ${startDir}",
"completeShortcut__i": "[${index}/${total}]: Complete shortcut - ${shortcut}",
- "firstImageQuery__i": "[${index}/${total}]: Image queries - ${query}",
+ "firstImageQuery__i": "[${index}/${total}]: Artwork queries - ${query}",
+ "imagePool__i": "[${index}/${total}]: Artwork pool - ${imagePool}",
"imageQueries__i": "[${index}/${total}]: ${query}",
"defaultImage__i": "[${index}/${total}]: Resolved fallback ${artworkType}:\r\n[${index}/${total}]: ${image}",
"resolvedDefaultImage__i": "[${index}/${total}]: Fallback ${artworkType}:",
- "localImages__i": "[${index}/${total}]: Resolved ${artworkType}:",
- "resolvedLocalImages__i": "[${index}/${total}]: ${artworkType} glob:",
+ "localImages__i": "[${index}/${total}]: Resolved local ${artworkType}:",
+ "resolvedLocalImages__i": "[${index}/${total}]: Local ${artworkType} glob:",
"indexInfo__i": "[${index}/${total}]: ${indexed}",
"removedControllers__i": "Succesfully removed controllers for parser: ${configTitle}",
"fetchedTemplates": "Fetched all controller templates"
},
"label": {
"parserType": "Parser type",
- "configTitle": "Configuration title",
- "steamCategory": "Steam category",
+ "configTitle": "Parser title",
+ "steamCategories": "Steam collections",
"executableModifier": "Executable modifier",
"executableLocation": "Executable",
"romDirectory": "ROMs directory",
@@ -440,33 +524,56 @@
"titleModifier": "Title modifier",
"fuzzyMatch": "Fuzzy matching",
"executableArgs": "Command line arguments",
- "onlineImageQueries": "Online image query",
- "imagePool": "Image pool",
- "imageProviders": "Image providers",
+ "onlineImageQueries": "Artwork provider search queries",
+ "imagePool": "Artwork pool",
+ "imageProviders": "Artwork providers",
"defaultImage__i": "Fallback ${artworkType}",
"localImages__i": "Local ${artworkType} glob"
},
"placeholder": {
"parserType": "Select parser...",
"configTitle": "My Awesome Parser",
- "steamCategory": "${cat1}${cat2}",
- "steamDirectory": "${steamdirglobal} or /path/to/steam",
- "userAccounts": "${steamuser1}${steamuser2} or ${${accountsglobal}}",
- "titleFromVariable": "${myvariable}",
+ "steamDirectory": {
+ "Windows_NT": "${steamdirglobal} or C:\\path\\to\\Steam\\",
+ "Darwin": "${steamdirglobal} or /path/to/Steam/",
+ "Linux": "${steamdirglobal} or /path/to/Steam/"
+ },
+ "titleFromVariable": "${variableGroup1}${variableGroup2}",
"titleModifier": "${fuzzyTitle} or ${title}",
- "defaultImage__i": "/path/to/fallback_${artworkType}.png",
- "localImages__i": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
- "romDirectory": "/path/to/games/",
+ "defaultImage__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\fallback_${artworkType}.png",
+ "Darwin": "/path/to/fallback_${artworkType}.png",
+ "Linux": "/path/to/fallback_${artworkType}"
+ },
+ "localImages__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\art\\\\${artworkType}\\\\\\${title}.@(png|jpg)",
+ "Darwin": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
+ "Linux": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)"
+ },
+ "onlineImageQueries": "${${fuzzyTitle}} or ${${title}}${${fuzzyTitle}}",
+ "imagePool": "${fuzzyTitle}",
+ "romDirectory": {
+ "Windows_NT": "C:\\path\\to\\games\\",
+ "Darwin": "/path/to/games/",
+ "Linux": "/path/to/games/"
+ },
"glob": "${title}.@(iso|ISO)",
- "executableLocation": "Example: /path/to/emulator.exe",
- "executableArgs": "--arg1 --arg2",
+ "executableLocation": {
+ "Windows_NT": "C:\\path\\to\\emulator.exe",
+ "Darwin": "/path/to/emulator.app",
+ "Linux": "/path/to/emulator"
+ },
+ "executableArgs": "--arg1 --arg2 --launch \"${filePath}\"",
"executableModifier": "\"${exePath}\"",
- "startInDirectory": "/path/to/start/in/dir",
+ "startInDirectory": {
+ "Windows_NT": "C:\\path\\to\\start-in-dir\\",
+ "Darwin": "/path/to/start-in-dir/",
+ "Linux": "/path/to/start-in-dir/"
+ },
"imageProviders": "None",
"multiAPIPlaceholder": "No Filter"
},
"text": {
- "tryToMatchTitle": "Enable Title from Custom Variable",
"skipFileIfVariableWasNotFound": "Skip file if variable was not found",
"caseInsensitiveVariables": "Case-insensitive variables",
"shortcut_passthrough": "Follow .lnk or .desktop to destination (Windows and Linux only)",
@@ -482,18 +589,18 @@
},
"service": {
"info": {
- "updatingConfigurations": "Updating user configurations with new fields"
+ "updatingConfigurations": "Updating user's parsers with new fields"
},
"error": {
- "savingConfiguration": "Error encountered while saving user configurations!",
- "readingConfiguration": "Error encountered while reading user configurations!",
+ "savingConfiguration": "Error encountered while saving user's parsers!",
+ "readingConfiguration": "Error encountered while loading user's parsers!",
"parserTypeMissing": "Cannot save without specifying parser type",
- "corruptedConfiguration__i": "One or more saved parser configurations are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
- "fetcingTemplates": "Error encountered while fetching controllers templates!"
+ "corruptedConfiguration__i": "One or more saved parsers are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
+ "fetchingTemplates": "Error encountered while fetching controllers templates!"
},
"validationErrors": {
"parserType__md": "> Incorrect parser type!",
- "configTitle__md": "> Configuration title is required!",
+ "configTitle__md": "> Parser title field cannot be blank!",
"parserId__md": "> Parser Id is missing, something is horribly wrong.",
"parserInput": {
"noInput": "No inputs are available!",
@@ -501,19 +608,15 @@
"incorrectParser": "Incorrect parser!"
},
"romDir__md": "> ROMs directory is invalid!",
- "userAccounts__md": "> Steam parser requires `User Accounts` field",
+ "userAccounts__md": "> User accounts field is required!",
"steamDir__md": "> Steam directory is invalid!",
"startInDir__md": "> \"Start In\" directory is invalid!",
"executable__md": "> Executable is invalid!",
- "imagePool__md": "> Image pool must not be empty!",
- "defaultImage__md": "> Default image is an invalid path!",
- "titleModifier__md": "> Title modifier must not be empty!",
- "executableModifier__md": "> Executable modifier must not be empty!",
- "variableString__md": "> Uneven number of `${` and `}` pairs. Use `\\` to escape `${` or `}` if you want to use them as characters.",
- "imageProviders__md": "> Incorrect image providers type!",
- "unhandledValidationKey__md": "> Input's validation is unhandled",
- "genericDir__md": "> Directory is invalid",
- "genericPath__md": "> Path is invalid"
+ "defaultImage__md": "> Fallback artwork is an invalid path!",
+ "variableString__md": "> Uneven number of `${` and `}` pairs! Use `\\` to escape `${` or `}` if you want to use them as characters.",
+ "unhandledValidationKey__md": "> Input's validation is unhandled!",
+ "genericDir__md": "> Directory is invalid!",
+ "genericPath__md": "> Path is invalid!"
},
"text": {
"noTitle": "No title!"
@@ -540,7 +643,7 @@
"error": {
"parserNotFound__i": "Parser \"${name}\" not found!",
"tooManyFieldGlobs__md": "> Only one `$(...)$` set is allowed per input.",
- "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** ir **Glob-regex** field.",
+ "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** in **Glob-regex** field.",
"noWinSlashes__md": "> Windows directory character `\\` is not allowed! Use `/` instead."
}
},
@@ -567,11 +670,11 @@
"error": {
"readingVdf__i": "Failed to read from \"${filePath}\".\n ${error}",
"writingVdf__i": "Failed to write to \"${filePath}\".\n ${error}",
- "skippingDMCA__i": "Skipping DMCA'd image for ${title}",
+ "skippingDMCA__i": "Skipping DMCA'd artwork for ${title}",
"corruptedVdf__i": "\"${filePath}\" is corrupted.\n ${error}",
"creatingBackup__i": "Could not create backup for \"${filePath}\".\n ${error}",
"unsupportedMimeType__i": "Mime type (${type}) is unsupported (title - \"${title}\").",
- "imageError__i": "Error occurred while saving/downloading image for \"${title}\". Url: ${url}.\n ${error}"
+ "imageError__i": "Error occurred while saving/downloading artwork for \"${title}\". Url: ${url}.\n ${error}"
}
},
"helpers": {
diff --git a/src/lang/hu-HU/markdown/UWP-parser-input.md b/src/lang/hu-HU/markdown/UWP-parser-input.md
index 1a3f20be1d..8c045eea77 100644
--- a/src/lang/hu-HU/markdown/UWP-parser-input.md
+++ b/src/lang/hu-HU/markdown/UWP-parser-input.md
@@ -1,4 +1,4 @@
-# Unique inputs for UWP Parser
+# UWP Parser Specific Inputs
## Games directory
@@ -8,4 +8,4 @@ Set it to `C:\Program Files\WindowsApps` to grab all UWP applications -- you'll
## Launch as UWP or from GameLaunchHelper.exe
-Gamepass games can be launched both ways, although UWP is preffered.
+Gamepass games can be launched both ways, although UWP is preferred.
diff --git a/src/lang/hu-HU/markdown/UWP-parser.md b/src/lang/hu-HU/markdown/UWP-parser.md
index bfb5a847f3..af4fee0f84 100644
--- a/src/lang/hu-HU/markdown/UWP-parser.md
+++ b/src/lang/hu-HU/markdown/UWP-parser.md
@@ -4,4 +4,4 @@ This parser imports `UWP` games in your Windows OS, having a games library path
## Compatibility
-This parser should only work on `Windows 10` and `Windows 11`.
\ No newline at end of file
+This parser should only work on `Windows 10` and `Windows 11`.
diff --git a/src/lang/hu-HU/markdown/about.md b/src/lang/hu-HU/markdown/about.md
index b5b78d51b7..1dfe83f938 100644
--- a/src/lang/hu-HU/markdown/about.md
+++ b/src/lang/hu-HU/markdown/about.md
@@ -2,7 +2,7 @@
In case you're having trouble with SRM, feel free to visit the [discord](https://discord.gg/bnSVJrz) or the [subreddit](https://www.reddit.com/r/SteamRomManager/) and ask for our help. In order for us to help you, we would like you to provide this info:
-* SRM version: **#{APP[version]}**
+* SRM version: **#{APP[version]}** emudeckText
* Operating System: **#{APP[os]}**
## Useful links
@@ -43,8 +43,9 @@ If you enjoy Steam ROM Manager and want it to continue to be useful also conside
* `CarJem`{.noWrap} - Added the manual parser.
* `MattMckenzy`{.noWrap} - Added ability to import and export image choices.
* `Apalatn`{.noWrap} - Added an install drive redirect option to the itch.io parser.
-* `OneMoreByte` - Made itch.io parser work on linux and mac.
-* `UndarkAido` - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `OneMoreByte`{.noWrap} - Made itch.io parser work on linux and mac.
+* `UndarkAido`{.noWrap} - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `HazardousBackup`{.noWrap} - Added option to GOG parser to parse Registry instead of GOG's DB.
### Community
* `HE Spoke`{.noWrap} - created a community around SRM. Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups. Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
diff --git a/src/lang/hu-HU/markdown/amazon-games-parser-input.md b/src/lang/hu-HU/markdown/amazon-games-parser-input.md
index 7ac728e20b..770697198e 100644
--- a/src/lang/hu-HU/markdown/amazon-games-parser-input.md
+++ b/src/lang/hu-HU/markdown/amazon-games-parser-input.md
@@ -1,4 +1,4 @@
-# Amazon Games Parser specific inputs
+# Amazon Games Parser Specific Inputs
## Amazon Games Path Override
By default Steam ROM Manager assumes your Amazon Games installation is located at `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`. This field allows you to override that path if your Amazon Games installation is elsewhere.
diff --git a/src/lang/hu-HU/markdown/amazon-games-parser.md b/src/lang/hu-HU/markdown/amazon-games-parser.md
index cdfda7c283..eb556fcc6e 100644
--- a/src/lang/hu-HU/markdown/amazon-games-parser.md
+++ b/src/lang/hu-HU/markdown/amazon-games-parser.md
@@ -1,3 +1,3 @@
# Amazon Games Parser
-This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/hu-HU/markdown/battle-net-parser-input.md b/src/lang/hu-HU/markdown/battle-net-parser-input.md
new file mode 100644
index 0000000000..1f03fae4a6
--- /dev/null
+++ b/src/lang/hu-HU/markdown/battle-net-parser-input.md
@@ -0,0 +1,5 @@
+# Battle.net Parser Specific Inputs
+
+## Battle.net.exe Path Override
+
+By default Steam ROM Manager assumes your `Battle.net` executable is located at `C:\Program Files (x86)\Battle.net\Battle.net.exe`. This field allows you to override that if your `Battle.net` is installed elsewhere.
diff --git a/src/lang/hu-HU/markdown/battle-net-parser.md b/src/lang/hu-HU/markdown/battle-net-parser.md
new file mode 100644
index 0000000000..c3ffb10b67
--- /dev/null
+++ b/src/lang/hu-HU/markdown/battle-net-parser.md
@@ -0,0 +1,5 @@
+# Battle.net Parser
+
+This parser imports games from the `Battle.net` app, so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Blizzard has altered the structure of their database files, in which case please let the developers of SRM know and we will resolve the issue.
+
+The `Battle.net` parser is somewhat special in that it uses a shell script at `${srmDir}/scripts/bnet.ps1` in order to launch `Battle.net`, wait an appropriate amount of time, and only then launch the actual title.
diff --git a/src/lang/hu-HU/markdown/config-title.md b/src/lang/hu-HU/markdown/config-title.md
index ed2eeef493..abadc31951 100644
--- a/src/lang/hu-HU/markdown/config-title.md
+++ b/src/lang/hu-HU/markdown/config-title.md
@@ -1,3 +1,5 @@
-# Configuration title
+# Parser title
-Title to save user configuration as. Does not have to be unique, but is required.
\ No newline at end of file
+Title of the parser. Does not have to be unique, but is required.
+
+This field will not affect what is added to `Steam` in any way.
diff --git a/src/lang/hu-HU/markdown/controller-templates.md b/src/lang/hu-HU/markdown/controller-templates.md
index 37c943f370..686b3ba13a 100644
--- a/src/lang/hu-HU/markdown/controller-templates.md
+++ b/src/lang/hu-HU/markdown/controller-templates.md
@@ -17,10 +17,10 @@ In the SRM parser:
Currently, SRM pulls all of the default (Valve made) templates for each controller as well as all of the user defined templates that end in `(SRM)`.
-* Select your templates and save the parser. The controller configsets will be applied once you hit `Save App List` in the preview.
+* Select your templates and save the parser. The controller configsets will be applied once you hit `Save to Steam` in the Add Games.
* To unset controller configs, you may either `Remove All Added App Entries` from global settings (this deletes all SRM made changes to your steam data) or hit `Unset All Controllers` in the parser (this only removes controller settings for the steam directory and user specified in that parser).
-Once this is done you can generate and save the preview as usual, and the template will be applied to all the titles in the parser.
+Once this is done you can parse and add games to steam as usual, and the templates will be applied to all the titles in the parser.
diff --git a/src/lang/hu-HU/markdown/default-image.md b/src/lang/hu-HU/markdown/default-image.md
index 47e3f9261e..7bf4e6413d 100644
--- a/src/lang/hu-HU/markdown/default-image.md
+++ b/src/lang/hu-HU/markdown/default-image.md
@@ -1,4 +1,4 @@
-# Default image (optional) `[supports variables]`{.noWrap}
+# Default image `[supports variables]`{.noWrap}
Allows one to use an image, stored locally, as a default/fallback image. A [special glob input](#special-glob-input) string is used to retrieve images. Only the first retrieved image is used.
diff --git a/src/lang/hu-HU/markdown/ea-desktop-parser-input.md b/src/lang/hu-HU/markdown/ea-desktop-parser-input.md
index 7990efb5b5..355ba68c8e 100644
--- a/src/lang/hu-HU/markdown/ea-desktop-parser-input.md
+++ b/src/lang/hu-HU/markdown/ea-desktop-parser-input.md
@@ -1,4 +1,4 @@
-# EA Desktop Parser specific inputs
+# EA Desktop Parser Specific Inputs
## EA Games Directory Override
By default Steam ROM Manager assumes your `EA Desktop` games are installed at ``C:\Program Files\EA Games\`. This field allows you to change that to wherever your games are installed, e.g.``D:\Games\EA Games`.
diff --git a/src/lang/hu-HU/markdown/epic-parser-input.md b/src/lang/hu-HU/markdown/epic-parser-input.md
index 88b5bd915c..c175be5c5e 100644
--- a/src/lang/hu-HU/markdown/epic-parser-input.md
+++ b/src/lang/hu-HU/markdown/epic-parser-input.md
@@ -1,4 +1,4 @@
-# Epic Games Store specific inputs
+# Epic Games Store Specific Inputs
## Manifests Directory Override
diff --git a/src/lang/hu-HU/markdown/executable-arguments.md b/src/lang/hu-HU/markdown/executable-arguments.md
index 8b5121722a..c19b665402 100644
--- a/src/lang/hu-HU/markdown/executable-arguments.md
+++ b/src/lang/hu-HU/markdown/executable-arguments.md
@@ -1,4 +1,4 @@
-# Command line arguments (optional) `[supports variables]`{.noWrap}
+# Command line arguments `[supports variables]`{.noWrap}
Arguments which are appended to executable to produce final shortcut. Most of the time you will want to set it using provided parser variables.
@@ -49,7 +49,7 @@ Arguments which are appended to executable to produce final shortcut. Most of th
### Nestopia (NES/Famicom)
```
-"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
+"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
```
### higan (NES/Famicom, SNES/Famicom, Gameboy, Gameboy Color, Gameboy Advance)
@@ -126,13 +126,13 @@ This setting is used to influence Steam's APP ID.
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -187,6 +187,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -196,7 +197,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/hu-HU/markdown/executable-location.md b/src/lang/hu-HU/markdown/executable-location.md
index b13f57494f..36fbbc9a46 100644
--- a/src/lang/hu-HU/markdown/executable-location.md
+++ b/src/lang/hu-HU/markdown/executable-location.md
@@ -1,4 +1,4 @@
-# Executable (optional) `[supports environment variables]`
+# Executable `[supports env variables]`
Path to emulator's executable. Can be a file or any valid system path.
@@ -6,6 +6,8 @@ Path to emulator's executable. Can be a file or any valid system path.
In some cases you might want to run game from a some kind batch file which will also automatically run the emulator itself. If that is the case, then providing executable is unnecessary.
+The final shortcut will just be `"${filePath}" --command-line-args`.
+
### So, how do I add files to Steam without default executable?
All files retrieved by a parser will be treated as executables instead.
diff --git a/src/lang/hu-HU/markdown/executable-modifier.md b/src/lang/hu-HU/markdown/executable-modifier.md
index c3c5739e86..2131f6964d 100644
--- a/src/lang/hu-HU/markdown/executable-modifier.md
+++ b/src/lang/hu-HU/markdown/executable-modifier.md
@@ -1,102 +1,23 @@
# Executable modifier `[supports variables]`{.noWrap}
-Default value is `"${exePath}"`{.noWrap}. This setting can be used to prepend or append desired characters to an executable which will be added to Steam (`Target` property). For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you can add `"cmd" /k start /min` to it by setting value to:
+Defaults to `"${exePath}"`{.noWrap} if unset. This field can be used to prepend or append desired characters to the executable which will be added to the Steam shortcut's `Target` property. For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you could start `Retroarch` minimized by setting the `Executable Modifier` "cmd" to:
+
```
"cmd" /k start /min "${exePath}"
```
-You can use any other variable to construct the final executable.
-
-This setting influences Steam's APP ID.
-
-
-## Shortcut Passthrough
-If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the target of that shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser.
-
-## Directory variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
-
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
-
-## Name variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------------------------------- |
-| `${exeName}` | Name of executable (without extension) |
-| `${fileName}` | Name of file which was returned by a parser (without extension) |
-
-In case executable directory input is left **empty**, `${exeName}`{.noWrap} is equal to `${fileName}`{.noWrap}.
-
-## Extension variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------------------- |
-| `${exeExt}` | Extension of executable (with a dot) |
-| `${fileExt}` | Extension of file which was returned by a parser (with a dot) |
-In case executable directory input is left **empty**, `${exeExt}`{.noWrap} is equal to `${fileExt}`{.noWrap}.
+In this case the `Target` property would begin with:
-## Path variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:-------------------------------------------------- |
-| `${exePath}` | Full path to an executable |
-| `${filePath}` | Full path to a file which was returned by a parser |
-
-In case executable directory input is left **empty**, `${exePath}`{.noWrap} is equal to `${filePath}`{.noWrap}.
-
-## Parser variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------ |
-| `${title}` | Extracted title |
-| `${fuzzyTitle}` | Fuzzy matched title |
-| `${finalTitle}` | Title which was the end result of title modifier |
-
-In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
+```
+"cmd" /k start /min "C:\RetroArch\retroarch.exe"
+```
-## Function variables
+followed by whatever launch arguments you choose in the `Command Line Arguments` field.
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+You can use any other variable to construct the final executable.
-### Function variable example
+This setting influences Steam's APP ID.
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
-```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
-```
-will be replaced with these:
-```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+## Shortcut Passthrough
---On linux:
-file.so
---On Windows:
-file.dll
---On Mac OS:
-file
-```
+If you enable `Follow .lnk/.desktop to destination` and the glob search finds a `.lnk` or `.desktop` file, ie a shortcut, then the `${filePath}` variable will contain the target of the shortcut rather than the path to the shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the `Command Line Arguments` field in the parser.
diff --git a/src/lang/hu-HU/markdown/glob-parser-input.md b/src/lang/hu-HU/markdown/glob-parser-input.md
index 996ae77ce1..2a43592892 100644
--- a/src/lang/hu-HU/markdown/glob-parser-input.md
+++ b/src/lang/hu-HU/markdown/glob-parser-input.md
@@ -1,4 +1,4 @@
-# Glob Parser specific inputs
+# Glob Parser Specific Inputs
## User's glob
diff --git a/src/lang/hu-HU/markdown/glob-regex-parser-input.md b/src/lang/hu-HU/markdown/glob-regex-parser-input.md
index 22c1f5cea6..6491148a25 100644
--- a/src/lang/hu-HU/markdown/glob-regex-parser-input.md
+++ b/src/lang/hu-HU/markdown/glob-regex-parser-input.md
@@ -1,4 +1,4 @@
-# Glob-regex Parser specific inputs
+# Glob-regex Parser Specific Inputs
## User's glob-regex
@@ -6,7 +6,7 @@ This is where you create your glob for extracting title from file path. Please r
## How does it work?
-In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
+In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
| User's glob | Position |
| --------------------- | --------------------------- |
diff --git a/src/lang/hu-HU/markdown/gog-parser-input.md b/src/lang/hu-HU/markdown/gog-parser-input.md
index 756fa3de77..bf185f2c23 100644
--- a/src/lang/hu-HU/markdown/gog-parser-input.md
+++ b/src/lang/hu-HU/markdown/gog-parser-input.md
@@ -1,10 +1,20 @@
-# Unique inputs for GOG Galaxy Parser
+# GOG Galaxy Parser Specific Inputs
## Galaxy Path Override
-By default Steam ROM Manager assumes your Galaxy Client is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe`. This field allows you to override that path if your GOG Galaxy installation is elsewhere.
-This field is actually only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of the Galaxy Client.
+By default Steam ROM Manager assumes your GOG Galaxy executable is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe` on Windows and `/Applications/GOG Galaxy.app/Contents/MacOS/GOG Galaxy` on Mac. This field allows you to override that path if your GOG Galaxy executable is elsewhere.
-## Launch Via GOG Galaxy `[Recommend disabled]`
+Specifying the correct location of GOG Galaxy's executable is only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of GOG Galaxy's executable.
-What it sounds like, this toggle let's you set whether games will launch via GOG Galaxy or directly. Note that for some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+## Launch via GOG Galaxy `[Recommend disabled]`
+
+What it sounds like, this toggle determines whether games launch via GOG Galaxy or directly. For some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+
+## Parse Linked Executables from GOG Galaxy
+
+If enabled, SRM will pull in not only GOG games aquired from GOG Galaxy's store, but also those you have manually linked executables for in GOG Galaxy. This is desirable if those games are not being parsed into SRM elsewhere.
+
+A caveat is that because GOG Galaxy does not store the names linked executables in its database, SRM will use the directory name of the executable on Windows (e.g. `C:\\path\\to\\Hoa\\LaunchHoa.exe` would be assigned the title `Hoa`) and the executable name on Mac (e.g. `/Applications/Symphonia.app` would be assigned the title `Symphonia`).
+
+## Parse using Registry instead of Galaxy DB `[Windows only] [Recommend disabled]`
+This option will parse the Windows Registry for installed GOG games instead of GOG Galaxy's SQL database, allowing the parser to work even if GOG Galaxy is not installed. If this is enabled, `Parse Linked Executables` will of have no effect, but `Launch via GOG Galaxy` will work as normal.
\ No newline at end of file
diff --git a/src/lang/hu-HU/markdown/image-pool.md b/src/lang/hu-HU/markdown/image-pool.md
index 8b54cf72d9..0b4e4a94fb 100644
--- a/src/lang/hu-HU/markdown/image-pool.md
+++ b/src/lang/hu-HU/markdown/image-pool.md
@@ -1,3 +1,5 @@
-# Image pool `[supports variables]`{.noWrap}
+# Artwork pool `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting is used to allow different apps share the same images -- same "image pool", or allow unique image pool per app. To use unique image pool per app just set it to something unique. For example `${fuzzyTitle} SNES`{.noWrap}.
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset.
+
+This field is used to allow games from different parsers to share the same images (i.e. the same "image pool") if they have the same title. If you want different parsers not to share images for games with the same title, just set this field to something unique, for example `${fuzzyTitle} SNES`{.noWrap} or `${fuzzyTitle} ${parserTitle}`{.noWrap}.
diff --git a/src/lang/hu-HU/markdown/image-providers.md b/src/lang/hu-HU/markdown/image-providers.md
index 0b778780c6..f70a9275f6 100644
--- a/src/lang/hu-HU/markdown/image-providers.md
+++ b/src/lang/hu-HU/markdown/image-providers.md
@@ -1,7 +1,7 @@
-# Image providers
+# Artwork providers
-Here you can select image providers that are used to retrieve images. This option is for this configuration only.
+Here you can select artwork providers (online sources of game art) that are used by SRM to get art for your games.
## Similar option in "Settings" menu
-Settings menu has "Enabled providers" which enable image providers globally -- if it's not enabled in Settings, it won't work.
+Settings menu has "Enabled providers" which enable artwork providers globally -- if it's not enabled in Settings, it won't work.
diff --git a/src/lang/hu-HU/markdown/intro.md b/src/lang/hu-HU/markdown/intro.md
index f8d5fcabda..a6d65c0059 100644
--- a/src/lang/hu-HU/markdown/intro.md
+++ b/src/lang/hu-HU/markdown/intro.md
@@ -8,8 +8,8 @@ Also, don't forget to check FAQ. If you still got questions about setting up con
After saving parser configuration, **1** of **3** colors will be shown next to its title:
- -- Enabled configuration. This configuration will be used when generating a list in **preview** page.
+ -- Enabled configuration. This configuration will be used when generating a list in **Add Games** page.
- -- Unsaved changes. This configuration will not be used when generating a list in **preview** page, however earlier **saved** version will be used instead.
+ -- Unsaved changes. This configuration will not be used when generating a list in **Add Games** page, however earlier **saved** version will be used instead.
- -- Disabled configuration. This configuration will not be used when generating a list in **preview** page.
\ No newline at end of file
+ -- Disabled configuration. This configuration will not be used when generating a list in **Add Games** page.
\ No newline at end of file
diff --git a/src/lang/hu-HU/markdown/itch-io-parser-input.md b/src/lang/hu-HU/markdown/itch-io-parser-input.md
index 4b0057c170..ffa409af96 100644
--- a/src/lang/hu-HU/markdown/itch-io-parser-input.md
+++ b/src/lang/hu-HU/markdown/itch-io-parser-input.md
@@ -1,4 +1,4 @@
-# itch.io Parser specific inputs
+# itch.io Parser Specific Inputs
## itch.io AppData Path Override
By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere.
diff --git a/src/lang/hu-HU/markdown/itch-io-parser.md b/src/lang/hu-HU/markdown/itch-io-parser.md
index 7f29ffc42d..accb8b5ad2 100644
--- a/src/lang/hu-HU/markdown/itch-io-parser.md
+++ b/src/lang/hu-HU/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
# itch.io Parser
-This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/hu-HU/markdown/legendary-parser-input.md b/src/lang/hu-HU/markdown/legendary-parser-input.md
index 80ca0bcbbc..4a826e43da 100644
--- a/src/lang/hu-HU/markdown/legendary-parser-input.md
+++ b/src/lang/hu-HU/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
-# Legendary Parser specific inputs
+# Legendary Parser Specific Inputs
+
+## Legendary Path Override
+
+By default Steam ROM Manager uses `(Get-Command legendary).Path` on Windows and `which legendary` on Linux and Mac to determine the location of your Legendary executable. This field allows you to override that path.
+
+Specifying the correct location of the Legendary executable is only necessary if you enable launch via Legendary (see below), as otherwise SRM has no need of the location of Legendary's executable.
## Legendary `installed.json` Path Override
Most users shouldn't use this, as they use the standard `Legendary` installation where installed games manifest will be located at `~/.config/legendary/installed.json`.
If, however, for some reason your installed games manifest is located in a non-typical location then you can specify the correct manifest path here.
+
+## Launch via Legendary `[Recommend enabled]`
+
+What it sounds like, this toggle determines whether games launch via Legendary or directly. Launching via Legendary provides access to Epic's online services.
diff --git a/src/lang/hu-HU/markdown/local-images.md b/src/lang/hu-HU/markdown/local-images.md
index cff60e5674..5da2e5ae4c 100644
--- a/src/lang/hu-HU/markdown/local-images.md
+++ b/src/lang/hu-HU/markdown/local-images.md
@@ -1,4 +1,4 @@
-# Local images (optional) `[supports variables]`{.noWrap}
+# Local images `[supports variables]`{.noWrap}
Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
diff --git a/src/lang/hu-HU/markdown/manual-parser-input.md b/src/lang/hu-HU/markdown/manual-parser-input.md
index bc1848d45a..65265ebd32 100644
--- a/src/lang/hu-HU/markdown/manual-parser-input.md
+++ b/src/lang/hu-HU/markdown/manual-parser-input.md
@@ -1,4 +1,4 @@
-# Manual Parser specific inputs
+# Manual Parser Specific Inputs
## Manifests Directory `[Supports Environment Variables]`{.noWrap}
@@ -17,7 +17,8 @@ The names of the files do not matter. What does matter is that each `manifest.js
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args",
+ "appendArgsToExecutable": false
}
```
Or a list of titles, like so:
@@ -27,15 +28,19 @@ Or a list of titles, like so:
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args".
+ "appendArgsToExecutable": true
},
{
"title": "gameTitle2",
"target": "game2/path/target.sh",
"startIn": "game2/path",
- "launchOptions": "--args2"
+ "launchOptions": "--args2",
+ "appendArgsToExecutable": false
}
]
```
A typical use case would be to use a single json file per game type, or per year, etc.
+
+Just like for ROM parsers, `appendArgsToExecutable` determines whether `launchOptions` are appended to the shortcut `target` or appear separately as launch options in steam.
diff --git a/src/lang/hu-HU/markdown/non-srm-shortcuts-parser.md b/src/lang/hu-HU/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..4485008a1a
--- /dev/null
+++ b/src/lang/hu-HU/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,29 @@
+# Non-SRM Shortcut Parser
+
+This parser imports non SRM steam shortcuts into SRM so their artowrk can be managed. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
+
+## User accounts
+
+Used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
+
+```
+${...}
+```
+
+You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
+
+ {.fitImage .center}
+
+For example, this is how you specify account for "Banana" and "Apple":
+
+```
+${Banana}${Apple}
+```
+
+You can also limit accounts by specifying their ids directly. For example:
+
+```
+${56489124}${21987424}
+```
+
+Would limit the search to `steam/userdata/56489124` and `steam/userdata/21987424`.
diff --git a/src/lang/hu-HU/markdown/parser-env-variables.md b/src/lang/hu-HU/markdown/parser-env-variables.md
index 3b186a70f7..e95baf9137 100644
--- a/src/lang/hu-HU/markdown/parser-env-variables.md
+++ b/src/lang/hu-HU/markdown/parser-env-variables.md
@@ -13,3 +13,5 @@ These variables are pre parsed and can be used even in the Rom Directory, Steam
The utility of the environment variable `${srmdir}` is to make SRM fully portable, eg if you wanted to have the directory layout `D:\Games\Roms` and `D:\Games\PortableSRM\SRM.exe` then setting the field Roms Directory to be `${srmdir}${/}..${/}Roms` would allow you to move the Games directory somewhere else without breaking your setup.
+
+Function variables can also be used in fields that permit environment variables (e.g. `${os:win|C:\path\to\startdir|${os:linux|/path/to/startdir}}`)
diff --git a/src/lang/hu-HU/markdown/parser-variables.md b/src/lang/hu-HU/markdown/parser-variables.md
index 7e9eb636ff..7c164a55bc 100644
--- a/src/lang/hu-HU/markdown/parser-variables.md
+++ b/src/lang/hu-HU/markdown/parser-variables.md
@@ -4,13 +4,13 @@ Here are tables of variables that can be used with options that have `[supports
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -48,6 +48,7 @@ In case executable directory input is left **empty**, `${exePath}`{.noWrap} is e
| `${title}` | Extracted title |
| `${fuzzyTitle}` | Fuzzy matched title |
| `${finalTitle}` | Title which was the end result of title modifier |
+| `${parserTitle}` | The value of the `Parser Title` field |
In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
@@ -65,6 +66,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -74,7 +76,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/hu-HU/markdown/parsers-list.md b/src/lang/hu-HU/markdown/parsers-list.md
index 1e5e43f80f..6ab3846611 100644
--- a/src/lang/hu-HU/markdown/parsers-list.md
+++ b/src/lang/hu-HU/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# Parsers
-In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**
diff --git a/src/lang/hu-HU/markdown/rom-directory.md b/src/lang/hu-HU/markdown/rom-directory.md
index 555452224f..5b15d2e2b7 100644
--- a/src/lang/hu-HU/markdown/rom-directory.md
+++ b/src/lang/hu-HU/markdown/rom-directory.md
@@ -1,3 +1,3 @@
-# ROMs directory `[supports environment variables]`
+# ROMs directory `[supports env variables]`
Starting directory for game or app files.
diff --git a/src/lang/hu-HU/markdown/settings.md b/src/lang/hu-HU/markdown/settings.md
index c35d49e806..dd35c64609 100644
--- a/src/lang/hu-HU/markdown/settings.md
+++ b/src/lang/hu-HU/markdown/settings.md
@@ -1,31 +1,51 @@
## General Settings
+### Check for updates on start `[Recommend enabled]`
+Check if an update for SRM is available and prompt to update each time SRM launches.
+### Auto kill Steam `[Recommend enabled]`
+SRM will attempt to kill all running instances of Steam whenever it needs to read/write collections information (specifically when saving to steam from `Add Games` and when removing all games from `Settings`).
+### Auto restart Steam `[Recommend enabled]`
+SRM will attempt to restart Steam after killing it and completing whatever collections related task required killing Steam in the first place. Requires `Auto kill Steam` to be enabled.
### Offline mode `[Recommend disabled]`
-
When enabled SRM makes no network requests, useful if you only want to use SRM for local images.
### Automatically clear log before testing parsers `[Recommend enabled]`
When enabled the log is cleared each time a parser is tested.
+## Add Games
### Show current steam images by default `[Recommend enabled]`
When enabled this setting tells SRM to default to whatever artwork is currently in steam for a given app. If it is disabled, then every time SRM is run (and saved) all artwork will be reset.
### Remove shortcuts for disabled parsers `[Recommend disabled]`
When enabled disabling a parser and running SRM will remove all added entries and artwork for the disabled parser. Useful if you want your steam library to be in 1-1 correspondence with enabled parsers.
-
+### Disable saving of steam categories `[Recommend disabled]`
+SRM will not write any collections information when saving to Steam. This allows SRM to perform its tasks while Steam is still running, at the obvious cost that added games will not be categorized.
+### Hide Steam username from Add Games
+Steam does not allow user's to alter their Steam usernames. In some cases (childish names, dead names, etc), users may no longer wish to see their Steam usernames. This setting hides it from `Add Games`.
+### Remove all added games and controllers
+Undo all SRM added changes from Steam.
+### Remove all controllers only
+Undo all SRM added controller settings from Steam.
## Fuzzy Matcher Settings
### Log matching results `[Recommend disabled]`
When enabled more verbose logs appear for the fuzzy title matcher in the `Event log`. Useful for debugging incorrect fuzzy matches.
-
### Reset fuzzy list
Resets the stored list of titles used for fuzzy matching to the list of titles returned by `SteamGridDB` (removes any user added titles).
### Reset fuzzy cache
Clears the cache of titles that fuzzy matching has already seen (try this if changes you make to fuzzy list are not resulting in changes to titles in SRM).
-
## Image provider settings
-### Preload retrieved images `[Recommend disabled]`
-When enabled, SRM will pull all available artwork for every game, rather than pulling one piece of artwork at a time as the user flips through the images. Don't enable this unless you have a good reason and a very small library of games, otherwise it could result in very large (slow) network requests.
+### Artwork loading strategy `[Recommend Load artwork lazily]`
+This is the strategy SRM uses to pull artwork thumbnails for the `Add Games` UI. If you are parsing a lot of games, `Load artwork lazily` is recommended. `Preload first artwork` will try to pull the first piece of artwork for each game in each artwork category, and `Preload all artwork` will try to pull all available artwork for each game in each artwork category. `Preload all artwork` will cause network and performance issues unless the number of games is quite small (less than `30` or so).
### Enabled providers
-Global setting to disable certain providers. Currently the only image provider is `SteamGridDB` since ConsoleGrid and RetroGaming.cloud are defunct.
-
+Global setting to enable/disable particular image providers. Current options are `SteamGridDB` and `Steam Official`.
+### DNS manual override
+Set this if you want SRM to do DNS resolution internally, as opposed to relying on your system's default DNS server. This solves many timeout issues on the Steam Deck.
+### Batch size for image downloads
+Number of images SRM will attempt to download at once when saving to Steam. May help to lower this if you are receiving timeout errors from SGDB.
+### Nuke artwork choice cache
+SRM attempts to remember your artwork choices, this button forcibly forgets all of them.
+### Nuke local artwork backups
+This deletes all artwork backups created for parsers with `Backup artwork locally` enabled.
## Community Variables and Presets
### Force download custom variables.
Resets the custom variables JSON file that is used for certain presets to whatever its current state is on the SRM github. Useful if the custom variables JSON file has been corrupted.
### Force download custom presets.
Resets the JSON files for parser presets to whatever is on the SRM github. Useful if your presets list is not automatically updating for some reason, or has become corrupted.
+### Force download shell scripts
+Re fetches the shell scripts SRM uses to perform certain tasks.
diff --git a/src/lang/hu-HU/markdown/sgdb-api-input.md b/src/lang/hu-HU/markdown/sgdb-api-input.md
index 553f4fda77..7651927a64 100644
--- a/src/lang/hu-HU/markdown/sgdb-api-input.md
+++ b/src/lang/hu-HU/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
This set of options are direct inputs into the APIs of image providers, for example SteamGridDB's [API](https://www.steamgriddb.com/api/v2).
-An interesting quirk of these settings is that re-generating the preview (hitting the `Generate App List` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove App List` button in preview before hitting `Generate App List`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the preview with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
+An interesting quirk of these settings is that re-generating the game list in Add Games (hitting the `Refresh` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove from Steam` button in Add Games before hitting `Refresh`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the game list with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
## SteamGridDB
diff --git a/src/lang/hu-HU/markdown/start-in-directory.md b/src/lang/hu-HU/markdown/start-in-directory.md
index 86cf962c23..df84a987d5 100644
--- a/src/lang/hu-HU/markdown/start-in-directory.md
+++ b/src/lang/hu-HU/markdown/start-in-directory.md
@@ -1,6 +1,6 @@
-# "Start In" directory (optional) `[supports environment variables]`{.noWrap}
+# "Start In" directory `[supports env variables]`
-By default "Start In" directory is set to executable's directory:
+If `"Start In" Directory` is unset it defaults to the executable's directory. If not executable is set, it defaults to the directory of the ${filePath} variable:
 {.fitImage.center}
@@ -11,4 +11,5 @@ This option allows you to specify any directory you want as a "Start In" directo
It is useful when you're using batch files to start emulator and a game, but emulator requires a specific "Start In" directory to work properly.
## Shortcut Passthrough
+
If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the directory of the target of that shortcut. In the future, it will be overridden with the start in directory of that shortcut.
diff --git a/src/lang/hu-HU/markdown/steam-category.md b/src/lang/hu-HU/markdown/steam-category.md
index 079073dab9..677ea3d0ef 100644
--- a/src/lang/hu-HU/markdown/steam-category.md
+++ b/src/lang/hu-HU/markdown/steam-category.md
@@ -1,21 +1,13 @@
-# Steam category (optional) `[supports variables]`{.noWrap}
+# Steam category`{.noWrap}
+
+Hit the little plus sign to add your first category.
-Also known as "tags", can be used to group apps in Steam. In order to set Steam category, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify categories for "WII" and "GBA" (paired with "ROMS") category:
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
This how "WII" category will look like in Steam:

## Emojis and non-Standard Unicode Characters
+
Please not that this field works just fine with emojis like `🎮` work just fine in category names.
You can find a list of them here: [https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/hu-HU/markdown/steam-directory.md b/src/lang/hu-HU/markdown/steam-directory.md
index b15010e819..bb82bc6a97 100644
--- a/src/lang/hu-HU/markdown/steam-directory.md
+++ b/src/lang/hu-HU/markdown/steam-directory.md
@@ -1,4 +1,4 @@
-# Steam directory `[supports environment variables]`{.noWrap}
+# Steam directory `[supports env variables]`
Must be a valid Steam directory which contains Steam executable. In order for Steam account to be detected, user must have logged in at least once.
diff --git a/src/lang/hu-HU/markdown/steam-parser-input.md b/src/lang/hu-HU/markdown/steam-parser-input.md
index 75f21d380d..1174b71b64 100644
--- a/src/lang/hu-HU/markdown/steam-parser-input.md
+++ b/src/lang/hu-HU/markdown/steam-parser-input.md
@@ -1,4 +1,4 @@
-# Steam Parser specific inputs
+# Steam Parser Specific Inputs
## Find artwork for games only
If enabled SRM will filter out any Steam applications that are not full games, such as demos and tools like `3DMark` or `Wallpaper Engine`.
diff --git a/src/lang/hu-HU/markdown/steam-parser.md b/src/lang/hu-HU/markdown/steam-parser.md
index b158f676a8..5b93d8bc77 100644
--- a/src/lang/hu-HU/markdown/steam-parser.md
+++ b/src/lang/hu-HU/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Steam parser
-This parser imports steam games into SRM. It does not add shortcuts, but it allows you to set the artwork for your steam games. By default the parser will get games from all user accounts in the steam directory specified — if you would prefer to only get the games for a subset of the accounts then specify them in the `User accounts` field.
-
-## Limitations
-Unfortunately for the time being this parser only works for steam games **that are in at least one category**. The reason for this is that Steam only stores your full list of games locally if they are categorized. Sometimes, for unknown reasons, games will be stored locally regardless and the parser will work, but to be safe the easiest thing to do is just **create a Steam Category** that has all of your Steam games in it.
-
-## User accounts (Optional)
-
-Can be used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
-```
-${...}
-```
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
-
- {.fitImage.center}
-
-For example, this is how you specify account for "Banana" and "Apple":
-
-```
-${Banana}${Apple}
-```
-
-In case the [use account credentials](#what-does-use-account-credentials-do) is disabled, you can still limit accounts by specifying their ids directly:
-
-```
-${56489124}${21987424}
-```
-
-## What does "Skip found accounts with missing data directories" do?
-
-Sometimes Steam's file that contains logins, may contain users that do not have data directory created (might have been manually deleted, etc.). You can specify to skip those accounts by enabling this option.
-
-## What does "Use account credentials" do?
-
-Tries to look for account credentials in Steam directory. In other words -- username. Username then can be used to filter accounts without actually having to know their ids.
-
-### Warning!
-
-If Steam has credential saving disabled, this option will prevent finding user accounts.
+This parser imports steam games into SRM so you can manage their artwork. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
\ No newline at end of file
diff --git a/src/lang/hu-HU/markdown/title-from-variable.md b/src/lang/hu-HU/markdown/title-from-variable.md
index bb6e4a52a2..6aa467e98c 100644
--- a/src/lang/hu-HU/markdown/title-from-variable.md
+++ b/src/lang/hu-HU/markdown/title-from-variable.md
@@ -1,43 +1,40 @@
-# Title from custom variable (optional)
+# Title from custom variable
-Allows to overwrite extracted title with a custom variable. This is done right after title extraction, meaning that the replaced title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+Allows one to overwrite the extracted title with a custom variable, pulled from the `json` files described below. This happens right after title extraction, meaning that the new title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+
+Title matching is limited to specific groups of custom variables. For example, this is how you specify groups "FBN" and "PSN":
-Title matching can be limited to specific groups of custom variables. In order to specify groups, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify groups for "RPCS3" and "rpcs3":
```
-${RPCS3}${rpcs3}
+${RPCS3}${PSN}
```
-Make sure you **toggle enable to on**.
-
-
-## Case-insensitive option
-
-If this option is enabled, case-insensitive matching will be done and first matched custom variable will be used.
-
-## Note. This feature is **experimental**
+# How it works
-Basically, it might change in the future release (very unlikelly). Furthermore, currently the only way to add variables is to create/edit `customVariables.json` used by SRM directly.
+There are two variable files, `customVariables.json` which is maintained by SRM (don't change this one, your changes will be overwritten every time SRM restarts) and `userVariables.json` which is where you should put your own variables. Both files are located in SRM's `Config Directory`.
-This file is/shoud be located in SRM's `userData` directory.
-
-SRM will throw error unless the following JSON structure is used:
+Both `customVariables.json` and `userVariables.json` have the same JSON structure. SRM will throw an error unless the following JSON structure is used:
```
{
- "RPCS3": {
+ "Group1": {
"NPUB30698": "Catherine",
"NPUB30024": "1942: Joint Strike",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
+ "Group2": {
+ "The Legend Of Zelda": "The Legend Of Link",
+ ...
},
...
}
```
-Then if your user glob were `MyDir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `MyDir`, you would set the title from custom variable field to `${Custom Stuff}` to obtain a final title of "The Legend of Link".
+Then if your user glob were `romsdir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `romsdir`, you would set the title from custom variable field to `${Group2}` to obtain a title of "The Legend of Link".
+
+## Case-insensitive variables
+
+If enabled, case-insensitive matching will be done and first matched custom variable will be used.
+
+## Skip file if variable not found
+
+If enabled, titles that don't match a variable will be excluded.
diff --git a/src/lang/hu-HU/markdown/title-modifier.md b/src/lang/hu-HU/markdown/title-modifier.md
index 791e000e27..4ecb2d02db 100644
--- a/src/lang/hu-HU/markdown/title-modifier.md
+++ b/src/lang/hu-HU/markdown/title-modifier.md
@@ -1,9 +1,11 @@
# Title modifier `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting can be used to prepend or append desired characters to a title which will be added to Steam. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset. This setting can be used to prepend or append desired characters to a Steam shortcut's `Title`. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+
```
${fuzzyTitle} (1.7.5)
```
+
You can use `${title}`{.noWrap} or any other variable to construct the final title.
This setting influences Steam's APP ID.
diff --git a/src/lang/hu-HU/markdown/uplay-parser-input.md b/src/lang/hu-HU/markdown/uplay-parser-input.md
index f40bbcd928..3a54e84b1a 100644
--- a/src/lang/hu-HU/markdown/uplay-parser-input.md
+++ b/src/lang/hu-HU/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# Unique inputs for UPlay Parser
+# UPlay Parser Specific Inputs
+
## Ubisoft Directory Override
By default Steam ROM Manager assumes your UPlay install is located in `C:\Program Files (x86)\Ubisoft`. This field allows you to override that path if your UPlay installation is elsewhere.
## Launch Via UPlay `[Recommend disabled]`
-
What it sounds like, this toggle let's you set whether games will launch via UPlay or directly from the game's executable.
For UPlay this doesn't matter too much as UPlay games will automatically launch UPlay in the background even when launched from the executable. Steam Overlay will not work when `Launch via UPlay` is enabled, whereas both Steam and Ubisoft overlays work when `Launch via UPlay` is disabled.
diff --git a/src/lang/hu-HU/markdown/user-accounts.md b/src/lang/hu-HU/markdown/user-accounts.md
index 90a49b84f6..c0101b5f74 100644
--- a/src/lang/hu-HU/markdown/user-accounts.md
+++ b/src/lang/hu-HU/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# User accounts (Optional)
+# User accounts
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
-
-`${XXX}${YYY}`
-
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either:
-
-* An `Account ID` (the number that appears as the directory name of your account directory in `/path/to/steam/userdata/`). For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
+This field is used to limit SRM's effects to specific user accounts. It can be set to `Global` or over ridden per parser.
## Warning
-If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and **you must only use** `Account IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and `Choose Accounts` will only be able to pull your `Steam IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Settings` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
diff --git a/src/lang/hu-HU/markdown/user-exceptions.md b/src/lang/hu-HU/markdown/user-exceptions.md
index a53dd0d6d9..a6e47de497 100644
--- a/src/lang/hu-HU/markdown/user-exceptions.md
+++ b/src/lang/hu-HU/markdown/user-exceptions.md
@@ -12,7 +12,7 @@ The `Extracted Title` field matches in two ways:
Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`.
-Exceptions generated from `Preview` will always be in the form `Extracted Title ${id:XXXXXX}`.
+Exceptions generated from `Add Games` will always be in the form `Extracted Title ${id:XXXXXX}`.
## New Display Title
diff --git a/src/lang/it-IT/langStrings.json b/src/lang/it-IT/langStrings.json
index fe5e2c2724..cea3ffc783 100644
--- a/src/lang/it-IT/langStrings.json
+++ b/src/lang/it-IT/langStrings.json
@@ -14,197 +14,260 @@
"games": "Tutti gli artwork"
},
"by": "da",
- "refreshImages": "Aggiorna immagini",
- "saveImage": "Salva l'immagine in un file",
- "addLocalImages": "Aggiungi immagini locali",
- "retryDownload": "Riprova a scaricare",
- "generateAppList": "Analizza",
+ "refreshImages": "Aggiorna copertina",
+ "saveImage": "Salva copertina su file",
+ "addLocalImages": "Aggiungi copertina locale",
+ "retryDownload": "Riprova a scaricare la copertina",
+ "generateAppList": "Aggiorna",
"saveAppList": "Salva su Steam",
"removeAppList": "Rimuovi da Steam",
"remainingImages": "Recupero degli urls:",
"stopUrlRetrieving": "Stop",
- "exportSelections": "Esporta",
- "importSelections": "Importa",
+ "exportSelections": "Esporta copertina",
+ "importSelections": "Importa copertina",
"backButton": "Indietro",
"logButton": "Registro"
},
"service": {
"info": {
- "listIsBeingGenerated": "List is being generated. Please wait.",
- "listIsBeingSaved": "List is being saved. Please wait.",
- "listIsBeingRemoved": "List is being removed. Please wait.",
- "listIsEmpty": "List is empty.",
- "populatingVDF_List": "Populating VDF list.",
- "creatingBackups": "Creating backups.",
- "readingVDF_Files": "Reading VDF files.",
- "mergingVDF_entries": "Merging VDF entries.",
- "removingVDF_entries": "Removing VDF entries and image files.",
- "savingCategories": "Saving category information to localconfig.vdf.",
- "savingControllers": "Saving controller information.",
- "removingFromCategories": "Removing all added category information",
+ "listIsBeingGenerated": "La lista è in fase di elaborazione. Attendi.",
+ "listIsBeingSaved": "La lista è in fase di salvataggio. Attendi.",
+ "listIsBeingRemoved": "La lista è in fase di rimozione. Attendi.",
+ "listIsEmpty": "La lista è vuota.",
+ "populatingVDF_List": "Popolazione della lista VDF.",
+ "creatingBackups": "Backup in creazione.",
+ "readingVDF_Files": "Lettura dei files VDF.",
+ "mergingVDF_entries": "Unione voci VDF.",
+ "removingVDF_entries": "Rimozione di entries VDF e file di immagine.",
+ "savingCategories": "Salvataggio delle informazioni di categoria in localconfig.vdf.",
+ "savingControllers": "Salvataggio informazioni del controller.",
+ "removingFromCategories": "Rimozione di tutte le informazioni aggiunte alle categorie",
"writingVDF_entries__i": "Writing VDF files and downloading high res images in batches of ${batchSize}.",
- "updatingKnownSteamDirList": "Updating a list of known Steam directories.",
- "retryingDownload__i": "Retrying image download from \"${imageUrl}\" for \"${appTitle}\".",
- "disabledConfigurations__i": "${count} user configuration(s) was/were skipped (disabled by user).",
- "invalidConfigurations__i": "${count} user configuration(s) was/were skipped (invalid).",
- "executingParsers": "Executing parsers.",
- "shutdownSteam": "Please shutdown Steam if it is running.",
- "noParserConfigurations": "Please create parser configuration in \"Parsers\" menu first.",
- "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
- "allImagesRetrieved": "All available image urls retrieved.",
- "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
- "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
- "preparingExport": "Preparing export of image choices.",
- "exportProgress__i": "Saving image choices ${progress}.",
- "readingSelections": "Applying imported image choices."
+ "updatingKnownSteamDirList": "Aggiornamento dell'elenco di directory di Steam note in corso.",
+ "retryingDownload__i": "Ritento il download delle immagini per \"${appTitle}\" da \"${imageUrl}\".",
+ "disabledConfigurations__i": "${count} configurazione/i utente è/sono state saltate (poiché disabilitate dall'utente).",
+ "invalidConfigurations__i": "${count} configurazione/i utente è/sono state saltate (poiché non valide).",
+ "executingParsers": "Esecuzione del parser.",
+ "shutdownSteam": "Se Steam è in esecuzione, chiudere Steam.",
+ "noParserConfigurations": "Creare prima la configurazione nel menu \"Configurazioni\", per favore.",
+ "parserFoundNoFiles": "Il/I parser non ha trovato file corrispondenti alla configurazione utente.",
+ "allImagesRetrieved": "Tutti gli URL di copertina disponibili sono stati recuperati.",
+ "providerTimeout__i": "Il timeout è stato richiesto da \"${provider}\" per ${time} secondi.",
+ "noAccountsWarning": "Account utente non trovato. Cartella di Steam non corretta?",
+ "preparingExport": "Preparazione dell'esportazione delle copertine scelte.",
+ "exportProgress__i": "Salvataggio delle copertine scelte: ${progress}.",
+ "readingSelections": "Applicazione delle copertine importate scelte."
},
"errors": {
- "fatalError": "Fatal error occurred in Preview. See event log for details.",
- "fatalError__i": "Fatal Preview Error ${error}",
- "knownSteamDirListIsEmpty": "A list of known Steam directories is empty.",
- "steamIsRunning": "Cannot make changes while steam is running!",
- "categorySaveError": "Error updating categories. See event log for details.",
- "categorySaveError__i": "Category error (shortcuts and artwork will still be added): ${error}",
- "controllerSaveError": "Error updating controller templates. See event log for details.",
- "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
- "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
- "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
- "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
- "exportError__i": "Could not save selections package folder: ${error}",
- "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
- "importFailError__i": "Could not import image choices: ${error}"
+ "fatalError": "Si è verificato un errore fatale durante l'aggiunta dei giochi. Vedere il log eventi per i dettagli.",
+ "fatalError__i": "Fatal Add Games error: ${error}",
+ "knownSteamDirListIsEmpty": "Una lista delle cartelle di Steam conosciute è vuota.",
+ "steamIsRunning": "Impossibile apportare modifiche mentre Steam è in esecuzione!",
+ "categorySaveError": "Errore nell'aggiornamento delle categorie. Vedi il log eventi per i dettagli.",
+ "categorySaveError__i": "Errore nella categoria (verranno comunque aggiunte scorciatoie e artwork): ${error}",
+ "controllerSaveError": "Errore nell'aggiornamento dei template dei controller. Vedi il log eventi per i dettagli.",
+ "controllerSaveError__i": "Errore Controller (verranno comunque aggiunte scorciatoie e artwork): ${error}",
+ "retryingDownload__i": "Artwork download from \"${imageUrl}\" failed for \"${appTitle}\".",
+ "providerError__i": "Errore ricevuto da \"${provider}\" per \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
+ "unknownProviderError__i": "Errore ricevuto da \"${provider}\" per \"${title}\":\n ${error}",
+ "exportError__i": "Non è stato possibile salvare la cartella di pacchetti selezionati: ${error}",
+ "importJSONFailError__i": "Impossibile importare le selezioni, JSON è stato malformato: ${error}",
+ "importFailError__i": "Could not import artwork choices: ${error}"
},
"success": {
- "writingVDF_entries": "Done adding/removing entries.",
- "removingVDF_entries": "Entries have been removed.",
- "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
- "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
+ "writingVDF_entries": "Completata l'aggiunta/rimozione delle voci.",
+ "removingVDF_entries": "Le voci sono state rimosse.",
+ "exportSuccess__i": "Artwork choices folder successfully saved to \"${path}\"!",
+ "importSelectionsSuccess__i": "Successfully imported ${count} artwork choices!"
}
}
},
"steamParser": {
- "onlyGamesTitle": "Find artwork for games only (no tools)",
- "onlyInstalledTitle": "Find artwork for installed titles only",
- "sourceModsTitle": "Find artwork for unofficial source mods",
+ "onlyGamesTitle": "Find artwork for games only (no tools or demos)",
+ "onlyInstalledTitle": "Cerca artwork solo per i titoli installati",
+ "sourceModsTitle": "Trova artwork per le mod non ufficiali",
+ "errors": {
+ "directoryInvalid": "> Cartella di Steam non valida.",
+ "noSteamAccounts": "> La cartella di Steam specificata non ha account.",
+ "steamChanged__i": "> Steam ha cambiato la struttura interna del database o il parser ha provato a leggere un database obsoleto.\nFile problematico: ${file}\nErrore completo:\n ${error}",
+ "fatalError__i": "> Il parser di Steam ha fallito con errore fatale:\n ${error}"
+ }
+ },
+ "nonSRMShortcutsParser": {
"errors": {
- "directoryInvalid": "> Steam directory invalid.",
"noSteamAccounts": "> Steam directory specified has no accounts.",
- "steamChanged__i": "> Steam changed internal database structure or parser tried to read an outdated database.\nProblematic file: ${file}\nFull error:\n ${error}",
- "fatalError__i": "> Steam parser failed with fatal error:\n ${error}"
+ "fatalError__i": "> Non-SRM Shortcuts parser failed with fatal error:\n ${error}"
}
},
"manualParser": {
- "manifestsInputTitle": "Manifests Directory",
- "manifestsInputPlaceholder": "/path/to/your/manifests/",
+ "manifestsInputTitle": "Cartella Manifests",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"errors": {
- "fatalError__i": "> Manual parser failed with fatal error:\n ${error}"
+ "fatalError__i": "> Il parser manuale ha fallito con errore fatale:\n ${error}"
}
},
"epicParser": {
- "manifestsInputTitle": "Epic Manifests Directory Override",
- "manifestsInputPlaceholder": "/path/to/Manifests/",
- "launcherModeInputTitle": "Launch games via Epic for online services",
+ "manifestsInputTitle": "Sovrascrittura Cartella Manifests di Epic",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
+ "launcherModeInputTitle": "Avviare giochi tramite Epic per i servizi online",
"errors": {
- "invalidManifestsOverride": "> Manifests Override is not a valid directory.",
- "epicNotCompatible": "> Epic Games Store not available on Linux.\n If you are using the Legendary store on Linux you need to set Manifests Override.",
- "epicNotInstalled": "> Epic Games does not appear to be installed.",
- "fatalError__i": "> Epic Games parser failed with fatal error:\n ${error}"
+ "invalidManifestsOverride": "> Manifests Override non è una cartella valida.",
+ "epicNotCompatible": "> Epic Games Store non disponibile su Linux.\n Se si sta utilizzando Legendary su Linux è necessario impostare Manifests Override.",
+ "epicNotInstalled": "> Epic Games non sembra essere installato.",
+ "fatalError__i": "> Il parser di Epic Games ha fallito con errore fatale:\n ${error}"
}
},
"legendaryParser": {
- "legendaryInstalledFileTitle": "Legendary installed.json Path Override",
- "legendaryInstalledFilePlaceholder": "/path/to/legendary/installed.json",
+ "launcherModeInputTitle": "Launch games via Legendary for online services",
+ "legendaryInstalledFileTitle": "Sovrascrittura del percorso installed.json di Legendary",
+ "legendaryInstalledFilePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary\\installed.json",
+ "Darwin": "/path/to/legendary/installed.json",
+ "Linux": "/path/to/legendary/installed.json"
+ },
+ "legendaryExeOverrideTitle": "Legendary Path Override",
+ "legendaryExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary.exe",
+ "Darwin": "/path/to/legendary",
+ "Linux": "/path/to/legendary"
+ },
"errors": {
- "legendaryNotInstalled": "> Legendary installed.json not found",
- "fatalError__i": "> Legendary parser failed with fatal error: \n ${error}"
+ "legendaryNotInstalled": "> Legendary installed.json non trovato",
+ "fatalError__i": "> Legendary parser failed with fatal error:\n ${error}"
+ }
+ },
+ "battleNetParser": {
+ "battleExeOverrideTitle": "Battle.net.exe Path Override",
+ "battleExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Battle.net\\Battle.net.exe",
+ "Darwin": "/path/to/Battle.net.app/Contents/MacOS/Battle.net",
+ "Linux": "/path/to/Battle.net"
+ },
+ "errors": {
+ "battleNotCompatible": "> Battle.net parser is only available on Windows.",
+ "fatalError__i": "> Battle.net parser failed with fatal error:\n ${error}"
}
},
"UWPParser": {
- "UWPDirTitle": "XboxGames Directory Override",
- "UWPDirPlaceholder": "/path/to/XboxGames or /path/to/WindowsApps",
- "UWPLauncherModeTitle": "Launch game as UWP instead of launcher helper",
+ "UWPDirTitle": "Sovrascrittura Cartella XboxGames",
+ "UWPDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\XboxGames\\ or C:\\path\\to\\WindowsApps\\",
+ "Darwin": "/path/to/XboxGames/ or /path/to/WindowsApps/",
+ "Linux": "/path/to/XboxGames/ or /path/to/WindowsApps/"
+ },
+ "UWPLauncherModeTitle": "Avvia il gioco come UWP invece del launcher helper",
"errors": {
"fatalError__i": "> UWP parser is not compatible in this platform.",
- "UWPNotCompatible": "> UWP parser failed with fatal error:\n ${error}"
+ "UWPNotCompatible": "> UWP parser is only available on Windows."
}
},
"uplayParser": {
- "uplayDirTitle": "Ubisoft Directory Override",
- "uplayDirPlaceholder": "/path/to/Ubisoft/",
- "launcherModeInputTitle": "Launch games via UPlay for online services",
+ "uplayDirTitle": "Sovrascrittura della Cartella Ubisoft",
+ "uplayDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Ubisoft\\",
+ "Darwin": "/path/to/Ubisoft/",
+ "Linux": "/path/to/Ubisoft/"
+ },
+ "launcherModeInputTitle": "Avviare giochi tramite UPlay per i servizi online",
"errors": {
- "invalidManifestsOverride": "> Uplay Directory Override is not a valid directory.",
- "uplayNotCompatible": "> UPlay Parser not available on Linux or Mac.",
- "uplayDirNotFound": "> Specified UPlay directory does not exist.",
- "uplayNotInstalled": "> UPlay not installed in specified directory.",
- "fatalError__i": "> UPlay parser failed with fatal error:\n ${error}"
+ "invalidManifestsOverride": "> Uplay Directory Override non è una cartella valida.",
+ "uplayNotCompatible": ">Il Parser di UPlay è non disponibile su Linux o Mac.",
+ "uplayDirNotFound": "> La cartella UPlay specificata non esiste.",
+ "uplayNotInstalled": "> UPlay non installato nella directory specificata.",
+ "fatalError__i": "> Il parser di Uplay ha fallito con errore fatale:\n ${error}"
}
},
"gogParser": {
- "galaxyExeOverrideTitle": "Galaxy Path Override",
- "galaxyExeOverridePlaceholder": "/path/to/GalaxyClient.exe",
- "launcherModeInputTitle": "Launch games via GOG Galaxy",
+ "galaxyExeOverrideTitle": "Sovrascrittura del percorso di Galaxy",
+ "galaxyExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\GalaxyClient.exe",
+ "Darwin": "/path/to/GOG Galaxy.app/Contents/MacOS/GOG Galaxy",
+ "Linux": "/path/to/GalaxyClient"
+ },
+ "launcherModeInputTitle": "Avviare giochi tramite GOG Galaxy",
+ "parseLinkedExecsTitle": "Parse linked executables from GOG Galaxy",
+ "parseRegistryEntries": "Parse using Registry instead of Galaxy DB",
"errors": {
- "invalidGalaxyExeOverride": "> Galaxy Client Override is not a valid path.",
- "fatalError__i": "> GOG Galaxy parser failed with fatal error:\n ${error}",
- "gogNotCompatible": "> GOG Galaxy parser is currently only available on Windows.",
- "gogNotInstalled": "> GOG Galaxy does not appear to be installed."
+ "invalidGalaxyExeOverride": "> Galaxy Client Override non è un percorso valido.",
+ "fatalError__i": "> Il parser di GOG Galaxy ha fallito con errore fatale:\n ${error}",
+ "gogNotCompatible": "> Il parser di GOG Galaxy è attualmente disponibile solo su Windows.",
+ "gogNotInstalled": "> GOG Galaxy non sembra essere installato."
}
},
"amazonGamesParser": {
- "exeOverrideTitle": "Amazon Games Path Override",
- "exeOverridePlaceholder": "/path/to/Amazon Games.exe",
- "launcherModeInputTitle": "Launch games via Amazon Games",
+ "exeOverrideTitle": "Sovrascrittura del percorso di Amazon Games",
+ "exeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Amazon Games.exe",
+ "Darwin": "/path/to/Amazon Games.app/Contents/MacOS/Amazon Games",
+ "Linux": "/path/to/Amazon Games"
+ },
+ "launcherModeInputTitle": "Avviare giochi tramite Amazon Games",
"errors": {
- "invalidExeOverride": "> Amazon Games Installation Override is not a valid directory.",
- "osUnsupported": "> Amazon Games parser failed because Amazon Games is only avaliable on windows.",
- "databaseNotFound": "> Amazon Games database file not found. Amazon Games is most likely not installed.",
- "fatalError__i": "> Amazon Games parser failed with fatal error:\n ${error}"
+ "invalidExeOverride": "> Amazon Games Installation Override non è una cartella valida.",
+ "osUnsupported": "> Il parser di Amazon Games ha fallito perché Amazon Games è disponibile solo su Windows.",
+ "databaseNotFound": "> File database di Amazon Games non trovato. Amazon Games probabilmente non è installato.",
+ "fatalError__i": "> Il parser di Amazon Games ha fallito con errore fatale:\n ${error}"
}
},
"itchIoParser": {
- "itchIoAppDataOverrideTitle": "itch.io AppData Directory Override",
- "itchIoAppDataOverridePlaceholder": "/path/to/itch",
- "itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Windows-on-Linux Install Drive Redirect",
+ "itchIoAppDataOverrideTitle": "Sovrascrittura della cartella AppData di itch.io",
+ "itchIoAppDataOverridePlaceholder": {
+ "Windows_NT": "C:\\AppData\\itch\\",
+ "Darwin": "~/Library/Application Support/itch/",
+ "Linux": "~/.config/itch/"
+ },
+ "itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Reindirizzare il Disco d'installazione di Windows-on-Linux",
"itchIoWindowsOnLinuxInstallDriveRedirectPlaceholder": "/mnt/d/",
"errors": {
- "invalidItchIoAppDataOverride": "> itch.io AppData Override is not a valid directory.",
- "invalidItchIoWindowsOnLinuxInstallDriveRedirect": "> itch.io Windows-on-Linux Install Drive Redirect is not a valid directory.",
- "osUnsupported": "> itch.io parser failed because the parser only supports macos, linux, and windows currently.",
- "fatalError__i": "> itch.io parser failed with fatal error:\n ${error}",
- "databaseNotFound": "> itch.io database file not found. Itch is most likely not installed."
+ "invalidItchIoAppDataOverride": "> itch.io AppData Override non è una directory valida.",
+ "invalidItchIoWindowsOnLinuxInstallDriveRedirect": "> itch.io Windows-on-Linux Install Drive Redirect non è una cartella valida.",
+ "osUnsupported": "> Il parser di itch.io ha fallito perché supporta solo macOS, Linux e Windows al momento.",
+ "fatalError__i": "> Il parser di itch.io ha fallito con errore fatale:\n ${error}",
+ "databaseNotFound": "> File database di itch.io non trovato. itch.io probabilmente non è installato."
}
},
"eaDesktopParser": {
- "eaGamesDirTitle": "EA Games Directory Override",
- "eaGamesDirPlaceholder": "/path/to/EA Games/",
- "eaLauncherModeTitle": "Launch games via EA Desktop",
+ "eaGamesDirTitle": "Sovrascrittura Cartella EA Games",
+ "eaGamesDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\EA Games\\",
+ "Darwin": "/path/to/EA Games/",
+ "Linux": "/path/to/EA Games/"
+ },
+ "eaLauncherModeTitle": "Avviare giochi tramite EA Desktop",
"errors": {
- "fatalError__i": "> EA Desktop parser failed with fatal error:\n ${error}",
- "invalidXML__i": "> Invalid XML file ${dataFile}",
- "eaNotCompatible": "> EA Desktop Parser only supports Windows."
+ "fatalError__i": "> Il parser di EA Desktop ha fallito con errore fatale:\n ${error}",
+ "invalidXML__i": "> File XML non valido ${dataFile}",
+ "eaNotCompatible": "> Il parser di EA Desktop supporta solo Windows."
}
},
"globParser": {
- "inputTitle": "User's glob",
+ "inputTitle": "Search glob",
"inputPlaceholder": "${title}.@(iso|ISO)",
"errors": {
- "noTitle__md": "> File glob must contain `${title}`!",
- "moreThanOneTitle__md": "> File glob must contain only one `${title}`!",
- "noStarNextToTitle__md": "> Star `*` can not be next to `${title}`!",
- "noAnyCharNextToTitle__md": "> Any char `?` can not be next to `${title}`!",
+ "noTitle__md": "> Il file glob deve contenere `${title}`!",
+ "moreThanOneTitle__md": "> Il file glob deve contenere solo un `${title}`!",
+ "noStarNextToTitle__md": "> La stella `*` non può essere vicina a `${title}`!",
+ "noAnyCharNextToTitle__md": "> Qualsiasi carattere `?` non può essere vicino a `${title}`!",
"noGlobstarOnBothSides__md": "> Globstar `**` can only be on one side of `${title}`!",
"noBracedDirSetOnBothSides__md": "> A braced set, containing at least one slash `/` can only be on one side of `${title}`!",
"noBracedDirSetOrGlobstarOnBothSides__md": "> A braced set, containing at least one slash `/` and a globstar `**` can only be on one side of `${title}`!",
- "noEmptyPattern__md": "> Pattern can not be empty!",
+ "noEmptyPattern__md": "> Il pattern non può essere vuoto!",
"noEmptyCharRange__md": "> Character range can not be empty!",
"noStarInPatternNextToTitle__md": "> Star `*`, inside a pattern, can not be next to `${title}`!",
"noAnyCharInPatternNextToTitle__md": "> Any char `?`, inside a pattern, can not be next to `${title}`!"
}
},
"globRegexParser": {
- "inputTitle": "User's glob-regex",
- "inputPlaceholder": "${/valid regex/}",
+ "inputTitle": "Search glob-regex",
+ "inputPlaceholder": "${/regex valido/}",
"errors": {
"noRegex__md": "> File glob must contain `${regex}` where **regex** is your regular expression!",
"moreThanOneRegex__md": "> File glob must contain only one `${regex}`!",
@@ -213,323 +276,363 @@
"noGlobstarOnBothSides__md": "> Globstar `**` can only be on one side of `${regex}`!",
"noBracedDirSetOnBothSides__md": "> A braced set, containing at least one slash `/` can only be on one side of `${regex}`!",
"noBracedDirSetOrGlobstarOnBothSides__md": "> A braced set, containing at least one slash `/` and a globstar `**` can only be on one side of `${regex}`!",
- "noEmptyPattern__md": "> Pattern can not be empty!",
- "noEmptyCharRange__md": "> Character range can not be empty!",
+ "noEmptyPattern__md": "> Il pattern non può essere vuoto!",
+ "noEmptyCharRange__md": "> L'intervallo di caratteri non può essere vuoto!",
"noStarInPatternNextToRegex__md": "> Star `*`, inside a pattern, can not be next to `${regex}`!",
"noAnyCharInPatternNextToRegex__md": "> Any char `?`, inside a pattern, can not be next to `${regex}`!"
}
},
"sgdbProvider": {
- "nsfwInputTitle": "Allow NSFW artwork",
- "humorInputTitle": "Allow joke artwork",
- "imageMotionTypesTitle": "Allowed animation types",
- "stylesTitle": "Allowed grid styles",
- "stylesHeroTitle": "Allowed hero styles",
- "stylesLogoTitle": "Allowed logo styles",
- "stylesIconTitle": "Allowed icon styles"
+ "nsfwInputTitle": "Consenti artwork NSFW",
+ "humorInputTitle": "Consenti artwork divertenti",
+ "imageMotionTypesTitle": "Tipi di animazione consentiti",
+ "stylesTitle": "Stili griglia consentiti",
+ "stylesHeroTitle": "Stili hero consentiti",
+ "stylesLogoTitle": "Stili logo consentiti",
+ "stylesIconTitle": "Stili icone consentiti",
+ "sizesTitle": "Allowed banner dimensions",
+ "sizesHeroTitle": "Allowed hero dimensions",
+ "sizesTallTitle": "Allowed portrait dimensions",
+ "sizesIconTitle": "Allowed icon dimensions"
},
"logger": {
"component": {
- "noMessages": "No messages are available",
- "error": "ERROR",
- "info": "INFO",
- "success": "SUCCESS",
- "fuzzy": "FUZZY",
- "textWrap": "TEXT-WRAP",
- "autoscroll": "AUTOSCROLL",
- "clearLog": "Clear log",
- "issueDescription": "Thorough issue description with passable spelling.",
+ "noMessages": "Nessun messaggio disponibile",
+ "error": "Error messages",
+ "info": "Info messages",
+ "success": "Success messages",
+ "fuzzy": "Fuzzy messages",
+ "textWrap": "Wrap text",
+ "autoscroll": "Autoscroll",
+ "clearLog": "Clear",
+ "issueDescription": "Descrizione completa del problema con ortografia leggibile.",
"handleExample": "CoolHandle#1234"
}
},
"customVariables": {
"service": {
"error": {
- "failedToDownload__i": "Failed to download custom variables file. Status: ${error}.",
- "writingError": "Error occurred while saving custom variables.",
- "loadingError": "Error occurred while loading custom variables.",
+ "failedToDownload__i": "Impossibile scaricare il file delle variabili personalizzate. Stato: ${error}.",
+ "writingError": "Si è verificato un errore durante il salvataggio delle variabili personalizzate.",
+ "loadingError": "Errore durante il caricamento delle variabili personalizzate.",
"corruptedVariables__i": "Saved custom variables are invalid!\r\nPermanent variable saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "Custom variables file has been downloaded."
+ "downloaded": "Custom variables file has been updated."
}
}
},
"configPresets": {
"service": {
"error": {
- "failedToDownload__i": "Failed to download configuration presets file. Status: ${error}.",
- "writingError": "Error occurred while saving configuration presets.",
- "loadingError": "Error occurred while loading configuration presets.",
+ "failedToDownload__i": "Failed to download configuration presets file from commit ${commit}. Status: ${error}.",
+ "writingError": "Errore durante il salvataggio dei preset di configurazione.",
+ "loadingError": "Errore durante il caricamento dei preset di configurazione.",
"corruptedVariables__i": "Saved configuration presets are invalid!\r\nPermanent file saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "New config presets have been downloaded."
+ "downloaded": "Community presets have been updated."
}
}
},
"settings": {
"component": {
"label": {
- "general": "General settings",
- "imageProviders": "Image provider settings",
- "fuzzy": "Fuzzy matcher settings",
- "environmentVariables": "Environment variable settings",
- "communityPresets": "Community variable/preset settings"
+ "general": "General",
+ "imageProviders": "Artwork Providers",
+ "fuzzy": "Fuzzy Matcher",
+ "environmentVariables": "Environment Variables",
+ "communityPresets": "Community Presets and Custom Variables"
},
"text": {
- "offlineMode": "Offline mode",
- "removeApps_desc": "all added app entries and controllers",
- "removeApps_btn": "Remove",
- "preloadImages": "Preload retrieved images immediately",
- "fuzzy_verbose": "Log matching results",
- "fuzzy_filter": "Filter images",
- "enabledProviders": "Enabled image providers",
- "selectLanguage": "Select language",
- "selectTheme": "Select theme",
+ "autoUpdate": "Check for updates on start",
+ "offlineMode": "Modalità offline",
+ "removeApps_desc": "all added games and controllers",
+ "removeApps_btn": "Rimuovi",
+ "preloadImages": "Artwork loading strategy",
+ "fuzzy_verbose": "Registra i risultati corrispondenti",
+ "fuzzy_filter": "Filter artwork",
+ "enabledProviders": "Provider di immagini abilitati",
+ "dnsServers": "DNS manual override",
+ "selectLanguage": "Seleziona la lingua",
+ "selectTheme": "Seleziona il tema",
"resetFuzzy_desc": "fuzzy list",
"resetFuzzyCache_desc": "fuzzy cache",
- "resetFuzzy_btn": "Reset",
- "customVariables_desc": "custom variables",
- "configPresets_desc": "config presets",
- "showSteamImages": "Show current Steam images by default",
- "deleteDisabledShortcuts": "Remove shortcuts for disabled parsers",
+ "resetFuzzy_btn": "Resetta",
+ "customVariables_desc": "Variabili personalizzate",
+ "configPresets_desc": "preset delle configurazioni",
+ "showSteamImages": "Show current Steam artwork by default",
+ "deleteDisabledShortcuts": "Rimuovi le scorciatoie per i parser disabilitati",
"clearLogOnTest": "Automatically clear log before testing parsers",
- "configDir": "Open Config Directory"
+ "configDir": "Config Directory",
+ "steamDir": "Steam Directory"
},
"placeholder": {
- "noProviders": "None",
- "steamDirectoryWin": "Typically C:\\Program Files (x86)\\Steam",
- "steamDirectoryMac": "Typically ~/Library/Application Support/Steam",
- "steamDirectoryLinux": "Typically /home/user/.steam/steam",
- "userAccounts": "For example ${steamlogin}",
- "romsDirectoryWin": "For example D:\\ROMs",
- "romsDirectoryMac": "For example ~/ROMs",
- "romsDirectoryLinux": "For example ~/ROMs",
- "retroarchPathWin": "For example C:\\Path\\To\\retroarch.exe",
- "retroarchPathLinux": "For example /path/to/retroarch",
- "retroarchPathMac": "For example /path/to/retroarch",
- "raCoresDirectoryWin": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores",
- "raCoresDirectoryLinux": "Typically /lib/x86_64-linux-gnu/libretro/cores",
- "raCoresDirectoryMac": "Typically /Applications/Retroarch.app/Contents/Resources/cores",
- "localImagesDirectoryWin": "For example C:\\Path\\To\\LocalArtwork",
- "localImagesDirectoryUnix": "For example ~/path/to/localartwork"
+ "noProviders": "Nessuno",
+ "userAccounts": "Per esempio ${steamlogin}",
+ "bySystem": {
+ "Windows_NT": {
+ "steamDirectory": "Typically C:\\Program Files (x86)\\Steam\\",
+ "romsDirectory": "For example D:\\ROMs\\",
+ "retroarchPath": "For example C:\\Path\\To\\Retroarch.exe",
+ "raCoresDirectory": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores\\",
+ "localImagesDirectory": "For example C:\\Path\\To\\LocalArtwork\\"
+ },
+ "Darwin": {
+ "steamDirectory": "Typically ~/Library/Application Support/Steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /Applications/Retroarch.app/Contents/Resources/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ },
+ "Linux": {
+ "steamDirectory": "Typically /home/user/.steam/steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /lib/x86_64-linux-gnu/libretro/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ }
+ }
}
},
"service": {
"info": {
- "updatingSettings": "Updating user settings with new fields."
+ "updatingSettings": "Aggiornamento delle impostazioni utente con nuovi campi."
},
"error": {
- "writingError": "Error occurred while saving user settings.",
- "readingError": "Error occurred while reading user settings.",
+ "writingError": "Si è verificato un errore durante il salvataggio delle impostazioni utente.",
+ "readingError": "Si è verificato un errore durante la lettura delle impostazioni utente.",
"corruptedSettings__i": "Saved app settings are invalid!\r\nPermanent settings saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
}
}
},
"nav": {
"component": {
- "about": "About",
+ "about": "Info",
"preview": "Preview",
- "logger": "Log",
- "settings": "Settings",
- "parsers": "Create Parser",
- "customVariables": "Variables",
- "userExceptions": "Exceptions",
- "noTitle": "No title!"
+ "view": "Visualizza Giochi",
+ "logger": "Registro",
+ "settings": "Impostazioni",
+ "parsers": "Crea Parser",
+ "customVariables": "Variabili",
+ "userExceptions": "Eccezioni",
+ "noTitle": "Nessun titolo!"
}
},
"userExceptions": {
"component": {
"buttons": {
- "save": "Save",
- "deleteAll": "Clear",
- "undoChanges": "Undo changes",
- "addItem": "Add exception",
- "deleteItem": "Remove exception"
+ "save": "Salva",
+ "deleteAll": "Pulisci",
+ "undoChanges": "Annulla modifiche",
+ "addItem": "Aggiungi eccezione",
+ "deleteItem": "Rimuovi eccezione"
},
"text": {
- "title": "User Exceptions",
- "exclude": "Exclude Title",
- "excludeArtwork": "Local Artwork Only"
+ "title": "Eccezioni utente",
+ "exclude": "Escludi Titolo",
+ "excludeArtwork": "Solo Artwork Locale"
+ },
+ "placeholder": {
+ "sortBy": "Sort By"
}
},
"service": {
"error": {
- "loadingError": "Could not load user exceptions",
+ "loadingError": "Impossibile caricare le eccezioni utente",
"corruptedExceptions__i": "User exceptions corrupt (file - ${file}). Saving is disabled, full error is: ${error}",
- "writingError": "Error occurred saving user exceptions"
+ "writingError": "Errore durante il salvataggio delle eccezioni utente"
}
}
},
"parsers": {
"component": {
"buttons": {
- "save": "Save",
- "copy": "Copy",
- "testParser": "Test parser",
- "delete": "Delete",
- "moveUp": "Move up",
- "moveDown": "Move down",
+ "save": "Salva",
+ "copy": "Clone",
+ "testParser": "Test",
+ "delete": "Elimina",
+ "moveUp": "Sposta in alto",
+ "moveDown": "Sposta in basso",
"faq": "FAQ",
- "undoChanges": "Undo changes",
- "undoDelete": "Undo delete",
- "toClipboard": "Copy configuration to clipboard"
+ "undoChanges": "Annulla modifiche",
+ "undoDelete": "Annulla l'eliminazione",
+ "toClipboard": "Copia la configurazione negli appunti"
},
"info": {
- "testStarting__i": "Testing \"${title}\" parser (SRM version - ${version} ${portable}).",
- "opSys__i": "Operating system is \"${os}\"",
- "testCompleted": "Parser test is completed.",
- "nothingWasFound": "Parser found nothing.",
- "copiedToClipboard": "Configuration copied to clipboard",
+ "testStarting__i": "Provando il parser \"${title}\" (versione SRM- ${version} ${portable}).",
+ "opSys__i": "Il sistema operativo è \"${os}\"",
+ "testCompleted": "Il test del parser è stato completato.",
+ "nothingWasFound": "Il parser non ha trovato nulla.",
+ "copiedToClipboard": "Parser copied to clipboard",
"userExclusions": "User excluded:",
- "excludedFileInfo__i": "[${index}/${total}]: ${filename}",
+ "excludedFileInfo__i": "[${index}/${total}]: ${filename}\n Excluded by \"${exceptionKey}\"",
"removingControllers__i": "Removing controller templates for parser: ${configTitle}",
- "fetchingControllerTemplates": "Fetching controller templates"
+ "fetchingControllerTemplates": "Recupero template dei controller"
},
"error": {
"missingAccounts__i": "Following ${count} user account(s) were not found (user must to login to Steam at least once):",
"missingAccountInfo__i": " ${name}",
- "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials (\"Show advanced options -> User accounts -> Use account credentials\").\r\nIf you're seeing this, preview won't be generated for this configuration.",
- "cannotParseUserIDs": "Error parsing user accounts:",
- "failedToMatch": "Failed to match:",
+ "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials.\r\nIf you're seeing this, Add Games will skip this configuration.",
+ "cannotParseUserIDs": "Errore nell'analisi degli account utente:",
+ "failedToMatch": "Corrispondenza fallita:",
"failedFileInfo__i": "[${index}/${total}]: ${filename}",
- "testFailed": "Testing failed",
- "cannotTestInvalid": "Can not test invalid configuration!",
- "cannotCopyInvalid": "Can not copy invalid configuration!",
- "failedToCopy": "Failed to copy to clipbard!",
- "cannotFetchTemplates": "Can not fetch controller templates for invalid steam directory!",
- "errorRemovingControllers": "Error removing controllers:",
- "cannotRemoveControllers": "Can not remove controllers from invalid steam directory!"
+ "testFailed": "Test non riuscito",
+ "cannotTestInvalid": "Non è possibile provare una configurazione non valida!",
+ "cannotCopyInvalid": "Non è possibile copiare una configurazione non valida!",
+ "failedToCopy": "Copia negli appunti non riuscita!",
+ "cannotFetchTemplates": "Non è possibile recuperare i template dei controller per una directory di Steam non valida!",
+ "errorRemovingControllers": "Errore nella rimozione dei controller:",
+ "cannotRemoveControllers": "Impossibile rimuovere i controller da una cartella di Steam non valida!"
},
"success": {
- "foundAccounts__i": "Found ${count} available user account(s):",
+ "foundAccounts__i": "Trovati ${count} account utente disponibili:",
"foundAccountInfo__i": " ${name} (steamID64: ${steamID64}, accountID: ${accountID})",
- "steamCategory__i": "[${index}/${total}]: Steam categories - ${steamCategory}",
- "steamCategoryInfo__i": "[${index}/${total}]: ${steamCategory}",
+ "steamCategories__i": "[${index}/${total}]: Steam categories - ${steamCategories}",
+ "steamCategoriesInfo__i": "[${index}/${total}]: ${steamCategories}",
"exceptionKey__i": "[${index}/${total}]: Exception ID - ${appid}",
"appId__i": "[${index}/${total}]: Legacy App ID - ${appid}",
"shortAppId__i": "[${index}/${total}]: App ID - ${appid}",
- "extractedTitle__i": "[${index}/${total}]: Extracted title - ${title}",
- "fuzzyTitle__i": "[${index}/${total}]: Fuzzy title - ${title}",
- "finalTitle__i": "[${index}/${total}]: Final title - ${title}",
- "filePath__i": "[${index}/${total}]: File path - ${filePath}",
- "startDir__i": "[${index}/${total}]: Start dir - ${startDir}",
- "completeShortcut__i": "[${index}/${total}]: Complete shortcut - ${shortcut}",
- "firstImageQuery__i": "[${index}/${total}]: Image queries - ${query}",
+ "extractedTitle__i": "[${index}/${total}]: Titolo Estratto - ${title}",
+ "fuzzyTitle__i": "[${index}/${total}]: Titolo fuzzy - ${title}",
+ "finalTitle__i": "[${index}/${total}]: Titolo finale - ${title}",
+ "filePath__i": "[${index}/${total}]: Percorso del file - ${filePath}",
+ "startDir__i": "[${index}/${total}]: Cartella di partenza - ${startDir}",
+ "completeShortcut__i": "[${index}/${total}]: Collegamento completo - ${shortcut}",
+ "firstImageQuery__i": "[${index}/${total}]: Artwork queries - ${query}",
+ "imagePool__i": "[${index}/${total}]: Artwork pool - ${imagePool}",
"imageQueries__i": "[${index}/${total}]: ${query}",
- "defaultImage__i": "[${index}/${total}]: Resolved fallback ${artworkType}:\r\n[${index}/${total}]: ${image}",
+ "defaultImage__i": "[${index}/${total}]: Fallback risolto ${artworkType}:\n[${index}/${total}]: ${image}",
"resolvedDefaultImage__i": "[${index}/${total}]: Fallback ${artworkType}:",
- "localImages__i": "[${index}/${total}]: Resolved ${artworkType}:",
- "resolvedLocalImages__i": "[${index}/${total}]: ${artworkType} glob:",
+ "localImages__i": "[${index}/${total}]: Resolved local ${artworkType}:",
+ "resolvedLocalImages__i": "[${index}/${total}]: Local ${artworkType} glob:",
"indexInfo__i": "[${index}/${total}]: ${indexed}",
- "removedControllers__i": "Succesfully removed controllers for parser: ${configTitle}",
- "fetchedTemplates": "Fetched all controller templates"
+ "removedControllers__i": "Controller rimossi con successo per il parser: ${configTitle}",
+ "fetchedTemplates": "Recuperati tutti i template dei controller"
},
"label": {
- "parserType": "Parser type",
- "configTitle": "Configuration title",
- "steamCategory": "Steam category",
- "executableModifier": "Executable modifier",
- "executableLocation": "Executable",
- "romDirectory": "ROMs directory",
- "steamDirectory": "Steam directory",
- "startInDirectory": "\"Start In\" directory",
- "userAccounts": "User accounts",
- "titleFromVariable": "Title from custom variable",
- "titleModifier": "Title modifier",
+ "parserType": "Tipo di Parser",
+ "configTitle": "Parser title",
+ "steamCategories": "Steam collections",
+ "executableModifier": "Modificatore dell'eseguibile",
+ "executableLocation": "Eseguibile",
+ "romDirectory": "Cartella delle ROM",
+ "steamDirectory": "Cartella di Steam",
+ "startInDirectory": "Cartella \"Start In\"",
+ "userAccounts": "Profili Utente",
+ "titleFromVariable": "Titolo da variabile personalizzata",
+ "titleModifier": "Modificatore del Titolo",
"fuzzyMatch": "Fuzzy matching",
- "executableArgs": "Command line arguments",
- "onlineImageQueries": "Online image query",
- "imagePool": "Image pool",
- "imageProviders": "Image providers",
+ "executableArgs": "Argomenti riga di comando",
+ "onlineImageQueries": "Artwork provider search queries",
+ "imagePool": "Artwork pool",
+ "imageProviders": "Artwork providers",
"defaultImage__i": "Fallback ${artworkType}",
- "localImages__i": "Local ${artworkType} glob"
+ "localImages__i": "Glob ${artworkType} locale"
},
"placeholder": {
- "parserType": "Select parser...",
- "configTitle": "My Awesome Parser",
- "steamCategory": "${cat1}${cat2}",
- "steamDirectory": "${steamdirglobal} or /path/to/steam",
- "userAccounts": "${steamuser1}${steamuser2} or ${${accountsglobal}}",
- "titleFromVariable": "${myvariable}",
- "titleModifier": "${fuzzyTitle} or ${title}",
- "defaultImage__i": "/path/to/fallback_${artworkType}.png",
- "localImages__i": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
- "romDirectory": "/path/to/games/",
+ "parserType": "Seleziona parser...",
+ "configTitle": "Il Mio Fantastico Parser",
+ "steamDirectory": {
+ "Windows_NT": "${steamdirglobal} or C:\\path\\to\\Steam\\",
+ "Darwin": "${steamdirglobal} or /path/to/Steam/",
+ "Linux": "${steamdirglobal} or /path/to/Steam/"
+ },
+ "titleFromVariable": "${variableGroup1}${variableGroup2}",
+ "titleModifier": "${fuzzyTitle} o ${title}",
+ "defaultImage__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\fallback_${artworkType}.png",
+ "Darwin": "/path/to/fallback_${artworkType}.png",
+ "Linux": "/path/to/fallback_${artworkType}"
+ },
+ "localImages__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\art\\\\${artworkType}\\\\\\${title}.@(png|jpg)",
+ "Darwin": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
+ "Linux": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)"
+ },
+ "onlineImageQueries": "${${fuzzyTitle}} or ${${title}}${${fuzzyTitle}}",
+ "imagePool": "${fuzzyTitle}",
+ "romDirectory": {
+ "Windows_NT": "C:\\path\\to\\games\\",
+ "Darwin": "/path/to/games/",
+ "Linux": "/path/to/games/"
+ },
"glob": "${title}.@(iso|ISO)",
- "executableLocation": "Example: /path/to/emulator.exe",
- "executableArgs": "--arg1 --arg2",
+ "executableLocation": {
+ "Windows_NT": "C:\\path\\to\\emulator.exe",
+ "Darwin": "/path/to/emulator.app",
+ "Linux": "/path/to/emulator"
+ },
+ "executableArgs": "--arg1 --arg2 --launch \"${filePath}\"",
"executableModifier": "\"${exePath}\"",
- "startInDirectory": "/path/to/start/in/dir",
- "imageProviders": "None",
- "multiAPIPlaceholder": "No Filter"
+ "startInDirectory": {
+ "Windows_NT": "C:\\path\\to\\start-in-dir\\",
+ "Darwin": "/path/to/start-in-dir/",
+ "Linux": "/path/to/start-in-dir/"
+ },
+ "imageProviders": "Nessuno",
+ "multiAPIPlaceholder": "Nessun filtro"
},
"text": {
- "tryToMatchTitle": "Enable Title from Custom Variable",
- "skipFileIfVariableWasNotFound": "Skip file if variable was not found",
- "caseInsensitiveVariables": "Case-insensitive variables",
- "shortcut_passthrough": "Follow .lnk or .desktop to destination (Windows and Linux only)",
- "fuzzy_use": "Use fuzzy matching",
- "fuzzy_removeCharacters": "Aggressive matching",
- "fuzzy_removeBrackets": "Remove (...) and [...] brackets",
- "fuzzy_replaceDiacritic": "Replace diacritic characters",
- "appendArgsToExecutable": "Append arguments to executable",
- "disabled": "Disable current parser",
- "advanced": "Show advanced options",
- "noTitle": "No title!"
+ "skipFileIfVariableWasNotFound": "Salta il file se la variabile non è stata trovata",
+ "caseInsensitiveVariables": "Variabili case-insensitive",
+ "shortcut_passthrough": "Segui .lnk o .desktop alla destinazione (solo Windows e Linux)",
+ "fuzzy_use": "Usa corrispondenza fuzzy",
+ "fuzzy_removeCharacters": "Corrispondenza aggressiva",
+ "fuzzy_removeBrackets": "Rimuovi le parentesi (...) e [...]",
+ "fuzzy_replaceDiacritic": "Sostituisci i caratteri diacritici",
+ "appendArgsToExecutable": "Aggiungi argomenti all'eseguibile",
+ "disabled": "Disabilita il parser corrente",
+ "advanced": "Mostra impostazioni avanzate",
+ "noTitle": "Nessun titolo!"
}
},
"service": {
"info": {
- "updatingConfigurations": "Updating user configurations with new fields"
+ "updatingConfigurations": "Updating user's parsers with new fields"
},
"error": {
- "savingConfiguration": "Error encountered while saving user configurations!",
- "readingConfiguration": "Error encountered while reading user configurations!",
+ "savingConfiguration": "Error encountered while saving user's parsers!",
+ "readingConfiguration": "Error encountered while loading user's parsers!",
"parserTypeMissing": "Cannot save without specifying parser type",
- "corruptedConfiguration__i": "One or more saved parser configurations are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
- "fetcingTemplates": "Error encountered while fetching controllers templates!"
+ "corruptedConfiguration__i": "One or more saved parsers are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
+ "fetchingTemplates": "Error encountered while fetching controllers templates!"
},
"validationErrors": {
- "parserType__md": "> Incorrect parser type!",
- "configTitle__md": "> Configuration title is required!",
+ "parserType__md": "> Tipo di parser non corretto!",
+ "configTitle__md": "> Parser title field cannot be blank!",
"parserId__md": "> Parser Id is missing, something is horribly wrong.",
"parserInput": {
- "noInput": "No inputs are available!",
- "inputNotAvailable__i": "\"${name}\" input is not available!",
- "incorrectParser": "Incorrect parser!"
+ "noInput": "Nessun input disponibile!",
+ "inputNotAvailable__i": "\"${name}\" input non è disponibile!",
+ "incorrectParser": "Parser non corretto!"
},
- "romDir__md": "> ROMs directory is invalid!",
- "userAccounts__md": "> Steam parser requires `User Accounts` field",
- "steamDir__md": "> Steam directory is invalid!",
+ "romDir__md": "> La cartella delle ROM non è valida!",
+ "userAccounts__md": "> User accounts field is required!",
+ "steamDir__md": "> Cartella di Steam non valida!",
"startInDir__md": "> \"Start In\" directory is invalid!",
- "executable__md": "> Executable is invalid!",
- "imagePool__md": "> Image pool must not be empty!",
- "defaultImage__md": "> Default image is an invalid path!",
- "titleModifier__md": "> Title modifier must not be empty!",
- "executableModifier__md": "> Executable modifier must not be empty!",
- "variableString__md": "> Uneven number of `${` and `}` pairs. Use `\\` to escape `${` or `}` if you want to use them as characters.",
- "imageProviders__md": "> Incorrect image providers type!",
- "unhandledValidationKey__md": "> Input's validation is unhandled",
- "genericDir__md": "> Directory is invalid",
- "genericPath__md": "> Path is invalid"
+ "executable__md": "> Eseguibile non valido!",
+ "defaultImage__md": "> Fallback artwork is an invalid path!",
+ "variableString__md": "> Uneven number of `${` and `}` pairs! Use `\\` to escape `${` or `}` if you want to use them as characters.",
+ "unhandledValidationKey__md": "> Input's validation is unhandled!",
+ "genericDir__md": "> Directory is invalid!",
+ "genericPath__md": "> Path is invalid!"
},
"text": {
- "noTitle": "No title!"
+ "noTitle": "Nessun titolo!"
}
}
},
"fuzzyMatcher": {
"info": {
"downloading": "Title list for fuzzy matching will be downloaded.",
- "successfulDownload": "Download was successful. Saving list.",
- "checkingIfListIsUpToDate": "Checking if title list is up to date.",
- "listIsOutdated": "List is outdated. Title list for fuzzy matching will be downloaded.",
- "listIsUpToDate": "Title list is up to date.",
- "match__i": "Fuzzy title \"${fuzzyTitle}\" from \"${extractedTitle}\"",
- "equal__i": "Fuzzy compare: \"${a}\" == \"${b}\"",
- "notEqual__i": "Fuzzy compare: \"${a}\" != \"${b}\""
+ "successfulDownload": "Download riuscito. Salvataggio dell'elenco.",
+ "checkingIfListIsUpToDate": "Controllo se l'elenco dei titoli è aggiornato.",
+ "listIsOutdated": "La lista è obsoleta. Verrà scaricato l'elenco dei titoli per la corrispondenza fuzzy.",
+ "listIsUpToDate": "L'elenco dei titoli è aggiornato.",
+ "match__i": "Titolo fuzzy \"${fuzzyTitle}\" da \"${extractedTitle}\"",
+ "equal__i": "Comparazione Fuzzy: \"${a}\" == \"${b}\"",
+ "notEqual__i": "Comparazione Fuzzy: \"${a}\" != \"${b}\""
},
"error": {
"fatalError": "Fatal error occurred while loading list for Fuzzy matcher. Fuzzy matching will be skipped.",
@@ -538,45 +641,45 @@
},
"fileParser": {
"error": {
- "parserNotFound__i": "Parser \"${name}\" not found!",
- "tooManyFieldGlobs__md": "> Only one `$(...)$` set is allowed per input.",
- "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** ir **Glob-regex** field.",
- "noWinSlashes__md": "> Windows directory character `\\` is not allowed! Use `/` instead."
+ "parserNotFound__i": "Parser \"${name}\" non trovato!",
+ "tooManyFieldGlobs__md": "> Solo un set `$(...)$` è consentito per input.",
+ "parserIsRequired__md": "> La prima parte di `$(...)$` deve contenere un **Glob** valido nel campo **Glob-regex**.",
+ "noWinSlashes__md": "> Il carattere `\\` della directory di Windows non è permesso! Usa `/` invece."
}
},
"imageProvider": {
"error": {
- "webWorkerError__i": "Web worker error has occurred. ${error}",
- "unknownWebWorkerError": "Unknown web worker error has occurred. Error data: ${data}"
+ "webWorkerError__i": "Si è verificato un errore nel worker web. ${error}",
+ "unknownWebWorkerError": "Si è verificato un errore del web worker sconosciuto. Dati di errore: ${data}"
}
},
"vdfManager": {
"error": {
- "noUsersFound": "None of the provided steam directories contained any user directory.",
- "emptyDirectoryList": "Directory list is empty.",
- "couldNotPrepareToRead__i": "Could not find required steam files:\n ${error}",
- "couldNotBackupEntries__i": "Could not backup required steam files:\n ${error}",
- "couldNotReadEntries__i": "Could not read required steam files:\n ${error}",
- "couldNotWriteEntries": "Could not write entries to steam files:",
- "couldNotMergeEntries__i": "Could not merge entries:\n ${error}",
- "couldNotRemoveEntries__i": "Could not remove entries:\n ${error}",
- "nonFatal": "Non fatal errors occurred while writing:"
+ "noUsersFound": "Nessuna delle directory di Steam fornite conteneva alcuna directory utente.",
+ "emptyDirectoryList": "La lista delle cartelle è vuota.",
+ "couldNotPrepareToRead__i": "Impossibile trovare i file di Steam necessari:\n ${error}",
+ "couldNotBackupEntries__i": "Impossibile eseguire il backup dei file di Steam necessari:\n ${error}",
+ "couldNotReadEntries__i": "Impossibile leggere i file di Steam necessari:\n ${error}",
+ "couldNotWriteEntries": "Impossibile scrivere voci nei file di Steam:",
+ "couldNotMergeEntries__i": "Impossibile unire le voci:\n ${error}",
+ "couldNotRemoveEntries__i": "Impossibile rimuovere le voci:\n ${error}",
+ "nonFatal": "Si sono verificati errori non fatali durante la scrittura:"
}
},
"vdfFile": {
"error": {
- "readingVdf__i": "Failed to read from \"${filePath}\".\n ${error}",
- "writingVdf__i": "Failed to write to \"${filePath}\".\n ${error}",
- "skippingDMCA__i": "Skipping DMCA'd image for ${title}",
- "corruptedVdf__i": "\"${filePath}\" is corrupted.\n ${error}",
- "creatingBackup__i": "Could not create backup for \"${filePath}\".\n ${error}",
- "unsupportedMimeType__i": "Mime type (${type}) is unsupported (title - \"${title}\").",
- "imageError__i": "Error occurred while saving/downloading image for \"${title}\". Url: ${url}.\n ${error}"
+ "readingVdf__i": "Impossibile leggere da \"${filePath}\".\n ${error}",
+ "writingVdf__i": "Impossibile scrivere su \"${filePath}\".\n ${error}",
+ "skippingDMCA__i": "Skipping DMCA'd artwork for ${title}",
+ "corruptedVdf__i": "\"${filePath}\" è corrotto.\n ${error}",
+ "creatingBackup__i": "Impossibile creare il backup per \"${filePath}\".\n ${error}",
+ "unsupportedMimeType__i": "Il tipo Mime (${type}) non è supportato (titolo - \"${title}\").",
+ "imageError__i": "Error occurred while saving/downloading artwork for \"${title}\". Url: ${url}.\n ${error}"
}
},
"helpers": {
"error": {
- "noUserIdsInDir__i": "\"${steamDirectory}\" contains no user ids."
+ "noUserIdsInDir__i": "\"${steamDirectory}\" non contiene nessun ID utente."
}
}
}
diff --git a/src/lang/it-IT/markdown/UWP-parser-input.md b/src/lang/it-IT/markdown/UWP-parser-input.md
index 1a3f20be1d..f39e633bda 100644
--- a/src/lang/it-IT/markdown/UWP-parser-input.md
+++ b/src/lang/it-IT/markdown/UWP-parser-input.md
@@ -1,11 +1,11 @@
-# Unique inputs for UWP Parser
+# UWP Parser Specific Inputs
-## Games directory
+## Cartella gioco
-UWP apps are supposed to say if they are games or apps, and this is not always correct. To remediate this, it's useful to say where you're installing your games to only scan for those UWP apps. Defaults to `C:\XboxGames`.
+Le app UWP dovrebbero dire se sono giochi o app, e questo non è sempre corretto. Per rimediare a questo, è utile dire dove stai installando i tuoi giochi per eseguire la scansione solo per quelle app UWP. L'impostazione predefinita è `C:\XboxGames`.
-Set it to `C:\Program Files\WindowsApps` to grab all UWP applications -- you'll have to remove unwanted ones by hand.
+Impostala a `C:\Program Files\WindowsApps` per catturare tutte le applicazioni UWP -- dovrai rimuovere a mano quelle indesiderate.
-## Launch as UWP or from GameLaunchHelper.exe
+## Avvia come UWP o da GameLaunchHelper.exe
-Gamepass games can be launched both ways, although UWP is preffered.
+I giochi Gamepass possono essere avviati in entrambi i modi, anche se UWP è l'opzione preferita.
diff --git a/src/lang/it-IT/markdown/UWP-parser.md b/src/lang/it-IT/markdown/UWP-parser.md
index bfb5a847f3..3ffec25610 100644
--- a/src/lang/it-IT/markdown/UWP-parser.md
+++ b/src/lang/it-IT/markdown/UWP-parser.md
@@ -1,7 +1,7 @@
-# UWP Games Parser
+# Parser di Giochi UWP
-This parser imports `UWP` games in your Windows OS, having a games library path as reference. Useful for PC gamepass!
+Questo parser importa i giochi `UWP` nel tuo sistema operativo Windows, avendo un percorso della libreria di giochi come riferimento. Utile per gamepass per PC!
-## Compatibility
+## Compatibilità
-This parser should only work on `Windows 10` and `Windows 11`.
\ No newline at end of file
+Questo parser dovrebbe funzionare solo su `Windows 10` e `Windows 11`.
diff --git a/src/lang/it-IT/markdown/about.md b/src/lang/it-IT/markdown/about.md
index 3f6320a3ea..86292a63bd 100644
--- a/src/lang/it-IT/markdown/about.md
+++ b/src/lang/it-IT/markdown/about.md
@@ -1,53 +1,54 @@
-## System info
+## Informazioni di sistema
-In case you're having trouble with SRM, feel free to visit the [discord](https://discord.gg/bnSVJrz) or the [subreddit](https://www.reddit.com/r/SteamRomManager/) and ask for our help. In order for us to help you, we would like you to provide this info:
+Nel caso in cui abbiate problemi con SRM, non esitate a visitare il [discord](https://discord.gg/bnSVJrz) o il [subreddit](https://www.reddit.com/r/SteamRomManager/) e a chiedere il nostro aiuto. Per poterti aiutare, ti chiediamo di fornirci queste informazioni:
-* SRM version: **#{APP[version]}**
-* Operating System: **#{APP[os]}**
+* Versione di SRM: **#{APP[version]}** emudeckText
+* Sistema operativo: **#{APP[os]}**
-## Useful links
+## Link utili
-* [SRM Releases](https://github.com/SteamGridDB/steam-rom-manager/releases)
-* [Discord Server](https://discord.gg/bnSVJrz)
+* [Rilasci di SRM](https://github.com/SteamGridDB/steam-rom-manager/releases)
+* [Server Discord](https://discord.gg/bnSVJrz)
* [r/SteamRomManager](https://www.reddit.com/r/SteamRomManager/)
-* [Steam Group](https://steamcommunity.com/groups/steamrommanager)
+* [Gruppo Steam](https://steamcommunity.com/groups/steamrommanager)
* [Github Repo](https://github.com/SteamGridDB/steam-rom-manager)
* [Crowdin Translation Project](https://crowdin.com/project/steam-rom-manager)
-## Support
+## Supporto
-Help support continued progress on Steam ROM Manager at:
+Aiutate a sostenere i continui progressi di Steam ROM Manager su:
-
+
-[SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon.
+Se vi piace Steam ROM Manager e volete che continui a essere utile, considerate anche il supporto al Patreon di [SteamGridDB](https://www.steamgriddb.com/). [SteamGridDB](https://www.steamgriddb.com/) ospita tutte gli artwork che Steam ROM Manager utilizza per rendere la vostra libreria di Steam l'invidiabile, quindi dovremmo aiutarli a tenere accese le luci.
-## Contributions
-* `FrogTheFrog`{.noWrap} - Creator of SRM, no longer active on SRM but currently working on the [MoonDeck Plugin](https://github.com/FrogTheFrog/moondeck)
-
-### Current Maintainers
-* `lontanadascienza`{.noWrap} - Updated SRM to handle heroes, posters, logos, and icons. Added the exception manager, controller management, platform parsers (Epic, GOG, Steam, etc), among many other things. Squashes bugs almost as fast as he introduces them.
-* `Zennn`{.noWrap} - Added category support, langauge localization, and the bug report server among many other things. Big boss over at [SteamGridDB](https://www.steamgriddb.com/).
-* `KenCinder`{.noWrap} - Manages and creates community parser presets and helps user setup SRM in [Discord](https://discord.gg/bnSVJrz).
-
-### Feature Contributions
-* `dragoonDorise`{.noWrap} - Added new themes to SRM. Creator and current maintainer of [EmuDeck](https://www.emudeck.com/).
-* `alvaromunoz`{.noWrap} - Added Game Pass parser to SRM.
-* `lexarvn`{.noWrap} - Added the Amazon Games parser and the itch.io parser.
-* `CarJem`{.noWrap} - Added the manual parser.
-* `MattMckenzy`{.noWrap} - Added ability to import and export image choices.
-* `Apalatn`{.noWrap} - Added an install drive redirect option to the itch.io parser.
-* `OneMoreByte` - Made itch.io parser work on linux and mac.
-* `UndarkAido` - Added shortcut passthrough for Linux's .desktop shortcuts.
+## Contributi
+* `FrogTheFrog`{.noWrap} - Creatore di SRM, non più attivo su SRM ma attualmente al lavoro sul plugin [MoonDeck](https://github.com/FrogTheFrog/moondeck)
+
+### Manutentori attuali
+* `lontanadascienza`{.noWrap} - Ha aggiornato SRM per gestire eroi, poster, loghi e icone. Ha aggiunto il gestore delle eccezioni, la gestione dei controller, i parser delle piattaforme (Epic, GOG, Steam, ecc.) e molte altre cose. Risolve i bug con la stessa velocità con cui li introduce.
+* `Zennn`{.noWrap} - Ha aggiunto il supporto per le categorie, la localizzazione linguistica e il server per le segnalazioni di bug, oltre a molte altre cose. Il grande capo di [SteamGridDB](https://www.steamgriddb.com/).
+* `KenCinder`{.noWrap} - Gestisce e creai parser della community e aiuta l'utente a configurare SRM su [Discord](https://discord.gg/bnSVJrz).
+
+### Contributi alle funzionalità
+* `dragoonDorise`{.noWrap} - Ha aggiunto nuovi temi a SRM. Creatore e manutentore attuale di [EmuDeck](https://www.emudeck.com/).
+* `alvaromunoz`{.noWrap} - Ha aggiunto il parser di Game Pass su SRM.
+* `lexarvn`{.noWrap} - Ha aggiunto i parser di Amazon Games e itch.io.
+* `CarJem`{.noWrap} - Ha aggiunto il parser manuale.
+* `MattMckenzy`{.noWrap} - Ha aggiunto la possibilità di importare ed esportare immagini a scelta.
+* `Apalatn`{.noWrap} - Ha aggiunto un'opzione di reindirizzamento dell'unità di installazione al parser di itch.io.
+* .
+* `UndarkAido`{.noWrap} - Added shortcut passthrough for Linux's .desktop shortcuts.
+* .
### Community
-* `HE Spoke`{.noWrap} - created a community around SRM. Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups. Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
-* `livedeht`{.noWrap} - Helps users setup SRM with and without [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/).
-* `Choko`{.noWrap} - Helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
-* `Xav83`{.noWrap} - Creator and maintainer of SRM's [Chocolatey package](https://community.chocolatey.org/packages/steam-rom-manager)
+* `HE Spoke`{.noWrap} - ha creato una comunità intorno a SRM. Creatore dei gruppi [Steam](https://steamcommunity.com/groups/steamrommanager) e [Discord](https://discord.gg/bnSVJrz). Aiuta anche gli utenti a configurare SRM su [Discord](https://discord.gg/bnSVJrz).
+* `livedeht`{.noWrap} - Aiuta gli utenti a impostare SRM con e senza [EmuDeck](https://www.emudeck.com/). Attuale manutentore di [EmuDeck](https://www.emudeck.com/).
+* `Choko`{.noWrap} - Aiuta gli utenti a configurare SRM su [Discord](https://discord.gg/bnSVJrz).
+* `Xav83`{.noWrap} - Creatore e manutentore del pacchetto [Chocolatey](https://community.chocolatey.org/packages/steam-rom-manager) di SRM
diff --git a/src/lang/it-IT/markdown/amazon-games-parser-input.md b/src/lang/it-IT/markdown/amazon-games-parser-input.md
index 7ac728e20b..fbe777e3ee 100644
--- a/src/lang/it-IT/markdown/amazon-games-parser-input.md
+++ b/src/lang/it-IT/markdown/amazon-games-parser-input.md
@@ -1,8 +1,8 @@
-# Amazon Games Parser specific inputs
+# Input specifici del Parser Amazon Games
-## Amazon Games Path Override
-By default Steam ROM Manager assumes your Amazon Games installation is located at `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`. This field allows you to override that path if your Amazon Games installation is elsewhere.
+## Sovrascrittura del percorso di Amazon Games
+Come impostazione predefinita, Steam ROM Manager assume che il percorso d'installazione di Amazon Games si trovi su `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`. Questo campo ti permette di sovrascrivere quel percorso se l'installazione di Amazon Games è altrove.
-## Launch Via Amazon Games
+## Avvia tramite Amazon Games
-What it sounds like, this toggle let's you set whether games will launch via Amazon Games or directly.
+Proprio come sembra, questo toggle ti permette d'impostare se i giochi verranno lanciati tramite Amazon Games o direttamente.
diff --git a/src/lang/it-IT/markdown/amazon-games-parser.md b/src/lang/it-IT/markdown/amazon-games-parser.md
index cdfda7c283..67c90126a5 100644
--- a/src/lang/it-IT/markdown/amazon-games-parser.md
+++ b/src/lang/it-IT/markdown/amazon-games-parser.md
@@ -1,3 +1,3 @@
-# Amazon Games Parser
+# Parser di Amazon Games
-This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+Questo parser importa giochi da `Amazon Games`, così che gli artwork possano essere scelti per loro ed essere aggiunti a Steam. Se ciò non funziona è perché probabilmente Amazon Games ha modificato la struttura del loro database di giochi o il loro fuel.json, in tal caso si prega di avvisare gli sviluppatori di SRM cosicché risolvano il problema.
diff --git a/src/lang/it-IT/markdown/battle-net-parser-input.md b/src/lang/it-IT/markdown/battle-net-parser-input.md
new file mode 100644
index 0000000000..0dac03c284
--- /dev/null
+++ b/src/lang/it-IT/markdown/battle-net-parser-input.md
@@ -0,0 +1,5 @@
+# Input specifici del Parser Battle.net
+
+## Sovrascrittura del percorso Battle.net.exe
+
+Per impostazione predefinita, Steam ROM Manager assume che l'eseguibile `Battle.net` si trovi in `C:\Program Files (x86)\Battle.net\Battle.net.exe`. Questo campo ti permette di sovrascrivere quel percorso se il tuo `Battle.net` è installato altrove.
diff --git a/src/lang/it-IT/markdown/battle-net-parser.md b/src/lang/it-IT/markdown/battle-net-parser.md
new file mode 100644
index 0000000000..293ed8472b
--- /dev/null
+++ b/src/lang/it-IT/markdown/battle-net-parser.md
@@ -0,0 +1,5 @@
+# Parser Battle.net
+
+Questo parser importa giochi dall'app `Battle.net`, in modo che gli artwork possano essere scelti per loro e possano essere aggiunti a Steam. Se non funziona è perché Blizzard ha modificato la struttura dei propri file di database, in questo caso si prega di far sapere agli sviluppatori di SRM e risolveremo il problema.
+
+Il parser `Battle.net` è un po 'speciale in quanto utilizza uno script di shell su `${srmDir}/scripts/bnet.ps1` per avviare `Battle.net`, attende una specifica quantità di tempo e solo dopo avvia il titolo.
diff --git a/src/lang/it-IT/markdown/community-presets.md b/src/lang/it-IT/markdown/community-presets.md
index fb3925c412..913e919975 100644
--- a/src/lang/it-IT/markdown/community-presets.md
+++ b/src/lang/it-IT/markdown/community-presets.md
@@ -1,10 +1,10 @@
-# Community Presets
-These are parser configurations that have been created by the SRM community and just need to be altered slightly with a few system specific parameters in order to work (usually just `ROMs Directory` and `Executable` need to be specified).
+# Preset Della Comunità
+Queste sono configurazioni del parser che sono state create dalla comunità di SRM e devono solo essere modificate leggermente con pochi parametri specifici per il sistema per funzionare (di solito è necessario specificare solo `Cartella delle ROMs` ed `Eseguibile`).
-## Generic Parser
-The Generic Parser (search `Generic` in presets) works for a wide variety of emulators that don't need specific commandline arguments in order to work, for example:
+## Parser Generico
+Il Parser Generico (cerca `Generic` in presets) funziona per una vasta gamma di emulatori che non hanno bisogno di argomenti specifici della riga di comando per funzionare, per esempio:
* Yuzu
* Citra
-* Xenia (add `--fullscreen` in `Command Line Arguments` if desired)
+* Xenia (aggiungi `--fullscreen` negli `Argomenti Riga di Comando` se lo si desidera)
-If you have an emulator that isn't in the list of community presets, it is probably worth a shot to try the generic parser. If it works let us know and we will add a preset for it!
+Se hai un emulatore che non è nella lista dei preset della comunità, potrebbe valere la pena provare il parser generico. Se funziona, fateci sapere e aggiungeremo un preset!
diff --git a/src/lang/it-IT/markdown/config-title.md b/src/lang/it-IT/markdown/config-title.md
index ed2eeef493..20f7912d3e 100644
--- a/src/lang/it-IT/markdown/config-title.md
+++ b/src/lang/it-IT/markdown/config-title.md
@@ -1,3 +1,5 @@
-# Configuration title
+#
-Title to save user configuration as. Does not have to be unique, but is required.
\ No newline at end of file
+Title of the parser. Does not have to be unique, but is required.
+
+This field will not affect what is added to `Steam` in any way.
diff --git a/src/lang/it-IT/markdown/controller-templates.md b/src/lang/it-IT/markdown/controller-templates.md
index 37c943f370..de3879b0b4 100644
--- a/src/lang/it-IT/markdown/controller-templates.md
+++ b/src/lang/it-IT/markdown/controller-templates.md
@@ -1,26 +1,26 @@
-# Controller Templates
-Controller templates allow you to configure the button layout per controller and per parser.
+# Template per Controller
+I template per i controller ti consentono di configurare il layout dei pulsanti per controller e per parser.
-You may want to disable `Cloud Synchronization` in Steam to avoid having your SRM assigned controller configs get overwritten. You may find the setting under `Steam > Settings > Cloud`.
+Potresti voler disabilitare la `Sincronizzazione Cloud` in Steam per evitare che le tue configurazioni del controller SRM assegnate vengano sovrascritte. Puoi trovare l'impostazione sotto `Steam > Impostazioni > Cloud`.
-To make a custom template:
-* Open Steam.
-* Connect the controller you want to configure a template for.
-* Right click on any game and hit `Manage > Controller Layout`.
-* Configure the buttons as you see fit.
-* Hit `Export Config` then `Save new template binding`.
-* Name the template in the form: `Template Title (SRM)`. You must end the name with `(SRM)` or SRM will not pick up the template.
-* Repeat for as many different types of controller as you want to configure.
+Per creare un template personalizzato:
+* Apri Steam.
+* Collega il controller per cui vuoi configurare il template.
+* Fai clic col tasto destro del mouse su un qualsiasi gioco e premi `Gestisci > Layout del Controller`.
+* Configura i pulsanti come preferisci.
+* Clicca `Esporta Configurazione` po `Salva nuovo template di associazione`.
+* Chiama il template nella forma: `Titolo Template (SRM)`. Devi terminare il nome con `(SRM)` o SRM non riconoscerà il template.
+* Ripeti per ogni tipo di controller diverso che desideri configurare.
-In the SRM parser:
-* Hit `Re-Fetch Controller Templates` to pull templates for all controller types from steam. This will clear your currently selected template if it is not one of the templates available in Steam.
+Nel parser SRM:
+* Premi `Re-Fetch Controller Templates` per ottenere i template per ogni i tipo di controller da Steam. Questo cancellerà il template attualmente selezionato se non è uno dei template disponibili in Steam.
-Currently, SRM pulls all of the default (Valve made) templates for each controller as well as all of the user defined templates that end in `(SRM)`.
+Attualmente, SRM estrae tutti i template predefiniti (fatti da Valve) per ogni controller e tutti i template definiti dall'utente che terminano in `(SRM)`.
-* Select your templates and save the parser. The controller configsets will be applied once you hit `Save App List` in the preview.
+* Seleziona il tuo template e salva il parser. .
-* To unset controller configs, you may either `Remove All Added App Entries` from global settings (this deletes all SRM made changes to your steam data) or hit `Unset All Controllers` in the parser (this only removes controller settings for the steam directory and user specified in that parser).
+* Per reimpostare la configurazione del controller, puoi `Rimuovere tutte le Inserzioni aggiunte all'App` dalle impostazioni globali (questo elimina tutti i cambiamenti fatti da SRM dai tuoi dati di steam) o premere `Unset All Controllers` nel parser (questo rimuove solo le impostazioni del controller per la cartella di steam e specificata dall'utente in quel parser).
-Once this is done you can generate and save the preview as usual, and the template will be applied to all the titles in the parser.
+Una volta che questo è fatto si può analizzare e aggiungere giochi a vapore come al solito e i template saranno applicati a tutti i titoli del parser.
diff --git a/src/lang/it-IT/markdown/default-image.md b/src/lang/it-IT/markdown/default-image.md
index 47e3f9261e..cfe39181a2 100644
--- a/src/lang/it-IT/markdown/default-image.md
+++ b/src/lang/it-IT/markdown/default-image.md
@@ -1,13 +1,13 @@
-# Default image (optional) `[supports variables]`{.noWrap}
+# Default image `[supports variables]`{.noWrap}
-Allows one to use an image, stored locally, as a default/fallback image. A [special glob input](#special-glob-input) string is used to retrieve images. Only the first retrieved image is used.
+Consente di utilizzare un'immagine memorizzata localmente, come immagine predefinita/di fallback. Una stringa [speciale di input glob](#special-glob-input) viene utilizzata per recuperare le immagini. Viene utilizzata solo la prima immagine recuperata.
-This image will be shown **only** if there are no other images available. If Steam image is available, you will be able to choose from Steam and this image.
+Questa immagine verrà mostrata **solo** se non ci sono altre immagini disponibili. Se l'immagine Steam è disponibile, sarà possibile scegliere tra quella di Steam e questa immagine.
-## Allowed image extensions
+## Estensioni di file consentite
-Only `JPEG`{.noWrap}, `JPG`{.noWrap}, `PNG`{.noWrap} and `TGA`{.noWrap} file extensions are supported. Even if parser finds files with other extensions, they are not included into the final list.
+Solo le estensioni di file `JPEG`{.noWrap}, `JPG`{.noWrap}, `PNG`{.noWrap} e `TGA`{.noWrap} sono supportate. Anche se parser trova file con altre estensioni, non saranno inclusi nell'elenco finale.
-## Can you move the directory of default image after saving app list?
+## Posso spostare la cartella dell'immagine di default dopo aver salvato la lista delle app?
-Yes, once the list is saved, default image is copied to a Steam directory where they are renamed to match Steam's APP ID.
+Sì, una volta salvata la lista, l'immagine predefinita viene copiata in una directory Steam dove viene rinominata per corrispondere all'APP ID di Steam.
diff --git a/src/lang/it-IT/markdown/ea-desktop-parser-input.md b/src/lang/it-IT/markdown/ea-desktop-parser-input.md
index 7990efb5b5..903b819fcc 100644
--- a/src/lang/it-IT/markdown/ea-desktop-parser-input.md
+++ b/src/lang/it-IT/markdown/ea-desktop-parser-input.md
@@ -1,9 +1,9 @@
-# EA Desktop Parser specific inputs
+# EA Desktop Parser Specific Inputs
-## EA Games Directory Override
-By default Steam ROM Manager assumes your `EA Desktop` games are installed at ``C:\Program Files\EA Games\`. This field allows you to change that to wherever your games are installed, e.g.``D:\Games\EA Games`.
+## Sovrascrittura Cartella EA Games
+Per impostazione predefinita, Steam ROM Manager assume che i tuoi giochi `EA Desktop` siano installati in `` C:\Program Files\EA Games\`0>. Questo campo ti permette di modificarlo ovunque i tuoi giochi siano installati, ad esempio <0>D:\Games\EA Games\` ``.
-## Launch Games Via EA Desktop
-If enabled SRM will add a shortcut to `origin2://game/launch/?offerIds=${gameid}` instead of just the game's executable. This ensures the game launches via EA and will have access to online services.
+## Avvia Giochi tramite EA Desktop
+Se abilitato SRM aggiungerà una scorciatoia a `origin2://game/launch/?offerIds=${gameid}` invece che solo l'eseguibile del gioco. Questo garantisce il lancio del gioco tramite EA e avrà accesso ai servizi online.
-`This is required to add EA Play games. EA Play games will not be detected if this is not toggled on.`
+`Ciò è necessario per aggiungere giochi EA Play. I giochi EA Play non verranno rilevati se non è attivato.`
diff --git a/src/lang/it-IT/markdown/ea-desktop-parser.md b/src/lang/it-IT/markdown/ea-desktop-parser.md
index 7c54b483bf..e404ef16a4 100644
--- a/src/lang/it-IT/markdown/ea-desktop-parser.md
+++ b/src/lang/it-IT/markdown/ea-desktop-parser.md
@@ -1,3 +1,3 @@
# EA Desktop Parser
-This parser imports games from the `EA Desktop` app, so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because EA has altered the structure of their xml files, in which case please let the developers of SRM know and we will resolve the issue.
+Questo parser importa giochi dall' `EA Desktop` app, così che gli artwork possano essere scelti per loro ed essere aggiunti a Steam. Se cioò non funziona è perche EA ha modificato la struttura dei loro file xml, in tal caso si prega di avvisare gli sviluppatori di SRM cosicché risolvano il problema.
diff --git a/src/lang/it-IT/markdown/empty-parser-type.md b/src/lang/it-IT/markdown/empty-parser-type.md
index fe777dacbb..c3e12ecbe7 100644
--- a/src/lang/it-IT/markdown/empty-parser-type.md
+++ b/src/lang/it-IT/markdown/empty-parser-type.md
@@ -1,5 +1,5 @@
-# Parser type
+# Tipo di Parser
-Select a parser which will be used to do parsing. Once the parser is selected, you'll see more detailed information.
+Seleziona un parser che verrà usato per analizzare. Una volta selezionato il parser, vedrai informazioni più dettagliate.
-**Configurations without parser types will not save, and will not be reloaded if you exit out of SRM.**
+**Le configurazioni senza i tipi di analizzatore non verranno salvate e non verranno ricaricate se esci da SRM.**
diff --git a/src/lang/it-IT/markdown/epic-parser-input.md b/src/lang/it-IT/markdown/epic-parser-input.md
index 3e8e07d69a..d52d5e1cd3 100644
--- a/src/lang/it-IT/markdown/epic-parser-input.md
+++ b/src/lang/it-IT/markdown/epic-parser-input.md
@@ -1,11 +1,11 @@
-# Epic Games Store specific inputs
+# Input specifici per l'Epic Games Store
-## Manifests Directory Override
+## Sovrascrittura della Cartella Manifests
-Most users shouldn't use this, as they use the standard `Epic Games Store` installation where the game manifests will be located in, for example on Windows, `C:\ProgramData\Epic\EpicGamesLauncher\Data\Manifests`.
+La maggior parte degli utenti non dovrebbero usare questa opzione, in quanto utilizzano l'installazione standard `Epic Games Store` dove si trovaranno i manifests del gioco, ad esempio su Windows, `C:\ProgramData\Epic\EpicGamesLauncher\Data\Manifests`.
-If, however, for some reason your manifests directory is located in a non-typical location then you can specify the correct manifests directory here.
+Se, tuttavia, per qualche motivo, la cartella manifests si trova in una posizione non tipica, allora qui puoi specificare la cartella manifests corretta.
-## Launch Via Epic Games Store `[Recommend enabled]`
+## Esegui tramite Epic Games Store `[Abilitazione Raccomandata]`
-If you don't launch via the `Epic Games Store` you will not have access to Epic's online services in game. This toggle lets you set whether games will launch via the Epic Games Store or directly.
+Questa opzione ti permette d'impostare se i giochi verranno avviati attraverso l'Epic Games Store o direttamente. Se non avvii attraverso l' `Epic Games Store` non avrai accesso ai servizi online di Epic in gioco.
diff --git a/src/lang/it-IT/markdown/epic-parser.md b/src/lang/it-IT/markdown/epic-parser.md
index 9ac48fb419..4cfc0eaa92 100644
--- a/src/lang/it-IT/markdown/epic-parser.md
+++ b/src/lang/it-IT/markdown/epic-parser.md
@@ -1,12 +1,12 @@
-# Epic Games Parser
+# Analizzatore di Epic Games
-This parser imports games from the [Epic Games Store](https://store.epicgames.com/en-US/) so that artwork can be chosen for them and they can be added into Steam.
+Questo parser importa giochi dall' [Epic Games Store](https://store.epicgames.com/en-US/) app, così che gli artwork possano essere scelti per loro ed essere aggiunti a Steam.
-If it doesn't work it is because Epic has altered the structure of their game manifests, in this case please let the developers of SRM know and we will resolve the issue.
+Se cioò non funziona è perche Epic ha modificato la struttura dei loro manifest giochi, in tal caso si prega di avvisare gli sviluppatori di SRM cosicché risolvano il problema.
-In order for this parser to work with the open source Epic alternative [Legendary](https://github.com/derrod/legendary), [EGL sync must be enabled in Legendary](https://github.com/derrod/legendary/discussions/276#discussioncomment-709748) (this creates the appropriate files for the parser to read, and does not require the `Epic Games Store` to be installed).
+Affinché questo parse funzioni con l'alternativa open source ad Epic [Legendary](https://github.com/derrod/legendary), [la sincronizzazione EGL deve essere abilitata in Legendary](https://github.com/derrod/legendary/discussions/276#discussioncomment-709748) (ciò crea i file appropriati per l'analisi del parser, e non richiede che l'`Epic Games Store` sia installato).
-That said, there is also a `Legendary` parser in SRM which works right out of the box.
+Detto questo, c'è anche un parser `Legendary` in SRM che funziona proprio direttamente.
-## Compatibility
-This parser is currently functional on `Windows` and `Mac OS` systems only. On `Mac OS` it is not possible to launch from the Epic Store, so that toggle should remain disabled.
+## Compatibilità
+Questo parser attualmente funziona solo su sistemi `Windows` e `Mac OS`. Su `Mac OS` non è possibile avviare da Epic Store, quindi il toggle dovrebbe rimanere disabilitato.
diff --git a/src/lang/it-IT/markdown/executable-arguments.md b/src/lang/it-IT/markdown/executable-arguments.md
index 8b5121722a..3eb9708e2c 100644
--- a/src/lang/it-IT/markdown/executable-arguments.md
+++ b/src/lang/it-IT/markdown/executable-arguments.md
@@ -1,82 +1,82 @@
-# Command line arguments (optional) `[supports variables]`{.noWrap}
+# Command line arguments `[supports variables]`{.noWrap}
-Arguments which are appended to executable to produce final shortcut. Most of the time you will want to set it using provided parser variables.
+. .
-## Examples By System
+##
### RetroArch
```
--L cores${/}YOUR_CORE.dll "${filePath}"
+-L core${/}YOUR_CORE.dll "${filePath}"
```
-### Cemu (WiiU)
+###
```
-f -g "${filePath}"
```
-### Dolphin Emu (Gamecube and Wii)
+###
```
---exec="${filePath}" --batch --confirm=false
+
```
-### Project64 2.3+ (N64)
+###
```
-"${filePath}"
+
```
-### Mupen64+ (N64)
+###
```
---fullscreen "${filePath}"
+
```
-### DeSmuME (Nintendo DS)
+###
```
-"${filePath}"
+
```
-### mGBA (Gameboy, Gameboy Color, and Gameboy Advance)
+###
```
--f "${filePath}"
+
```
-### Nestopia (NES/Famicom)
+###
```
-"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
+
```
-### higan (NES/Famicom, SNES/Famicom, Gameboy, Gameboy Color, Gameboy Advance)
+###
```
-"${filePath}"
+
```
-### nullDC (Sega Dreamcast)
+###
```
--config nullDC_GUI:Fullscreen=1 -config ImageReader:DefaultImage="${filePath}"
+
```
-### Kega Fusion (Sega Genesis and Sega 32X)
+###
```
-"${filePath}" -gen -auto -fullscreen
+
```
-### RPCS3 (Sony Playstation 3)
+###
```
-"${filePath}"
+
```
-### PCSX2 (Sony Playstation 2)
+###
```
--fullscreen --nogui "${filePath}"
@@ -126,13 +126,13 @@ This setting is used to influence Steam's APP ID.
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -187,6 +187,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -196,7 +197,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/it-IT/markdown/executable-location.md b/src/lang/it-IT/markdown/executable-location.md
index b13f57494f..ffa0785b6c 100644
--- a/src/lang/it-IT/markdown/executable-location.md
+++ b/src/lang/it-IT/markdown/executable-location.md
@@ -1,11 +1,13 @@
-# Executable (optional) `[supports environment variables]`
+# Executable `[supports env variables]`
-Path to emulator's executable. Can be a file or any valid system path.
+Percorso all'eseguibile dell'emulatore. Può essere un file o qualsiasi percorso di sistema valido.
-## Why optional?
+## Perché facoltativo?
-In some cases you might want to run game from a some kind batch file which will also automatically run the emulator itself. If that is the case, then providing executable is unnecessary.
+In alcuni casi si potrebbe voler avviare il gioco da un tipo di file batch che avvierà anche automaticamente l'emulatore stesso. Se questo è il caso, allora fornire eseguibile è inutile.
-### So, how do I add files to Steam without default executable?
+The final shortcut will just be `"${filePath}" --command-line-args`.
-All files retrieved by a parser will be treated as executables instead.
+### Quindi, come posso aggiungere file a Steam senza eseguibile predefinito?
+
+Tutti i file recuperati da un parser saranno invece trattati come eseguibili.
diff --git a/src/lang/it-IT/markdown/executable-modifier.md b/src/lang/it-IT/markdown/executable-modifier.md
index c3c5739e86..2131f6964d 100644
--- a/src/lang/it-IT/markdown/executable-modifier.md
+++ b/src/lang/it-IT/markdown/executable-modifier.md
@@ -1,102 +1,23 @@
# Executable modifier `[supports variables]`{.noWrap}
-Default value is `"${exePath}"`{.noWrap}. This setting can be used to prepend or append desired characters to an executable which will be added to Steam (`Target` property). For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you can add `"cmd" /k start /min` to it by setting value to:
+Defaults to `"${exePath}"`{.noWrap} if unset. This field can be used to prepend or append desired characters to the executable which will be added to the Steam shortcut's `Target` property. For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you could start `Retroarch` minimized by setting the `Executable Modifier` "cmd" to:
+
```
"cmd" /k start /min "${exePath}"
```
-You can use any other variable to construct the final executable.
-
-This setting influences Steam's APP ID.
-
-
-## Shortcut Passthrough
-If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the target of that shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser.
-
-## Directory variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
-
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
-
-## Name variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------------------------------- |
-| `${exeName}` | Name of executable (without extension) |
-| `${fileName}` | Name of file which was returned by a parser (without extension) |
-
-In case executable directory input is left **empty**, `${exeName}`{.noWrap} is equal to `${fileName}`{.noWrap}.
-
-## Extension variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------------------- |
-| `${exeExt}` | Extension of executable (with a dot) |
-| `${fileExt}` | Extension of file which was returned by a parser (with a dot) |
-In case executable directory input is left **empty**, `${exeExt}`{.noWrap} is equal to `${fileExt}`{.noWrap}.
+In this case the `Target` property would begin with:
-## Path variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:-------------------------------------------------- |
-| `${exePath}` | Full path to an executable |
-| `${filePath}` | Full path to a file which was returned by a parser |
-
-In case executable directory input is left **empty**, `${exePath}`{.noWrap} is equal to `${filePath}`{.noWrap}.
-
-## Parser variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------ |
-| `${title}` | Extracted title |
-| `${fuzzyTitle}` | Fuzzy matched title |
-| `${finalTitle}` | Title which was the end result of title modifier |
-
-In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
+```
+"cmd" /k start /min "C:\RetroArch\retroarch.exe"
+```
-## Function variables
+followed by whatever launch arguments you choose in the `Command Line Arguments` field.
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+You can use any other variable to construct the final executable.
-### Function variable example
+This setting influences Steam's APP ID.
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
-```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
-```
-will be replaced with these:
-```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+## Shortcut Passthrough
---On linux:
-file.so
---On Windows:
-file.dll
---On Mac OS:
-file
-```
+If you enable `Follow .lnk/.desktop to destination` and the glob search finds a `.lnk` or `.desktop` file, ie a shortcut, then the `${filePath}` variable will contain the target of the shortcut rather than the path to the shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the `Command Line Arguments` field in the parser.
diff --git a/src/lang/it-IT/markdown/glob-parser-input.md b/src/lang/it-IT/markdown/glob-parser-input.md
index 996ae77ce1..2a43592892 100644
--- a/src/lang/it-IT/markdown/glob-parser-input.md
+++ b/src/lang/it-IT/markdown/glob-parser-input.md
@@ -1,4 +1,4 @@
-# Glob Parser specific inputs
+# Glob Parser Specific Inputs
## User's glob
diff --git a/src/lang/it-IT/markdown/glob-parser.md b/src/lang/it-IT/markdown/glob-parser.md
index db10236176..8b55f05ddc 100644
--- a/src/lang/it-IT/markdown/glob-parser.md
+++ b/src/lang/it-IT/markdown/glob-parser.md
@@ -1,5 +1,5 @@
# Glob Parser
-A glob based path parser used to extract title from a file path.
+Un analizzatore di percorsi basato su glob è usato per estrarre il titolo da un percorso di file.
-If your ROMs Directory (eg. `D:\ROMS`) contains `Donkey Kong.gba`,`Super Mario.gba`, and `Sonic.gba` then the glob `${title}.gba` will find titles `Donkey Kong`, `Super Mario`, and `Sonic`.
+Se la tua cartella ROM (ad esempio `D:\ROMS`) contiene `Donkey Kong.gba`,`Super Mario.gba` e `Sonic.gba` allora il glob `${title}.gba` troverà i titoli `Donkey Kong`, `Super Mario` e `Sonic`.
diff --git a/src/lang/it-IT/markdown/glob-regex-parser-input.md b/src/lang/it-IT/markdown/glob-regex-parser-input.md
index 22c1f5cea6..6491148a25 100644
--- a/src/lang/it-IT/markdown/glob-regex-parser-input.md
+++ b/src/lang/it-IT/markdown/glob-regex-parser-input.md
@@ -1,4 +1,4 @@
-# Glob-regex Parser specific inputs
+# Glob-regex Parser Specific Inputs
## User's glob-regex
@@ -6,7 +6,7 @@ This is where you create your glob for extracting title from file path. Please r
## How does it work?
-In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
+In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
| User's glob | Position |
| --------------------- | --------------------------- |
diff --git a/src/lang/it-IT/markdown/glob-regex-parser.md b/src/lang/it-IT/markdown/glob-regex-parser.md
index 80ee4ee6dd..6e31cf9058 100644
--- a/src/lang/it-IT/markdown/glob-regex-parser.md
+++ b/src/lang/it-IT/markdown/glob-regex-parser.md
@@ -1,3 +1,3 @@
-# Glob-regex Parser
+# Parser Glob-regex
-A glob based path parser used to extract title from a file path. Furthermore, a regular expression can be used to modify title even further. This is meant to be used when a simple "Glob" parser is not enough.
+Un analizzatore di percorsi basato su glob è usato per estrarre il titolo da un percorso di file. Inoltre, un'espressione regolare può essere usata per modificare ulteriormente il titolo. È necessario usarla quando un semplice parser "Glob" non basta.
diff --git a/src/lang/it-IT/markdown/gog-parser-input.md b/src/lang/it-IT/markdown/gog-parser-input.md
index 756fa3de77..bf185f2c23 100644
--- a/src/lang/it-IT/markdown/gog-parser-input.md
+++ b/src/lang/it-IT/markdown/gog-parser-input.md
@@ -1,10 +1,20 @@
-# Unique inputs for GOG Galaxy Parser
+# GOG Galaxy Parser Specific Inputs
## Galaxy Path Override
-By default Steam ROM Manager assumes your Galaxy Client is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe`. This field allows you to override that path if your GOG Galaxy installation is elsewhere.
-This field is actually only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of the Galaxy Client.
+By default Steam ROM Manager assumes your GOG Galaxy executable is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe` on Windows and `/Applications/GOG Galaxy.app/Contents/MacOS/GOG Galaxy` on Mac. This field allows you to override that path if your GOG Galaxy executable is elsewhere.
-## Launch Via GOG Galaxy `[Recommend disabled]`
+Specifying the correct location of GOG Galaxy's executable is only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of GOG Galaxy's executable.
-What it sounds like, this toggle let's you set whether games will launch via GOG Galaxy or directly. Note that for some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+## Launch via GOG Galaxy `[Recommend disabled]`
+
+What it sounds like, this toggle determines whether games launch via GOG Galaxy or directly. For some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+
+## Parse Linked Executables from GOG Galaxy
+
+If enabled, SRM will pull in not only GOG games aquired from GOG Galaxy's store, but also those you have manually linked executables for in GOG Galaxy. This is desirable if those games are not being parsed into SRM elsewhere.
+
+A caveat is that because GOG Galaxy does not store the names linked executables in its database, SRM will use the directory name of the executable on Windows (e.g. `C:\\path\\to\\Hoa\\LaunchHoa.exe` would be assigned the title `Hoa`) and the executable name on Mac (e.g. `/Applications/Symphonia.app` would be assigned the title `Symphonia`).
+
+## Parse using Registry instead of Galaxy DB `[Windows only] [Recommend disabled]`
+This option will parse the Windows Registry for installed GOG games instead of GOG Galaxy's SQL database, allowing the parser to work even if GOG Galaxy is not installed. If this is enabled, `Parse Linked Executables` will of have no effect, but `Launch via GOG Galaxy` will work as normal.
\ No newline at end of file
diff --git a/src/lang/it-IT/markdown/gog-parser.md b/src/lang/it-IT/markdown/gog-parser.md
index 68ca9157cc..f9d04cdb69 100644
--- a/src/lang/it-IT/markdown/gog-parser.md
+++ b/src/lang/it-IT/markdown/gog-parser.md
@@ -1,7 +1,7 @@
-# GOG Galaxy Parser
+# Parser di GOG Galaxy
-This parser imports games from `GOG Galaxy` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because GOG Galaxy has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
+Questo parser importa giochi da `GOG Galaxy`, così che gli artwork possano essere scelti per loro ed essere aggiunti a Steam. Se ciò non funziona è perché probabilmente GOG Galaxy ha modificato la struttura del loro database di giochi, in tal caso si prega di avvisare gli sviluppatori di SRM cosicché risolvano il problema.
-## Compatibility
+## Compatibilità
-This parser is currently functional on `Windows` systems only.
+Questo parser attualmente funziona solo su sistemi `Windows`.
diff --git a/src/lang/it-IT/markdown/image-pool.md b/src/lang/it-IT/markdown/image-pool.md
index 8b54cf72d9..0b4e4a94fb 100644
--- a/src/lang/it-IT/markdown/image-pool.md
+++ b/src/lang/it-IT/markdown/image-pool.md
@@ -1,3 +1,5 @@
-# Image pool `[supports variables]`{.noWrap}
+# Artwork pool `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting is used to allow different apps share the same images -- same "image pool", or allow unique image pool per app. To use unique image pool per app just set it to something unique. For example `${fuzzyTitle} SNES`{.noWrap}.
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset.
+
+This field is used to allow games from different parsers to share the same images (i.e. the same "image pool") if they have the same title. If you want different parsers not to share images for games with the same title, just set this field to something unique, for example `${fuzzyTitle} SNES`{.noWrap} or `${fuzzyTitle} ${parserTitle}`{.noWrap}.
diff --git a/src/lang/it-IT/markdown/image-providers.md b/src/lang/it-IT/markdown/image-providers.md
index 0b778780c6..f70a9275f6 100644
--- a/src/lang/it-IT/markdown/image-providers.md
+++ b/src/lang/it-IT/markdown/image-providers.md
@@ -1,7 +1,7 @@
-# Image providers
+# Artwork providers
-Here you can select image providers that are used to retrieve images. This option is for this configuration only.
+Here you can select artwork providers (online sources of game art) that are used by SRM to get art for your games.
## Similar option in "Settings" menu
-Settings menu has "Enabled providers" which enable image providers globally -- if it's not enabled in Settings, it won't work.
+Settings menu has "Enabled providers" which enable artwork providers globally -- if it's not enabled in Settings, it won't work.
diff --git a/src/lang/it-IT/markdown/intro.md b/src/lang/it-IT/markdown/intro.md
index f8d5fcabda..2a3a9f435d 100644
--- a/src/lang/it-IT/markdown/intro.md
+++ b/src/lang/it-IT/markdown/intro.md
@@ -1,6 +1,6 @@
-# Welcome to parser configuration!
+# Benvenuto nella configurazione del parser!
-Configuring a parser might look overwhelming at first, but it is easier than you think. If you are lost, click on near option label to see related information which might be useful for you.
+Configurare un parser potrebbe sembrare travolgente in un primo momento, ma è più facile di quanto pensi. If you are lost, click on near option label to see related information which might be useful for you.
Also, don't forget to check FAQ. If you still got questions about setting up configuration, visit our official SRM group at [Steam](http://steamcommunity.com/groups/steamrommanager) or our official [Discord](https://discord.gg/bnSVJrz) group.
@@ -8,8 +8,8 @@ Also, don't forget to check FAQ. If you still got questions about setting up con
After saving parser configuration, **1** of **3** colors will be shown next to its title:
- -- Enabled configuration. This configuration will be used when generating a list in **preview** page.
+ -- Enabled configuration. This configuration will be used when generating a list in **Add Games** page.
- -- Unsaved changes. This configuration will not be used when generating a list in **preview** page, however earlier **saved** version will be used instead.
+ -- Unsaved changes. This configuration will not be used when generating a list in **Add Games** page, however earlier **saved** version will be used instead.
- -- Disabled configuration. This configuration will not be used when generating a list in **preview** page.
\ No newline at end of file
+ -- Disabled configuration. This configuration will not be used when generating a list in **Add Games** page.
\ No newline at end of file
diff --git a/src/lang/it-IT/markdown/itch-io-parser-input.md b/src/lang/it-IT/markdown/itch-io-parser-input.md
index 4b0057c170..ffa409af96 100644
--- a/src/lang/it-IT/markdown/itch-io-parser-input.md
+++ b/src/lang/it-IT/markdown/itch-io-parser-input.md
@@ -1,4 +1,4 @@
-# itch.io Parser specific inputs
+# itch.io Parser Specific Inputs
## itch.io AppData Path Override
By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere.
diff --git a/src/lang/it-IT/markdown/itch-io-parser.md b/src/lang/it-IT/markdown/itch-io-parser.md
index 7f29ffc42d..accb8b5ad2 100644
--- a/src/lang/it-IT/markdown/itch-io-parser.md
+++ b/src/lang/it-IT/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
# itch.io Parser
-This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/it-IT/markdown/legendary-parser-input.md b/src/lang/it-IT/markdown/legendary-parser-input.md
index 80ca0bcbbc..4a826e43da 100644
--- a/src/lang/it-IT/markdown/legendary-parser-input.md
+++ b/src/lang/it-IT/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
-# Legendary Parser specific inputs
+# Legendary Parser Specific Inputs
+
+## Legendary Path Override
+
+By default Steam ROM Manager uses `(Get-Command legendary).Path` on Windows and `which legendary` on Linux and Mac to determine the location of your Legendary executable. This field allows you to override that path.
+
+Specifying the correct location of the Legendary executable is only necessary if you enable launch via Legendary (see below), as otherwise SRM has no need of the location of Legendary's executable.
## Legendary `installed.json` Path Override
Most users shouldn't use this, as they use the standard `Legendary` installation where installed games manifest will be located at `~/.config/legendary/installed.json`.
If, however, for some reason your installed games manifest is located in a non-typical location then you can specify the correct manifest path here.
+
+## Launch via Legendary `[Recommend enabled]`
+
+What it sounds like, this toggle determines whether games launch via Legendary or directly. Launching via Legendary provides access to Epic's online services.
diff --git a/src/lang/it-IT/markdown/local-images.md b/src/lang/it-IT/markdown/local-images.md
index cff60e5674..5da2e5ae4c 100644
--- a/src/lang/it-IT/markdown/local-images.md
+++ b/src/lang/it-IT/markdown/local-images.md
@@ -1,4 +1,4 @@
-# Local images (optional) `[supports variables]`{.noWrap}
+# Local images `[supports variables]`{.noWrap}
Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
diff --git a/src/lang/it-IT/markdown/logger.md b/src/lang/it-IT/markdown/logger.md
index 150ae0383f..4706cc9bfc 100644
--- a/src/lang/it-IT/markdown/logger.md
+++ b/src/lang/it-IT/markdown/logger.md
@@ -1,13 +1,13 @@
-Submitting a report will upload:
+Inviando un report verrà caricato:
-* Your entire SRM configuration (parsers, exceptions, etc).
-* The contents of the `Event Log`.
-* The Steam VDF files that SRM modifies `[Optional]`.
+* L'intera configurazione di SRM (parser, eccezioni, ecc.).
+* I contenuti del `Log Eventi`.
+* I file VDF di Steam che SRM modifica `[Opzionale]`.
-After submitting a report you can:
+Dopo aver inviato un report puoi:
-* View the report by entering the `Report ID` into the [Logs Server](https://logs.jozen.blue).
-* DM the `Report ID` to person helping you on the [SRM Discord](https://discord.gg/bnSVJrz).
-* Delete the report from the [Logs Server](https://logs.jozen.blue) by entering the `Delete Key` instead.
+* Visualizzare il report inserendo il `Report ID` nel [Log Server](https://logs.jozen.blue).
+* DM il `Report ID` alla persona che ti sta aiutando sul [Discord di SRM](https://discord.gg/bnSVJrz).
+* Eliminare il report dal [Logs Server](https://logs.jozen.blue) inserendo la `Delete Key`.
-*Anyone with the `Report ID` has full access to your issue report and its attached data!*
+*Chiunque in possesso del `Report ID` ha pieno accesso al tuo report e ai suoi dati allegati!*
diff --git a/src/lang/it-IT/markdown/manual-parser-input.md b/src/lang/it-IT/markdown/manual-parser-input.md
index bc1848d45a..65265ebd32 100644
--- a/src/lang/it-IT/markdown/manual-parser-input.md
+++ b/src/lang/it-IT/markdown/manual-parser-input.md
@@ -1,4 +1,4 @@
-# Manual Parser specific inputs
+# Manual Parser Specific Inputs
## Manifests Directory `[Supports Environment Variables]`{.noWrap}
@@ -17,7 +17,8 @@ The names of the files do not matter. What does matter is that each `manifest.js
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args",
+ "appendArgsToExecutable": false
}
```
Or a list of titles, like so:
@@ -27,15 +28,19 @@ Or a list of titles, like so:
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args".
+ "appendArgsToExecutable": true
},
{
"title": "gameTitle2",
"target": "game2/path/target.sh",
"startIn": "game2/path",
- "launchOptions": "--args2"
+ "launchOptions": "--args2",
+ "appendArgsToExecutable": false
}
]
```
A typical use case would be to use a single json file per game type, or per year, etc.
+
+Just like for ROM parsers, `appendArgsToExecutable` determines whether `launchOptions` are appended to the shortcut `target` or appear separately as launch options in steam.
diff --git a/src/lang/it-IT/markdown/manual-parser.md b/src/lang/it-IT/markdown/manual-parser.md
index fb64b82e09..2cdf065521 100644
--- a/src/lang/it-IT/markdown/manual-parser.md
+++ b/src/lang/it-IT/markdown/manual-parser.md
@@ -1,3 +1,3 @@
# Manual Parser
-This parser is able to turn json files into steam shortcuts. It is useful for the creation of manual shortcuts to applications in Linux (in Windows the shortcut preset may be used instead to parse a directory of `.lnk` files).
+Questo parser è in grado di trasformare i file json in scorciatoie di Steam. È utile per la creazione di scorciatoie manuali per applicazioni in Linux (in Windows la scorciatoia preset può essere utilizzata invece per analizzare una cartella di file `.lnk`).
diff --git a/src/lang/it-IT/markdown/non-srm-shortcuts-parser.md b/src/lang/it-IT/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..4485008a1a
--- /dev/null
+++ b/src/lang/it-IT/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,29 @@
+# Non-SRM Shortcut Parser
+
+This parser imports non SRM steam shortcuts into SRM so their artowrk can be managed. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
+
+## User accounts
+
+Used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
+
+```
+${...}
+```
+
+You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
+
+ {.fitImage .center}
+
+For example, this is how you specify account for "Banana" and "Apple":
+
+```
+${Banana}${Apple}
+```
+
+You can also limit accounts by specifying their ids directly. For example:
+
+```
+${56489124}${21987424}
+```
+
+Would limit the search to `steam/userdata/56489124` and `steam/userdata/21987424`.
diff --git a/src/lang/it-IT/markdown/parser-env-variables.md b/src/lang/it-IT/markdown/parser-env-variables.md
index 3b186a70f7..e95baf9137 100644
--- a/src/lang/it-IT/markdown/parser-env-variables.md
+++ b/src/lang/it-IT/markdown/parser-env-variables.md
@@ -13,3 +13,5 @@ These variables are pre parsed and can be used even in the Rom Directory, Steam
The utility of the environment variable `${srmdir}` is to make SRM fully portable, eg if you wanted to have the directory layout `D:\Games\Roms` and `D:\Games\PortableSRM\SRM.exe` then setting the field Roms Directory to be `${srmdir}${/}..${/}Roms` would allow you to move the Games directory somewhere else without breaking your setup.
+
+Function variables can also be used in fields that permit environment variables (e.g. `${os:win|C:\path\to\startdir|${os:linux|/path/to/startdir}}`)
diff --git a/src/lang/it-IT/markdown/parser-variables.md b/src/lang/it-IT/markdown/parser-variables.md
index 7e9eb636ff..7c164a55bc 100644
--- a/src/lang/it-IT/markdown/parser-variables.md
+++ b/src/lang/it-IT/markdown/parser-variables.md
@@ -4,13 +4,13 @@ Here are tables of variables that can be used with options that have `[supports
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -48,6 +48,7 @@ In case executable directory input is left **empty**, `${exePath}`{.noWrap} is e
| `${title}` | Extracted title |
| `${fuzzyTitle}` | Fuzzy matched title |
| `${finalTitle}` | Title which was the end result of title modifier |
+| `${parserTitle}` | The value of the `Parser Title` field |
In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
@@ -65,6 +66,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -74,7 +76,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/it-IT/markdown/parsers-list.md b/src/lang/it-IT/markdown/parsers-list.md
index 1e5e43f80f..6ab3846611 100644
--- a/src/lang/it-IT/markdown/parsers-list.md
+++ b/src/lang/it-IT/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# Parsers
-In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**
diff --git a/src/lang/it-IT/markdown/rom-directory.md b/src/lang/it-IT/markdown/rom-directory.md
index 555452224f..461724af6a 100644
--- a/src/lang/it-IT/markdown/rom-directory.md
+++ b/src/lang/it-IT/markdown/rom-directory.md
@@ -1,3 +1,3 @@
-# ROMs directory `[supports environment variables]`
+# ROMs directory `[supports env variables]`
-Starting directory for game or app files.
+Cartella di partenza per file di gioco o di applicativi.
diff --git a/src/lang/it-IT/markdown/settings.md b/src/lang/it-IT/markdown/settings.md
index c35d49e806..a8ec216a07 100644
--- a/src/lang/it-IT/markdown/settings.md
+++ b/src/lang/it-IT/markdown/settings.md
@@ -1,31 +1,51 @@
-## General Settings
-### Offline mode `[Recommend disabled]`
-
-When enabled SRM makes no network requests, useful if you only want to use SRM for local images.
-### Automatically clear log before testing parsers `[Recommend enabled]`
-When enabled the log is cleared each time a parser is tested.
-### Show current steam images by default `[Recommend enabled]`
-When enabled this setting tells SRM to default to whatever artwork is currently in steam for a given app. If it is disabled, then every time SRM is run (and saved) all artwork will be reset.
-### Remove shortcuts for disabled parsers `[Recommend disabled]`
-When enabled disabling a parser and running SRM will remove all added entries and artwork for the disabled parser. Useful if you want your steam library to be in 1-1 correspondence with enabled parsers.
-
-## Fuzzy Matcher Settings
-### Log matching results `[Recommend disabled]`
-When enabled more verbose logs appear for the fuzzy title matcher in the `Event log`. Useful for debugging incorrect fuzzy matches.
-
-### Reset fuzzy list
-Resets the stored list of titles used for fuzzy matching to the list of titles returned by `SteamGridDB` (removes any user added titles).
-### Reset fuzzy cache
-Clears the cache of titles that fuzzy matching has already seen (try this if changes you make to fuzzy list are not resulting in changes to titles in SRM).
-
-## Image provider settings
-### Preload retrieved images `[Recommend disabled]`
-When enabled, SRM will pull all available artwork for every game, rather than pulling one piece of artwork at a time as the user flips through the images. Don't enable this unless you have a good reason and a very small library of games, otherwise it could result in very large (slow) network requests.
-### Enabled providers
-Global setting to disable certain providers. Currently the only image provider is `SteamGridDB` since ConsoleGrid and RetroGaming.cloud are defunct.
-
-## Community Variables and Presets
-### Force download custom variables.
-Resets the custom variables JSON file that is used for certain presets to whatever its current state is on the SRM github. Useful if the custom variables JSON file has been corrupted.
-### Force download custom presets.
-Resets the JSON files for parser presets to whatever is on the SRM github. Useful if your presets list is not automatically updating for some reason, or has become corrupted.
+## Impostazioni Generali
+### Check for updates on start `[Recommend enabled]`
+Check if an update for SRM is available and prompt to update each time SRM launches.
+### Auto kill Steam `[Recommend enabled]`
+SRM will attempt to kill all running instances of Steam whenever it needs to read/write collections information (specifically when saving to steam from `Add Games` and when removing all games from `Settings`).
+### Auto restart Steam `[Recommend enabled]`
+SRM will attempt to restart Steam after killing it and completing whatever collections related task required killing Steam in the first place. Requires `Auto kill Steam` to be enabled.
+### Modalità offline `[Disabilitazione Consigliata]`
+Quando è abilitato, SRM non effettua richieste di rete, utile se si desidera utilizzare SRM solo per le immagini locali.
+### Cancella automaticamente il log prima di testare i parser `[Abilitazione Consigliata]`
+Quando è abilitato, il log viene cancellato ogni volta che viene testato un parser.
+## Add Games
+### Mostra le attuali immagini di Steam di default `[Abilitazione Consigliata]`
+Quando abilitata, questa impostazione dice a SRM di preimpostare ad un qualsiasi artwork attualmente presente in Steam per una data app. Se è disabilitato, ogni volta che SRM viene eseguito (e salvato) tutti gli artwork verranno resettati.
+### Rimuovi le scorciatoie per i parser disabilitati `[Disabilitazione Consigliata]`
+Quando abilitato, la disabilitazione di un parser e l'esecuzione di SRM rimuoverà tutte le voci aggiunte e gli artwork aggiunti per il parser disabilitato. Utile se vuoi che la tua libreria di Steam sia in corrispondenza 1-1 con i parser abilitati.
+### Disable saving of steam categories `[Recommend disabled]`
+SRM will not write any collections information when saving to Steam. This allows SRM to perform its tasks while Steam is still running, at the obvious cost that added games will not be categorized.
+### Hide Steam username from Add Games
+Steam does not allow user's to alter their Steam usernames. In some cases (childish names, dead names, etc), users may no longer wish to see their Steam usernames. This setting hides it from `Add Games`.
+### Remove all added games and controllers
+Undo all SRM added changes from Steam.
+### Remove all controllers only
+Undo all SRM added controller settings from Steam.
+## Impostazioni Matcher Fuzzy
+### Log risultati corrispondenti `[Disabilitazione Consigliata]`
+Quando abilitato, appaiono log più verbosi per il matcher del titolo fuzzy nel `Log Eventi `. Utile per il debug di incorrette corrispondenze fuzzy.
+### Reset elenco fuzzy
+Reimposta l'elenco memorizzato di titoli usati per la corrispondenza fuzzy alla lista di titoli restituiti da `SteamGridDB` (rimuove qualsiasi titolo aggiunto dall'utente).
+### Reset cache fuzzy
+Pulisce la cache dei titoli che il matcher fuzzy ha già visto (prova se le modifiche apportate alla lista fuzzy non comportano modifiche ai titoli in SRM).
+## Impostazioni del provider immagini
+### Artwork loading strategy `[Recommend Load artwork lazily]`
+This is the strategy SRM uses to pull artwork thumbnails for the `Add Games` UI. If you are parsing a lot of games, `Load artwork lazily` is recommended. `Preload first artwork` will try to pull the first piece of artwork for each game in each artwork category, and `Preload all artwork` will try to pull all available artwork for each game in each artwork category. `Preload all artwork` will cause network and performance issues unless the number of games is quite small (less than `30` or so).
+### Abilita provider
+Global setting to enable/disable particular image providers. Current options are `SteamGridDB` and `Steam Official`.
+### DNS manual override
+Set this if you want SRM to do DNS resolution internally, as opposed to relying on your system's default DNS server. This solves many timeout issues on the Steam Deck.
+### Batch size for image downloads
+Number of images SRM will attempt to download at once when saving to Steam. May help to lower this if you are receiving timeout errors from SGDB.
+### Nuke artwork choice cache
+SRM attempts to remember your artwork choices, this button forcibly forgets all of them.
+### Nuke local artwork backups
+This deletes all artwork backups created for parsers with `Backup artwork locally` enabled.
+## Variabili comunitarie e Preset
+### Forza il download di variabili personalizzate.
+Reimposta il file JSON delle variabili personalizzate che è usato per alcuni preset a qualunque stato corrente si trovi sul github di SRM. Utile se il file JSON delle variabili personalizzate è stato corrotto.
+### Forza il download di preset personalizzati.
+Reimposta i file JSON per i preset di parser a qualsiasi cosa si trovi sul github di SRM. Utile se la tua lista di preset non si aggiorna automaticamente per qualche motivo, o è diventata corrotta.
+### Force download shell scripts
+Re fetches the shell scripts SRM uses to perform certain tasks.
diff --git a/src/lang/it-IT/markdown/sgdb-api-input.md b/src/lang/it-IT/markdown/sgdb-api-input.md
index 553f4fda77..7651927a64 100644
--- a/src/lang/it-IT/markdown/sgdb-api-input.md
+++ b/src/lang/it-IT/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
This set of options are direct inputs into the APIs of image providers, for example SteamGridDB's [API](https://www.steamgriddb.com/api/v2).
-An interesting quirk of these settings is that re-generating the preview (hitting the `Generate App List` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove App List` button in preview before hitting `Generate App List`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the preview with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
+An interesting quirk of these settings is that re-generating the game list in Add Games (hitting the `Refresh` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove from Steam` button in Add Games before hitting `Refresh`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the game list with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
## SteamGridDB
diff --git a/src/lang/it-IT/markdown/start-in-directory.md b/src/lang/it-IT/markdown/start-in-directory.md
index 86cf962c23..df84a987d5 100644
--- a/src/lang/it-IT/markdown/start-in-directory.md
+++ b/src/lang/it-IT/markdown/start-in-directory.md
@@ -1,6 +1,6 @@
-# "Start In" directory (optional) `[supports environment variables]`{.noWrap}
+# "Start In" directory `[supports env variables]`
-By default "Start In" directory is set to executable's directory:
+If `"Start In" Directory` is unset it defaults to the executable's directory. If not executable is set, it defaults to the directory of the ${filePath} variable:
 {.fitImage.center}
@@ -11,4 +11,5 @@ This option allows you to specify any directory you want as a "Start In" directo
It is useful when you're using batch files to start emulator and a game, but emulator requires a specific "Start In" directory to work properly.
## Shortcut Passthrough
+
If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the directory of the target of that shortcut. In the future, it will be overridden with the start in directory of that shortcut.
diff --git a/src/lang/it-IT/markdown/steam-category.md b/src/lang/it-IT/markdown/steam-category.md
index 079073dab9..f29813faff 100644
--- a/src/lang/it-IT/markdown/steam-category.md
+++ b/src/lang/it-IT/markdown/steam-category.md
@@ -1,21 +1,13 @@
-# Steam category (optional) `[supports variables]`{.noWrap}
+# Steam category`{.noWrap}
-Also known as "tags", can be used to group apps in Steam. In order to set Steam category, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify categories for "WII" and "GBA" (paired with "ROMS") category:
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
-This how "WII" category will look like in Steam:
+Hit the little plus sign to add your first category.
+
+Questo è come la categoria "WII" apparirà come in Steam:

-## Emojis and non-Standard Unicode Characters
-Please not that this field works just fine with emojis like `🎮` work just fine in category names.
+## Emoji e caratteri Unicode non standard
+
+Per favore nota che questo campo funziona con emoji come `🎮` nel nome della categoria.
-You can find a list of them here: [https://copychar.cc/](https://copychar.cc/)
+Puoi trovarne una lista qui: [https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/it-IT/markdown/steam-directory.md b/src/lang/it-IT/markdown/steam-directory.md
index b15010e819..8cee444c0a 100644
--- a/src/lang/it-IT/markdown/steam-directory.md
+++ b/src/lang/it-IT/markdown/steam-directory.md
@@ -1,7 +1,7 @@
-# Steam directory `[supports environment variables]`{.noWrap}
+# Steam directory `[supports env variables]`
-Must be a valid Steam directory which contains Steam executable. In order for Steam account to be detected, user must have logged in at least once.
+Deve essere una cartella di Steam valida che contiene l'eseguibile di Steam. Affinché l'account di Steam possa essere rilevato, l'utente deve aver effettuato l'accesso almeno una volta.
-## How do I limit edited Steam accounts?
+## Come limitare gli account di Steam modificati?
-Enable **Show advanced options** and check **User accounts** option.
+Abilita **Mostra le opzioni avanzate** e spunta l'opzione **Account utente**.
diff --git a/src/lang/it-IT/markdown/steam-parser-input.md b/src/lang/it-IT/markdown/steam-parser-input.md
index 75f21d380d..cc46c2797a 100644
--- a/src/lang/it-IT/markdown/steam-parser-input.md
+++ b/src/lang/it-IT/markdown/steam-parser-input.md
@@ -1,7 +1,7 @@
-# Steam Parser specific inputs
+# Steam Parser Specific Inputs
-## Find artwork for games only
-If enabled SRM will filter out any Steam applications that are not full games, such as demos and tools like `3DMark` or `Wallpaper Engine`.
+## Cerca artwork solo per i giochi
+Se abilitato, SRM filtrerà tutte le applicazioni Steam che non sono giochi completi, come demo e strumenti come `3DMark` o `Wallpaper Engine`.
-## Find artwork for installed titles only
-If enabled SRM will filter out any steam applications that are not currently installed locally. If you install or uninstall a game, you need to restart Steam before the updated install list will be available to SRM.
+## Cerca artwork solo per i titoli installati
+Se abilitato, SRM filtrerà tutte le applicazioni di Steam che non sono attualmente installate localmente. Se si installa o disinstalla un gioco, è necessario riavviare Steam prima che l'elenco di installazione aggiornato sia disponibile a SRM.
diff --git a/src/lang/it-IT/markdown/steam-parser.md b/src/lang/it-IT/markdown/steam-parser.md
index b158f676a8..5b93d8bc77 100644
--- a/src/lang/it-IT/markdown/steam-parser.md
+++ b/src/lang/it-IT/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Steam parser
-This parser imports steam games into SRM. It does not add shortcuts, but it allows you to set the artwork for your steam games. By default the parser will get games from all user accounts in the steam directory specified — if you would prefer to only get the games for a subset of the accounts then specify them in the `User accounts` field.
-
-## Limitations
-Unfortunately for the time being this parser only works for steam games **that are in at least one category**. The reason for this is that Steam only stores your full list of games locally if they are categorized. Sometimes, for unknown reasons, games will be stored locally regardless and the parser will work, but to be safe the easiest thing to do is just **create a Steam Category** that has all of your Steam games in it.
-
-## User accounts (Optional)
-
-Can be used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
-```
-${...}
-```
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
-
- {.fitImage.center}
-
-For example, this is how you specify account for "Banana" and "Apple":
-
-```
-${Banana}${Apple}
-```
-
-In case the [use account credentials](#what-does-use-account-credentials-do) is disabled, you can still limit accounts by specifying their ids directly:
-
-```
-${56489124}${21987424}
-```
-
-## What does "Skip found accounts with missing data directories" do?
-
-Sometimes Steam's file that contains logins, may contain users that do not have data directory created (might have been manually deleted, etc.). You can specify to skip those accounts by enabling this option.
-
-## What does "Use account credentials" do?
-
-Tries to look for account credentials in Steam directory. In other words -- username. Username then can be used to filter accounts without actually having to know their ids.
-
-### Warning!
-
-If Steam has credential saving disabled, this option will prevent finding user accounts.
+This parser imports steam games into SRM so you can manage their artwork. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
\ No newline at end of file
diff --git a/src/lang/it-IT/markdown/title-from-variable.md b/src/lang/it-IT/markdown/title-from-variable.md
index bb6e4a52a2..6aa467e98c 100644
--- a/src/lang/it-IT/markdown/title-from-variable.md
+++ b/src/lang/it-IT/markdown/title-from-variable.md
@@ -1,43 +1,40 @@
-# Title from custom variable (optional)
+# Title from custom variable
-Allows to overwrite extracted title with a custom variable. This is done right after title extraction, meaning that the replaced title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+Allows one to overwrite the extracted title with a custom variable, pulled from the `json` files described below. This happens right after title extraction, meaning that the new title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+
+Title matching is limited to specific groups of custom variables. For example, this is how you specify groups "FBN" and "PSN":
-Title matching can be limited to specific groups of custom variables. In order to specify groups, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify groups for "RPCS3" and "rpcs3":
```
-${RPCS3}${rpcs3}
+${RPCS3}${PSN}
```
-Make sure you **toggle enable to on**.
-
-
-## Case-insensitive option
-
-If this option is enabled, case-insensitive matching will be done and first matched custom variable will be used.
-
-## Note. This feature is **experimental**
+# How it works
-Basically, it might change in the future release (very unlikelly). Furthermore, currently the only way to add variables is to create/edit `customVariables.json` used by SRM directly.
+There are two variable files, `customVariables.json` which is maintained by SRM (don't change this one, your changes will be overwritten every time SRM restarts) and `userVariables.json` which is where you should put your own variables. Both files are located in SRM's `Config Directory`.
-This file is/shoud be located in SRM's `userData` directory.
-
-SRM will throw error unless the following JSON structure is used:
+Both `customVariables.json` and `userVariables.json` have the same JSON structure. SRM will throw an error unless the following JSON structure is used:
```
{
- "RPCS3": {
+ "Group1": {
"NPUB30698": "Catherine",
"NPUB30024": "1942: Joint Strike",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
+ "Group2": {
+ "The Legend Of Zelda": "The Legend Of Link",
+ ...
},
...
}
```
-Then if your user glob were `MyDir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `MyDir`, you would set the title from custom variable field to `${Custom Stuff}` to obtain a final title of "The Legend of Link".
+Then if your user glob were `romsdir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `romsdir`, you would set the title from custom variable field to `${Group2}` to obtain a title of "The Legend of Link".
+
+## Case-insensitive variables
+
+If enabled, case-insensitive matching will be done and first matched custom variable will be used.
+
+## Skip file if variable not found
+
+If enabled, titles that don't match a variable will be excluded.
diff --git a/src/lang/it-IT/markdown/title-modifier.md b/src/lang/it-IT/markdown/title-modifier.md
index 791e000e27..883622e06f 100644
--- a/src/lang/it-IT/markdown/title-modifier.md
+++ b/src/lang/it-IT/markdown/title-modifier.md
@@ -1,9 +1,11 @@
-# Title modifier `[supports variables]`{.noWrap}
+# Modificatore del titolo `[supporta le variabili]`{.noWrap}
+
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset. This setting can be used to prepend or append desired characters to a Steam shortcut's `Title`. Ad esempio, dato che `${fuzzyTitle}`{.noWrap} è `Zelda 2`, puoi aggiungere `(1.7.5)` ad esso impostando valore a:
-Default value is `${fuzzyTitle}`{.noWrap}. This setting can be used to prepend or append desired characters to a title which will be added to Steam. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
```
${fuzzyTitle} (1.7.5)
```
-You can use `${title}`{.noWrap} or any other variable to construct the final title.
-This setting influences Steam's APP ID.
+Puoi usare `${title}`{.noWrap} o qualsiasi altra variabile per costruire il titolo finale.
+
+Questa impostazione influenza l'APP ID di Steam.
diff --git a/src/lang/it-IT/markdown/uplay-parser-input.md b/src/lang/it-IT/markdown/uplay-parser-input.md
index f40bbcd928..3a54e84b1a 100644
--- a/src/lang/it-IT/markdown/uplay-parser-input.md
+++ b/src/lang/it-IT/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# Unique inputs for UPlay Parser
+# UPlay Parser Specific Inputs
+
## Ubisoft Directory Override
By default Steam ROM Manager assumes your UPlay install is located in `C:\Program Files (x86)\Ubisoft`. This field allows you to override that path if your UPlay installation is elsewhere.
## Launch Via UPlay `[Recommend disabled]`
-
What it sounds like, this toggle let's you set whether games will launch via UPlay or directly from the game's executable.
For UPlay this doesn't matter too much as UPlay games will automatically launch UPlay in the background even when launched from the executable. Steam Overlay will not work when `Launch via UPlay` is enabled, whereas both Steam and Ubisoft overlays work when `Launch via UPlay` is disabled.
diff --git a/src/lang/it-IT/markdown/uplay-parser.md b/src/lang/it-IT/markdown/uplay-parser.md
index 587e88daf0..4f0ce1ea71 100644
--- a/src/lang/it-IT/markdown/uplay-parser.md
+++ b/src/lang/it-IT/markdown/uplay-parser.md
@@ -1,7 +1,7 @@
-# UPlay Parser
+# Parser di UPlay
-This parser imports games from `UPlay` (also known as `Ubisoft Connect`) so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is most likely because Ubisoft has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
+Questo parser importa i giochi da `UPlay` (anche conosciuto come `UbisoftConnect`) così che gli artwork possano essere scelti per loro ed essere aggiunti a Steam. Se ciò non funziona è perché probabilmente Ubisoft ha modificato la struttura del loro database di giochi, in tal caso si prega di avvisare gli sviluppatori di SRM cosicché risolvano il problema.
-## Compatibility
+## Compatibilità
-This parser is currently functional on `Windows` systems only.
+Questo parser attualmente funziona solo su sistemi `Windows`.
diff --git a/src/lang/it-IT/markdown/user-accounts.md b/src/lang/it-IT/markdown/user-accounts.md
index 99e4ea0bee..351a43e601 100644
--- a/src/lang/it-IT/markdown/user-accounts.md
+++ b/src/lang/it-IT/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# User accounts (Optional)
+# User accounts
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
+This field is used to limit SRM's effects to specific user accounts. It can be set to `Global` or over ridden per parser.
-`${...}`
+## Attenzione
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either:
-
-* The account id is the name of the account directory that appears in `/path/to/steam/userdata`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
-
-## Warning
-
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and `Choose Accounts` will only be able to pull your `Steam IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Settings` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
diff --git a/src/lang/it-IT/markdown/user-exceptions.md b/src/lang/it-IT/markdown/user-exceptions.md
index a53dd0d6d9..a6e47de497 100644
--- a/src/lang/it-IT/markdown/user-exceptions.md
+++ b/src/lang/it-IT/markdown/user-exceptions.md
@@ -12,7 +12,7 @@ The `Extracted Title` field matches in two ways:
Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`.
-Exceptions generated from `Preview` will always be in the form `Extracted Title ${id:XXXXXX}`.
+Exceptions generated from `Add Games` will always be in the form `Extracted Title ${id:XXXXXX}`.
## New Display Title
diff --git a/src/lang/it-IT/markdown/what-is-app-id.md b/src/lang/it-IT/markdown/what-is-app-id.md
index 35f46082fd..00af809b8f 100644
--- a/src/lang/it-IT/markdown/what-is-app-id.md
+++ b/src/lang/it-IT/markdown/what-is-app-id.md
@@ -1,18 +1,18 @@
-# What is Steam's APP ID?
+# Che cos’è l’APP ID di Steam?
-Steam uses APP ID to identify games. For non-Steam games they are generated using:
+Steam utilizza l'APP ID per identificare i giochi. Per i giochi non di Steam vengono generati utilizzando:
-- Executable;
-- Final app title.
+- Eseguibile;
+- Titolo finale dell'app.
-If you use `RetroArch` or similar emulators to add the same game, but on different consoles, you will encounter a problem where only **one** title is added and others just disappear. This is due to duplicate APP IDs.
+Se usi `RetroArch` o emulatori simili per aggiungere lo stesso gioco, ma su console diverse, si incontra un problema in cui solo **un titolo** viene aggiunto e altri semplicemente scompariranno. Questo è dovuto ad APP ID duplicati.
-## Adding identical titles from different consoles
+## Aggiungere titoli identici per console diverse
-Steam APP ID must not be identical. This can be achieved by changing **Title modifier** value or enabling **Append arguments to executable**. Second option adds a third variable to APP ID:
+L'APP ID di Steam non deve essere identico. Questo può essere ottenuto cambiando il valore **Modificatore Titolo** o abilitando **Aggiungi argomenti all'eseguibile**. La seconda opzione aggiunge una terza variabile all'APP ID:
-- Executable;
-- Final app title;
-- Command line arguments.
+- Eseguibile;
+- Titolo finale dell'app;
+- Argomenti riga di comando.
-Most of the time command line will contain unique game path which should allow to generate unique APP IDs.
+La maggior parte delle volte la linea di comando conterrà un percorso unico al gioco che dovrebbe permettere di generare APP ID univoci.
diff --git a/src/lang/it-IT/markdown/what-is-glob.md b/src/lang/it-IT/markdown/what-is-glob.md
index 2cb2d69eae..c7a236edae 100644
--- a/src/lang/it-IT/markdown/what-is-glob.md
+++ b/src/lang/it-IT/markdown/what-is-glob.md
@@ -1,3 +1,3 @@
-# What is glob?
+# Cos'è un glob?
-Glob is a pattern that describes a file path using wildcards. For example, `*.txt` will match any file that ends with a `.txt` extension. In addition to normal wildcards, other **special** characters can be used to specify a more complex patterns making glob based parser a powerful tool for retrieving files.
+Glob è un pattern che descrive un percorso di file usando caratteri wildcard. Ad esempio, `*.txt` corrisponderà qualsiasi file che termina con un'estensione `.txt`. Oltre i normali caratteri wildcard, altri caratteri **special** possono essere usati per specificare un pattern più complesso trasformando il parser basato su glob in un potente strumento per recuperare i file.
diff --git a/src/lang/ja-JP/langStrings.json b/src/lang/ja-JP/langStrings.json
index d42bc546d5..825d64d572 100644
--- a/src/lang/ja-JP/langStrings.json
+++ b/src/lang/ja-JP/langStrings.json
@@ -1,8 +1,8 @@
{
"preview": {
"component": {
- "filter": "Search for game",
- "selectType": "Artwork Type",
+ "filter": "ゲームを検索",
+ "selectType": "アートワークの種類",
"selectCategories": "Steam Category",
"selectParsers": "Parser Title",
"selectTypeOptions": {
@@ -14,17 +14,17 @@
"games": "All Artwork"
},
"by": "by",
- "refreshImages": "Refresh images",
- "saveImage": "Save image to file",
- "addLocalImages": "Add local images",
- "retryDownload": "Retry download",
- "generateAppList": "Parse",
+ "refreshImages": "Refresh artwork",
+ "saveImage": "Save artwork to file",
+ "addLocalImages": "Add local artwork",
+ "retryDownload": "Retry artwork download",
+ "generateAppList": "Refresh",
"saveAppList": "Save to Steam",
"removeAppList": "Remove from Steam",
"remainingImages": "Retrieving urls:",
"stopUrlRetrieving": "Stop",
- "exportSelections": "Export",
- "importSelections": "Import",
+ "exportSelections": "Export art",
+ "importSelections": "Import art",
"backButton": "Back",
"logButton": "Log"
},
@@ -44,46 +44,46 @@
"removingFromCategories": "Removing all added category information",
"writingVDF_entries__i": "Writing VDF files and downloading high res images in batches of ${batchSize}.",
"updatingKnownSteamDirList": "Updating a list of known Steam directories.",
- "retryingDownload__i": "Retrying image download from \"${imageUrl}\" for \"${appTitle}\".",
- "disabledConfigurations__i": "${count} user configuration(s) was/were skipped (disabled by user).",
- "invalidConfigurations__i": "${count} user configuration(s) was/were skipped (invalid).",
+ "retryingDownload__i": "Retrying artwork download from \"${imageUrl}\" for \"${appTitle}\".",
+ "disabledConfigurations__i": "${count} user parser(s) was/were skipped (disabled by user).",
+ "invalidConfigurations__i": "${count} user parser(s) was/were skipped (invalid).",
"executingParsers": "Executing parsers.",
- "shutdownSteam": "Please shutdown Steam if it is running.",
- "noParserConfigurations": "Please create parser configuration in \"Parsers\" menu first.",
+ "shutdownSteam": "If Steam is running, exit Steam.",
+ "noParserConfigurations": "Please create parser in \"Parsers\" menu first.",
"parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
- "allImagesRetrieved": "All available image urls retrieved.",
+ "allImagesRetrieved": "All available artwork urls retrieved.",
"providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
"noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
- "preparingExport": "Preparing export of image choices.",
- "exportProgress__i": "Saving image choices ${progress}.",
- "readingSelections": "Applying imported image choices."
+ "preparingExport": "Preparing export of artwork choices.",
+ "exportProgress__i": "Saving artwork choices ${progress}.",
+ "readingSelections": "Applying imported artwork choices."
},
"errors": {
- "fatalError": "Fatal error occurred in Preview. See event log for details.",
- "fatalError__i": "Fatal Preview Error ${error}",
+ "fatalError": "Fatal error occurred in Add Games. See event log for details.",
+ "fatalError__i": "Fatal Add Games error: ${error}",
"knownSteamDirListIsEmpty": "A list of known Steam directories is empty.",
"steamIsRunning": "Cannot make changes while steam is running!",
"categorySaveError": "Error updating categories. See event log for details.",
"categorySaveError__i": "Category error (shortcuts and artwork will still be added): ${error}",
"controllerSaveError": "Error updating controller templates. See event log for details.",
"controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
- "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
+ "retryingDownload__i": "Artwork download from \"${imageUrl}\" failed for \"${appTitle}\".",
"providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
"unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
"exportError__i": "Could not save selections package folder: ${error}",
"importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
- "importFailError__i": "Could not import image choices: ${error}"
+ "importFailError__i": "Could not import artwork choices: ${error}"
},
"success": {
"writingVDF_entries": "Done adding/removing entries.",
"removingVDF_entries": "Entries have been removed.",
- "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
- "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
+ "exportSuccess__i": "Artwork choices folder successfully saved to \"${path}\"!",
+ "importSelectionsSuccess__i": "Successfully imported ${count} artwork choices!"
}
}
},
"steamParser": {
- "onlyGamesTitle": "Find artwork for games only (no tools)",
+ "onlyGamesTitle": "Find artwork for games only (no tools or demos)",
"onlyInstalledTitle": "Find artwork for installed titles only",
"sourceModsTitle": "Find artwork for unofficial source mods",
"errors": {
@@ -93,16 +93,30 @@
"fatalError__i": "> Steam parser failed with fatal error:\n ${error}"
}
},
+ "nonSRMShortcutsParser": {
+ "errors": {
+ "noSteamAccounts": "> Steam directory specified has no accounts.",
+ "fatalError__i": "> Non-SRM Shortcuts parser failed with fatal error:\n ${error}"
+ }
+ },
"manualParser": {
"manifestsInputTitle": "Manifests Directory",
- "manifestsInputPlaceholder": "/path/to/your/manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"errors": {
"fatalError__i": "> Manual parser failed with fatal error:\n ${error}"
}
},
"epicParser": {
"manifestsInputTitle": "Epic Manifests Directory Override",
- "manifestsInputPlaceholder": "/path/to/Manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"launcherModeInputTitle": "Launch games via Epic for online services",
"errors": {
"invalidManifestsOverride": "> Manifests Override is not a valid directory.",
@@ -112,25 +126,56 @@
}
},
"legendaryParser": {
+ "launcherModeInputTitle": "Launch games via Legendary for online services",
"legendaryInstalledFileTitle": "Legendary installed.json Path Override",
- "legendaryInstalledFilePlaceholder": "/path/to/legendary/installed.json",
+ "legendaryInstalledFilePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary\\installed.json",
+ "Darwin": "/path/to/legendary/installed.json",
+ "Linux": "/path/to/legendary/installed.json"
+ },
+ "legendaryExeOverrideTitle": "Legendary Path Override",
+ "legendaryExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary.exe",
+ "Darwin": "/path/to/legendary",
+ "Linux": "/path/to/legendary"
+ },
"errors": {
"legendaryNotInstalled": "> Legendary installed.json not found",
- "fatalError__i": "> Legendary parser failed with fatal error: \n ${error}"
+ "fatalError__i": "> Legendary parser failed with fatal error:\n ${error}"
+ }
+ },
+ "battleNetParser": {
+ "battleExeOverrideTitle": "Battle.net.exe Path Override",
+ "battleExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Battle.net\\Battle.net.exe",
+ "Darwin": "/path/to/Battle.net.app/Contents/MacOS/Battle.net",
+ "Linux": "/path/to/Battle.net"
+ },
+ "errors": {
+ "battleNotCompatible": "> Battle.net parser is only available on Windows.",
+ "fatalError__i": "> Battle.net parser failed with fatal error:\n ${error}"
}
},
"UWPParser": {
"UWPDirTitle": "XboxGames Directory Override",
- "UWPDirPlaceholder": "/path/to/XboxGames or /path/to/WindowsApps",
+ "UWPDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\XboxGames\\ or C:\\path\\to\\WindowsApps\\",
+ "Darwin": "/path/to/XboxGames/ or /path/to/WindowsApps/",
+ "Linux": "/path/to/XboxGames/ or /path/to/WindowsApps/"
+ },
"UWPLauncherModeTitle": "Launch game as UWP instead of launcher helper",
"errors": {
"fatalError__i": "> UWP parser is not compatible in this platform.",
- "UWPNotCompatible": "> UWP parser failed with fatal error:\n ${error}"
+ "UWPNotCompatible": "> UWP parser is only available on Windows."
}
},
"uplayParser": {
"uplayDirTitle": "Ubisoft Directory Override",
- "uplayDirPlaceholder": "/path/to/Ubisoft/",
+ "uplayDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Ubisoft\\",
+ "Darwin": "/path/to/Ubisoft/",
+ "Linux": "/path/to/Ubisoft/"
+ },
"launcherModeInputTitle": "Launch games via UPlay for online services",
"errors": {
"invalidManifestsOverride": "> Uplay Directory Override is not a valid directory.",
@@ -142,8 +187,14 @@
},
"gogParser": {
"galaxyExeOverrideTitle": "Galaxy Path Override",
- "galaxyExeOverridePlaceholder": "/path/to/GalaxyClient.exe",
+ "galaxyExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\GalaxyClient.exe",
+ "Darwin": "/path/to/GOG Galaxy.app/Contents/MacOS/GOG Galaxy",
+ "Linux": "/path/to/GalaxyClient"
+ },
"launcherModeInputTitle": "Launch games via GOG Galaxy",
+ "parseLinkedExecsTitle": "Parse linked executables from GOG Galaxy",
+ "parseRegistryEntries": "Parse using Registry instead of Galaxy DB",
"errors": {
"invalidGalaxyExeOverride": "> Galaxy Client Override is not a valid path.",
"fatalError__i": "> GOG Galaxy parser failed with fatal error:\n ${error}",
@@ -153,7 +204,11 @@
},
"amazonGamesParser": {
"exeOverrideTitle": "Amazon Games Path Override",
- "exeOverridePlaceholder": "/path/to/Amazon Games.exe",
+ "exeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Amazon Games.exe",
+ "Darwin": "/path/to/Amazon Games.app/Contents/MacOS/Amazon Games",
+ "Linux": "/path/to/Amazon Games"
+ },
"launcherModeInputTitle": "Launch games via Amazon Games",
"errors": {
"invalidExeOverride": "> Amazon Games Installation Override is not a valid directory.",
@@ -164,7 +219,11 @@
},
"itchIoParser": {
"itchIoAppDataOverrideTitle": "itch.io AppData Directory Override",
- "itchIoAppDataOverridePlaceholder": "/path/to/itch",
+ "itchIoAppDataOverridePlaceholder": {
+ "Windows_NT": "C:\\AppData\\itch\\",
+ "Darwin": "~/Library/Application Support/itch/",
+ "Linux": "~/.config/itch/"
+ },
"itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Windows-on-Linux Install Drive Redirect",
"itchIoWindowsOnLinuxInstallDriveRedirectPlaceholder": "/mnt/d/",
"errors": {
@@ -177,7 +236,11 @@
},
"eaDesktopParser": {
"eaGamesDirTitle": "EA Games Directory Override",
- "eaGamesDirPlaceholder": "/path/to/EA Games/",
+ "eaGamesDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\EA Games\\",
+ "Darwin": "/path/to/EA Games/",
+ "Linux": "/path/to/EA Games/"
+ },
"eaLauncherModeTitle": "Launch games via EA Desktop",
"errors": {
"fatalError__i": "> EA Desktop parser failed with fatal error:\n ${error}",
@@ -186,7 +249,7 @@
}
},
"globParser": {
- "inputTitle": "User's glob",
+ "inputTitle": "Search glob",
"inputPlaceholder": "${title}.@(iso|ISO)",
"errors": {
"noTitle__md": "> File glob must contain `${title}`!",
@@ -203,7 +266,7 @@
}
},
"globRegexParser": {
- "inputTitle": "User's glob-regex",
+ "inputTitle": "Search glob-regex",
"inputPlaceholder": "${/valid regex/}",
"errors": {
"noRegex__md": "> File glob must contain `${regex}` where **regex** is your regular expression!",
@@ -226,18 +289,22 @@
"stylesTitle": "Allowed grid styles",
"stylesHeroTitle": "Allowed hero styles",
"stylesLogoTitle": "Allowed logo styles",
- "stylesIconTitle": "Allowed icon styles"
+ "stylesIconTitle": "Allowed icon styles",
+ "sizesTitle": "Allowed banner dimensions",
+ "sizesHeroTitle": "Allowed hero dimensions",
+ "sizesTallTitle": "Allowed portrait dimensions",
+ "sizesIconTitle": "Allowed icon dimensions"
},
"logger": {
"component": {
"noMessages": "No messages are available",
- "error": "ERROR",
- "info": "INFO",
- "success": "SUCCESS",
- "fuzzy": "FUZZY",
- "textWrap": "TEXT-WRAP",
- "autoscroll": "AUTOSCROLL",
- "clearLog": "Clear log",
+ "error": "Error messages",
+ "info": "Info messages",
+ "success": "Success messages",
+ "fuzzy": "Fuzzy messages",
+ "textWrap": "Wrap text",
+ "autoscroll": "Autoscroll",
+ "clearLog": "Clear",
"issueDescription": "Thorough issue description with passable spelling.",
"handleExample": "CoolHandle#1234"
}
@@ -251,40 +318,42 @@
"corruptedVariables__i": "Saved custom variables are invalid!\r\nPermanent variable saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "Custom variables file has been downloaded."
+ "downloaded": "Custom variables file has been updated."
}
}
},
"configPresets": {
"service": {
"error": {
- "failedToDownload__i": "Failed to download configuration presets file. Status: ${error}.",
+ "failedToDownload__i": "Failed to download configuration presets file from commit ${commit}. Status: ${error}.",
"writingError": "Error occurred while saving configuration presets.",
"loadingError": "Error occurred while loading configuration presets.",
"corruptedVariables__i": "Saved configuration presets are invalid!\r\nPermanent file saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "New config presets have been downloaded."
+ "downloaded": "Community presets have been updated."
}
}
},
"settings": {
"component": {
"label": {
- "general": "General settings",
- "imageProviders": "Image provider settings",
- "fuzzy": "Fuzzy matcher settings",
- "environmentVariables": "Environment variable settings",
- "communityPresets": "Community variable/preset settings"
+ "general": "General",
+ "imageProviders": "Artwork Providers",
+ "fuzzy": "Fuzzy Matcher",
+ "environmentVariables": "Environment Variables",
+ "communityPresets": "Community Presets and Custom Variables"
},
"text": {
+ "autoUpdate": "Check for updates on start",
"offlineMode": "Offline mode",
- "removeApps_desc": "all added app entries and controllers",
+ "removeApps_desc": "all added games and controllers",
"removeApps_btn": "Remove",
- "preloadImages": "Preload retrieved images immediately",
+ "preloadImages": "Artwork loading strategy",
"fuzzy_verbose": "Log matching results",
- "fuzzy_filter": "Filter images",
+ "fuzzy_filter": "Filter artwork",
"enabledProviders": "Enabled image providers",
+ "dnsServers": "DNS manual override",
"selectLanguage": "Select language",
"selectTheme": "Select theme",
"resetFuzzy_desc": "fuzzy list",
@@ -292,28 +361,38 @@
"resetFuzzy_btn": "Reset",
"customVariables_desc": "custom variables",
"configPresets_desc": "config presets",
- "showSteamImages": "Show current Steam images by default",
+ "showSteamImages": "Show current Steam artwork by default",
"deleteDisabledShortcuts": "Remove shortcuts for disabled parsers",
"clearLogOnTest": "Automatically clear log before testing parsers",
- "configDir": "Open Config Directory"
+ "configDir": "Config Directory",
+ "steamDir": "Steam Directory"
},
"placeholder": {
"noProviders": "None",
- "steamDirectoryWin": "Typically C:\\Program Files (x86)\\Steam",
- "steamDirectoryMac": "Typically ~/Library/Application Support/Steam",
- "steamDirectoryLinux": "Typically /home/user/.steam/steam",
"userAccounts": "For example ${steamlogin}",
- "romsDirectoryWin": "For example D:\\ROMs",
- "romsDirectoryMac": "For example ~/ROMs",
- "romsDirectoryLinux": "For example ~/ROMs",
- "retroarchPathWin": "For example C:\\Path\\To\\retroarch.exe",
- "retroarchPathLinux": "For example /path/to/retroarch",
- "retroarchPathMac": "For example /path/to/retroarch",
- "raCoresDirectoryWin": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores",
- "raCoresDirectoryLinux": "Typically /lib/x86_64-linux-gnu/libretro/cores",
- "raCoresDirectoryMac": "Typically /Applications/Retroarch.app/Contents/Resources/cores",
- "localImagesDirectoryWin": "For example C:\\Path\\To\\LocalArtwork",
- "localImagesDirectoryUnix": "For example ~/path/to/localartwork"
+ "bySystem": {
+ "Windows_NT": {
+ "steamDirectory": "Typically C:\\Program Files (x86)\\Steam\\",
+ "romsDirectory": "For example D:\\ROMs\\",
+ "retroarchPath": "For example C:\\Path\\To\\Retroarch.exe",
+ "raCoresDirectory": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores\\",
+ "localImagesDirectory": "For example C:\\Path\\To\\LocalArtwork\\"
+ },
+ "Darwin": {
+ "steamDirectory": "Typically ~/Library/Application Support/Steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /Applications/Retroarch.app/Contents/Resources/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ },
+ "Linux": {
+ "steamDirectory": "Typically /home/user/.steam/steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /lib/x86_64-linux-gnu/libretro/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ }
+ }
}
},
"service": {
@@ -331,6 +410,7 @@
"component": {
"about": "About",
"preview": "Preview",
+ "view": "View Games",
"logger": "Log",
"settings": "Settings",
"parsers": "Create Parser",
@@ -352,6 +432,9 @@
"title": "User Exceptions",
"exclude": "Exclude Title",
"excludeArtwork": "Local Artwork Only"
+ },
+ "placeholder": {
+ "sortBy": "Sort By"
}
},
"service": {
@@ -366,8 +449,8 @@
"component": {
"buttons": {
"save": "Save",
- "copy": "Copy",
- "testParser": "Test parser",
+ "copy": "Clone",
+ "testParser": "Test",
"delete": "Delete",
"moveUp": "Move up",
"moveDown": "Move down",
@@ -381,23 +464,23 @@
"opSys__i": "Operating system is \"${os}\"",
"testCompleted": "Parser test is completed.",
"nothingWasFound": "Parser found nothing.",
- "copiedToClipboard": "Configuration copied to clipboard",
+ "copiedToClipboard": "Parser copied to clipboard",
"userExclusions": "User excluded:",
- "excludedFileInfo__i": "[${index}/${total}]: ${filename}",
+ "excludedFileInfo__i": "[${index}/${total}]: ${filename}\n Excluded by \"${exceptionKey}\"",
"removingControllers__i": "Removing controller templates for parser: ${configTitle}",
"fetchingControllerTemplates": "Fetching controller templates"
},
"error": {
"missingAccounts__i": "Following ${count} user account(s) were not found (user must to login to Steam at least once):",
"missingAccountInfo__i": " ${name}",
- "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials (\"Show advanced options -> User accounts -> Use account credentials\").\r\nIf you're seeing this, preview won't be generated for this configuration.",
+ "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials.\r\nIf you're seeing this, Add Games will skip this configuration.",
"cannotParseUserIDs": "Error parsing user accounts:",
"failedToMatch": "Failed to match:",
"failedFileInfo__i": "[${index}/${total}]: ${filename}",
"testFailed": "Testing failed",
"cannotTestInvalid": "Can not test invalid configuration!",
"cannotCopyInvalid": "Can not copy invalid configuration!",
- "failedToCopy": "Failed to copy to clipbard!",
+ "failedToCopy": "Failed to copy to clipboard!",
"cannotFetchTemplates": "Can not fetch controller templates for invalid steam directory!",
"errorRemovingControllers": "Error removing controllers:",
"cannotRemoveControllers": "Can not remove controllers from invalid steam directory!"
@@ -405,8 +488,8 @@
"success": {
"foundAccounts__i": "Found ${count} available user account(s):",
"foundAccountInfo__i": " ${name} (steamID64: ${steamID64}, accountID: ${accountID})",
- "steamCategory__i": "[${index}/${total}]: Steam categories - ${steamCategory}",
- "steamCategoryInfo__i": "[${index}/${total}]: ${steamCategory}",
+ "steamCategories__i": "[${index}/${total}]: Steam categories - ${steamCategories}",
+ "steamCategoriesInfo__i": "[${index}/${total}]: ${steamCategories}",
"exceptionKey__i": "[${index}/${total}]: Exception ID - ${appid}",
"appId__i": "[${index}/${total}]: Legacy App ID - ${appid}",
"shortAppId__i": "[${index}/${total}]: App ID - ${appid}",
@@ -416,20 +499,21 @@
"filePath__i": "[${index}/${total}]: File path - ${filePath}",
"startDir__i": "[${index}/${total}]: Start dir - ${startDir}",
"completeShortcut__i": "[${index}/${total}]: Complete shortcut - ${shortcut}",
- "firstImageQuery__i": "[${index}/${total}]: Image queries - ${query}",
+ "firstImageQuery__i": "[${index}/${total}]: Artwork queries - ${query}",
+ "imagePool__i": "[${index}/${total}]: Artwork pool - ${imagePool}",
"imageQueries__i": "[${index}/${total}]: ${query}",
"defaultImage__i": "[${index}/${total}]: Resolved fallback ${artworkType}:\r\n[${index}/${total}]: ${image}",
"resolvedDefaultImage__i": "[${index}/${total}]: Fallback ${artworkType}:",
- "localImages__i": "[${index}/${total}]: Resolved ${artworkType}:",
- "resolvedLocalImages__i": "[${index}/${total}]: ${artworkType} glob:",
+ "localImages__i": "[${index}/${total}]: Resolved local ${artworkType}:",
+ "resolvedLocalImages__i": "[${index}/${total}]: Local ${artworkType} glob:",
"indexInfo__i": "[${index}/${total}]: ${indexed}",
"removedControllers__i": "Succesfully removed controllers for parser: ${configTitle}",
"fetchedTemplates": "Fetched all controller templates"
},
"label": {
"parserType": "Parser type",
- "configTitle": "Configuration title",
- "steamCategory": "Steam category",
+ "configTitle": "Parser title",
+ "steamCategories": "Steam collections",
"executableModifier": "Executable modifier",
"executableLocation": "Executable",
"romDirectory": "ROMs directory",
@@ -440,33 +524,56 @@
"titleModifier": "Title modifier",
"fuzzyMatch": "Fuzzy matching",
"executableArgs": "Command line arguments",
- "onlineImageQueries": "Online image query",
- "imagePool": "Image pool",
- "imageProviders": "Image providers",
+ "onlineImageQueries": "Artwork provider search queries",
+ "imagePool": "Artwork pool",
+ "imageProviders": "Artwork providers",
"defaultImage__i": "Fallback ${artworkType}",
"localImages__i": "Local ${artworkType} glob"
},
"placeholder": {
"parserType": "Select parser...",
"configTitle": "My Awesome Parser",
- "steamCategory": "${cat1}${cat2}",
- "steamDirectory": "${steamdirglobal} or /path/to/steam",
- "userAccounts": "${steamuser1}${steamuser2} or ${${accountsglobal}}",
- "titleFromVariable": "${myvariable}",
+ "steamDirectory": {
+ "Windows_NT": "${steamdirglobal} or C:\\path\\to\\Steam\\",
+ "Darwin": "${steamdirglobal} or /path/to/Steam/",
+ "Linux": "${steamdirglobal} or /path/to/Steam/"
+ },
+ "titleFromVariable": "${variableGroup1}${variableGroup2}",
"titleModifier": "${fuzzyTitle} or ${title}",
- "defaultImage__i": "/path/to/fallback_${artworkType}.png",
- "localImages__i": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
- "romDirectory": "/path/to/games/",
+ "defaultImage__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\fallback_${artworkType}.png",
+ "Darwin": "/path/to/fallback_${artworkType}.png",
+ "Linux": "/path/to/fallback_${artworkType}"
+ },
+ "localImages__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\art\\\\${artworkType}\\\\\\${title}.@(png|jpg)",
+ "Darwin": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
+ "Linux": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)"
+ },
+ "onlineImageQueries": "${${fuzzyTitle}} or ${${title}}${${fuzzyTitle}}",
+ "imagePool": "${fuzzyTitle}",
+ "romDirectory": {
+ "Windows_NT": "C:\\path\\to\\games\\",
+ "Darwin": "/path/to/games/",
+ "Linux": "/path/to/games/"
+ },
"glob": "${title}.@(iso|ISO)",
- "executableLocation": "Example: /path/to/emulator.exe",
- "executableArgs": "--arg1 --arg2",
+ "executableLocation": {
+ "Windows_NT": "C:\\path\\to\\emulator.exe",
+ "Darwin": "/path/to/emulator.app",
+ "Linux": "/path/to/emulator"
+ },
+ "executableArgs": "--arg1 --arg2 --launch \"${filePath}\"",
"executableModifier": "\"${exePath}\"",
- "startInDirectory": "/path/to/start/in/dir",
+ "startInDirectory": {
+ "Windows_NT": "C:\\path\\to\\start-in-dir\\",
+ "Darwin": "/path/to/start-in-dir/",
+ "Linux": "/path/to/start-in-dir/"
+ },
"imageProviders": "None",
"multiAPIPlaceholder": "No Filter"
},
"text": {
- "tryToMatchTitle": "Enable Title from Custom Variable",
"skipFileIfVariableWasNotFound": "Skip file if variable was not found",
"caseInsensitiveVariables": "Case-insensitive variables",
"shortcut_passthrough": "Follow .lnk or .desktop to destination (Windows and Linux only)",
@@ -482,18 +589,18 @@
},
"service": {
"info": {
- "updatingConfigurations": "Updating user configurations with new fields"
+ "updatingConfigurations": "Updating user's parsers with new fields"
},
"error": {
- "savingConfiguration": "Error encountered while saving user configurations!",
- "readingConfiguration": "Error encountered while reading user configurations!",
+ "savingConfiguration": "Error encountered while saving user's parsers!",
+ "readingConfiguration": "Error encountered while loading user's parsers!",
"parserTypeMissing": "Cannot save without specifying parser type",
- "corruptedConfiguration__i": "One or more saved parser configurations are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
- "fetcingTemplates": "Error encountered while fetching controllers templates!"
+ "corruptedConfiguration__i": "One or more saved parsers are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
+ "fetchingTemplates": "Error encountered while fetching controllers templates!"
},
"validationErrors": {
"parserType__md": "> Incorrect parser type!",
- "configTitle__md": "> Configuration title is required!",
+ "configTitle__md": "> Parser title field cannot be blank!",
"parserId__md": "> Parser Id is missing, something is horribly wrong.",
"parserInput": {
"noInput": "No inputs are available!",
@@ -501,19 +608,15 @@
"incorrectParser": "Incorrect parser!"
},
"romDir__md": "> ROMs directory is invalid!",
- "userAccounts__md": "> Steam parser requires `User Accounts` field",
+ "userAccounts__md": "> User accounts field is required!",
"steamDir__md": "> Steam directory is invalid!",
"startInDir__md": "> \"Start In\" directory is invalid!",
"executable__md": "> Executable is invalid!",
- "imagePool__md": "> Image pool must not be empty!",
- "defaultImage__md": "> Default image is an invalid path!",
- "titleModifier__md": "> Title modifier must not be empty!",
- "executableModifier__md": "> Executable modifier must not be empty!",
- "variableString__md": "> Uneven number of `${` and `}` pairs. Use `\\` to escape `${` or `}` if you want to use them as characters.",
- "imageProviders__md": "> Incorrect image providers type!",
- "unhandledValidationKey__md": "> Input's validation is unhandled",
- "genericDir__md": "> Directory is invalid",
- "genericPath__md": "> Path is invalid"
+ "defaultImage__md": "> Fallback artwork is an invalid path!",
+ "variableString__md": "> Uneven number of `${` and `}` pairs! Use `\\` to escape `${` or `}` if you want to use them as characters.",
+ "unhandledValidationKey__md": "> Input's validation is unhandled!",
+ "genericDir__md": "> Directory is invalid!",
+ "genericPath__md": "> Path is invalid!"
},
"text": {
"noTitle": "No title!"
@@ -540,7 +643,7 @@
"error": {
"parserNotFound__i": "Parser \"${name}\" not found!",
"tooManyFieldGlobs__md": "> Only one `$(...)$` set is allowed per input.",
- "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** ir **Glob-regex** field.",
+ "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** in **Glob-regex** field.",
"noWinSlashes__md": "> Windows directory character `\\` is not allowed! Use `/` instead."
}
},
@@ -567,11 +670,11 @@
"error": {
"readingVdf__i": "Failed to read from \"${filePath}\".\n ${error}",
"writingVdf__i": "Failed to write to \"${filePath}\".\n ${error}",
- "skippingDMCA__i": "Skipping DMCA'd image for ${title}",
+ "skippingDMCA__i": "Skipping DMCA'd artwork for ${title}",
"corruptedVdf__i": "\"${filePath}\" is corrupted.\n ${error}",
"creatingBackup__i": "Could not create backup for \"${filePath}\".\n ${error}",
"unsupportedMimeType__i": "Mime type (${type}) is unsupported (title - \"${title}\").",
- "imageError__i": "Error occurred while saving/downloading image for \"${title}\". Url: ${url}.\n ${error}"
+ "imageError__i": "Error occurred while saving/downloading artwork for \"${title}\". Url: ${url}.\n ${error}"
}
},
"helpers": {
diff --git a/src/lang/ja-JP/markdown/UWP-parser-input.md b/src/lang/ja-JP/markdown/UWP-parser-input.md
index 1a3f20be1d..8c045eea77 100644
--- a/src/lang/ja-JP/markdown/UWP-parser-input.md
+++ b/src/lang/ja-JP/markdown/UWP-parser-input.md
@@ -1,4 +1,4 @@
-# Unique inputs for UWP Parser
+# UWP Parser Specific Inputs
## Games directory
@@ -8,4 +8,4 @@ Set it to `C:\Program Files\WindowsApps` to grab all UWP applications -- you'll
## Launch as UWP or from GameLaunchHelper.exe
-Gamepass games can be launched both ways, although UWP is preffered.
+Gamepass games can be launched both ways, although UWP is preferred.
diff --git a/src/lang/ja-JP/markdown/UWP-parser.md b/src/lang/ja-JP/markdown/UWP-parser.md
index bfb5a847f3..af4fee0f84 100644
--- a/src/lang/ja-JP/markdown/UWP-parser.md
+++ b/src/lang/ja-JP/markdown/UWP-parser.md
@@ -4,4 +4,4 @@ This parser imports `UWP` games in your Windows OS, having a games library path
## Compatibility
-This parser should only work on `Windows 10` and `Windows 11`.
\ No newline at end of file
+This parser should only work on `Windows 10` and `Windows 11`.
diff --git a/src/lang/ja-JP/markdown/about.md b/src/lang/ja-JP/markdown/about.md
index 3f6320a3ea..a0ede9c846 100644
--- a/src/lang/ja-JP/markdown/about.md
+++ b/src/lang/ja-JP/markdown/about.md
@@ -1,25 +1,23 @@
-## System info
+##
-In case you're having trouble with SRM, feel free to visit the [discord](https://discord.gg/bnSVJrz) or the [subreddit](https://www.reddit.com/r/SteamRomManager/) and ask for our help. In order for us to help you, we would like you to provide this info:
-
-* SRM version: **#{APP[version]}**
+*
* Operating System: **#{APP[os]}**
-## Useful links
+##
-* [SRM Releases](https://github.com/SteamGridDB/steam-rom-manager/releases)
-* [Discord Server](https://discord.gg/bnSVJrz)
-* [r/SteamRomManager](https://www.reddit.com/r/SteamRomManager/)
-* [Steam Group](https://steamcommunity.com/groups/steamrommanager)
-* [Github Repo](https://github.com/SteamGridDB/steam-rom-manager)
-* [Crowdin Translation Project](https://crowdin.com/project/steam-rom-manager)
+* [SRMリリース](https://github.com/SteamGridDB/steam-rom-manager/releases)
+* [](https://discord.gg/bnSVJrz)
+* [r/SteamRomManage](https://www.reddit.com/r/SteamRomManager/)
+* [Steam グループ](https://steamcommunity.com/groups/steamrommanager)
+* [GitHub リポジトリ](https://github.com/SteamGridDB/steam-rom-manager)
+* [クラウディン翻訳プロジェクト](https://crowdin.com/project/steam-rom-manager)
## Support
-Help support continued progress on Steam ROM Manager at:
+Steam マネージャーの継続的な進行状況のサポートを支援してください:
-
+
[SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon.
@@ -28,23 +26,24 @@ Help support continued progress on Steam ROM Manager at:
-## Contributions
-* `FrogTheFrog`{.noWrap} - Creator of SRM, no longer active on SRM but currently working on the [MoonDeck Plugin](https://github.com/FrogTheFrog/moondeck)
-
-### Current Maintainers
-* `lontanadascienza`{.noWrap} - Updated SRM to handle heroes, posters, logos, and icons. Added the exception manager, controller management, platform parsers (Epic, GOG, Steam, etc), among many other things. Squashes bugs almost as fast as he introduces them.
-* `Zennn`{.noWrap} - Added category support, langauge localization, and the bug report server among many other things. Big boss over at [SteamGridDB](https://www.steamgriddb.com/).
-* `KenCinder`{.noWrap} - Manages and creates community parser presets and helps user setup SRM in [Discord](https://discord.gg/bnSVJrz).
-
-### Feature Contributions
-* `dragoonDorise`{.noWrap} - Added new themes to SRM. Creator and current maintainer of [EmuDeck](https://www.emudeck.com/).
-* `alvaromunoz`{.noWrap} - Added Game Pass parser to SRM.
-* `lexarvn`{.noWrap} - Added the Amazon Games parser and the itch.io parser.
-* `CarJem`{.noWrap} - Added the manual parser.
-* `MattMckenzy`{.noWrap} - Added ability to import and export image choices.
-* `Apalatn`{.noWrap} - Added an install drive redirect option to the itch.io parser.
-* `OneMoreByte` - Made itch.io parser work on linux and mac.
-* `UndarkAido` - Added shortcut passthrough for Linux's .desktop shortcuts.
+## 貢献
+* `FrogTheFrog`{.noWrap} - SRMのクリエイターは、SRMでは活動しなくなりましたが、現在 [MoonDeck Plugin](https://github.com/FrogTheFrog/moondeck) に取り組んでいます。
+
+### 現在のメンテナー
+* `lontanadascienza`{.noWrap} - ヒーロー、ポスター、ロゴ、アイコンを扱うようにSRMを更新しました。 例外マネージャー、コントローラ管理、プラットフォームパーサ(Epic、GOG、Steamなど)を追加しました。 彼がそれらを紹介するとほぼ同じ速度でバグをスクワッシュします。
+* `Zennn`{.noWrap} - カテゴリサポート、langaugeローカライゼーション、バグ報告サーバーなどを追加。 `SteamGridDB` でビッグボス。
+* `KenCinder`{.noWrap} - コミュニティパーサプリセットを管理し、ユーザーが [Discord](https://discord.gg/bnSVJrz) にSRMをセットアップするのに役立ちます。
+
+### 機能の貢献
+* `dragoonDorise`{.noWrap} - SRMに新しいテーマを追加。 。
+* `alvaromunoz`{.noWrap} - SRMにゲームパスパーサを追加。
+* `lexarvn`{.noWrap} - Amazon Games parser と itch.io parser を追加。
+* `CarJem`{.noWrap} - マニュアルパーサーを追加。
+* `MattMckenzy`{.noWrap} - 画像の選択肢をインポートおよびエクスポートする機能を追加。
+* `Apalatn`{.noWrap} - itch.ioパーサーにインストールドライブのリダイレクトオプションを追加。
+* `OneMoreByte`{.noWrap} - Made itch.io parser work on linux and mac.
+* `UndarkAido`{.noWrap} - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `HazardousBackup`{.noWrap} - Added option to GOG parser to parse Registry instead of GOG's DB.
### Community
* `HE Spoke`{.noWrap} - created a community around SRM. Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups. Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
diff --git a/src/lang/ja-JP/markdown/amazon-games-parser-input.md b/src/lang/ja-JP/markdown/amazon-games-parser-input.md
index 7ac728e20b..770697198e 100644
--- a/src/lang/ja-JP/markdown/amazon-games-parser-input.md
+++ b/src/lang/ja-JP/markdown/amazon-games-parser-input.md
@@ -1,4 +1,4 @@
-# Amazon Games Parser specific inputs
+# Amazon Games Parser Specific Inputs
## Amazon Games Path Override
By default Steam ROM Manager assumes your Amazon Games installation is located at `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`. This field allows you to override that path if your Amazon Games installation is elsewhere.
diff --git a/src/lang/ja-JP/markdown/amazon-games-parser.md b/src/lang/ja-JP/markdown/amazon-games-parser.md
index cdfda7c283..eb556fcc6e 100644
--- a/src/lang/ja-JP/markdown/amazon-games-parser.md
+++ b/src/lang/ja-JP/markdown/amazon-games-parser.md
@@ -1,3 +1,3 @@
# Amazon Games Parser
-This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/ja-JP/markdown/battle-net-parser-input.md b/src/lang/ja-JP/markdown/battle-net-parser-input.md
new file mode 100644
index 0000000000..1f03fae4a6
--- /dev/null
+++ b/src/lang/ja-JP/markdown/battle-net-parser-input.md
@@ -0,0 +1,5 @@
+# Battle.net Parser Specific Inputs
+
+## Battle.net.exe Path Override
+
+By default Steam ROM Manager assumes your `Battle.net` executable is located at `C:\Program Files (x86)\Battle.net\Battle.net.exe`. This field allows you to override that if your `Battle.net` is installed elsewhere.
diff --git a/src/lang/ja-JP/markdown/battle-net-parser.md b/src/lang/ja-JP/markdown/battle-net-parser.md
new file mode 100644
index 0000000000..c3ffb10b67
--- /dev/null
+++ b/src/lang/ja-JP/markdown/battle-net-parser.md
@@ -0,0 +1,5 @@
+# Battle.net Parser
+
+This parser imports games from the `Battle.net` app, so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Blizzard has altered the structure of their database files, in which case please let the developers of SRM know and we will resolve the issue.
+
+The `Battle.net` parser is somewhat special in that it uses a shell script at `${srmDir}/scripts/bnet.ps1` in order to launch `Battle.net`, wait an appropriate amount of time, and only then launch the actual title.
diff --git a/src/lang/ja-JP/markdown/config-title.md b/src/lang/ja-JP/markdown/config-title.md
index ed2eeef493..abadc31951 100644
--- a/src/lang/ja-JP/markdown/config-title.md
+++ b/src/lang/ja-JP/markdown/config-title.md
@@ -1,3 +1,5 @@
-# Configuration title
+# Parser title
-Title to save user configuration as. Does not have to be unique, but is required.
\ No newline at end of file
+Title of the parser. Does not have to be unique, but is required.
+
+This field will not affect what is added to `Steam` in any way.
diff --git a/src/lang/ja-JP/markdown/controller-templates.md b/src/lang/ja-JP/markdown/controller-templates.md
index 37c943f370..686b3ba13a 100644
--- a/src/lang/ja-JP/markdown/controller-templates.md
+++ b/src/lang/ja-JP/markdown/controller-templates.md
@@ -17,10 +17,10 @@ In the SRM parser:
Currently, SRM pulls all of the default (Valve made) templates for each controller as well as all of the user defined templates that end in `(SRM)`.
-* Select your templates and save the parser. The controller configsets will be applied once you hit `Save App List` in the preview.
+* Select your templates and save the parser. The controller configsets will be applied once you hit `Save to Steam` in the Add Games.
* To unset controller configs, you may either `Remove All Added App Entries` from global settings (this deletes all SRM made changes to your steam data) or hit `Unset All Controllers` in the parser (this only removes controller settings for the steam directory and user specified in that parser).
-Once this is done you can generate and save the preview as usual, and the template will be applied to all the titles in the parser.
+Once this is done you can parse and add games to steam as usual, and the templates will be applied to all the titles in the parser.
diff --git a/src/lang/ja-JP/markdown/default-image.md b/src/lang/ja-JP/markdown/default-image.md
index 47e3f9261e..7bf4e6413d 100644
--- a/src/lang/ja-JP/markdown/default-image.md
+++ b/src/lang/ja-JP/markdown/default-image.md
@@ -1,4 +1,4 @@
-# Default image (optional) `[supports variables]`{.noWrap}
+# Default image `[supports variables]`{.noWrap}
Allows one to use an image, stored locally, as a default/fallback image. A [special glob input](#special-glob-input) string is used to retrieve images. Only the first retrieved image is used.
diff --git a/src/lang/ja-JP/markdown/ea-desktop-parser-input.md b/src/lang/ja-JP/markdown/ea-desktop-parser-input.md
index 7990efb5b5..355ba68c8e 100644
--- a/src/lang/ja-JP/markdown/ea-desktop-parser-input.md
+++ b/src/lang/ja-JP/markdown/ea-desktop-parser-input.md
@@ -1,4 +1,4 @@
-# EA Desktop Parser specific inputs
+# EA Desktop Parser Specific Inputs
## EA Games Directory Override
By default Steam ROM Manager assumes your `EA Desktop` games are installed at ``C:\Program Files\EA Games\`. This field allows you to change that to wherever your games are installed, e.g.``D:\Games\EA Games`.
diff --git a/src/lang/ja-JP/markdown/epic-parser-input.md b/src/lang/ja-JP/markdown/epic-parser-input.md
index 3e8e07d69a..22bc34d195 100644
--- a/src/lang/ja-JP/markdown/epic-parser-input.md
+++ b/src/lang/ja-JP/markdown/epic-parser-input.md
@@ -1,4 +1,4 @@
-# Epic Games Store specific inputs
+# Epic Games Store Specific Inputs
## Manifests Directory Override
diff --git a/src/lang/ja-JP/markdown/executable-arguments.md b/src/lang/ja-JP/markdown/executable-arguments.md
index 8b5121722a..c19b665402 100644
--- a/src/lang/ja-JP/markdown/executable-arguments.md
+++ b/src/lang/ja-JP/markdown/executable-arguments.md
@@ -1,4 +1,4 @@
-# Command line arguments (optional) `[supports variables]`{.noWrap}
+# Command line arguments `[supports variables]`{.noWrap}
Arguments which are appended to executable to produce final shortcut. Most of the time you will want to set it using provided parser variables.
@@ -49,7 +49,7 @@ Arguments which are appended to executable to produce final shortcut. Most of th
### Nestopia (NES/Famicom)
```
-"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
+"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
```
### higan (NES/Famicom, SNES/Famicom, Gameboy, Gameboy Color, Gameboy Advance)
@@ -126,13 +126,13 @@ This setting is used to influence Steam's APP ID.
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -187,6 +187,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -196,7 +197,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/ja-JP/markdown/executable-location.md b/src/lang/ja-JP/markdown/executable-location.md
index b13f57494f..36fbbc9a46 100644
--- a/src/lang/ja-JP/markdown/executable-location.md
+++ b/src/lang/ja-JP/markdown/executable-location.md
@@ -1,4 +1,4 @@
-# Executable (optional) `[supports environment variables]`
+# Executable `[supports env variables]`
Path to emulator's executable. Can be a file or any valid system path.
@@ -6,6 +6,8 @@ Path to emulator's executable. Can be a file or any valid system path.
In some cases you might want to run game from a some kind batch file which will also automatically run the emulator itself. If that is the case, then providing executable is unnecessary.
+The final shortcut will just be `"${filePath}" --command-line-args`.
+
### So, how do I add files to Steam without default executable?
All files retrieved by a parser will be treated as executables instead.
diff --git a/src/lang/ja-JP/markdown/executable-modifier.md b/src/lang/ja-JP/markdown/executable-modifier.md
index c3c5739e86..2131f6964d 100644
--- a/src/lang/ja-JP/markdown/executable-modifier.md
+++ b/src/lang/ja-JP/markdown/executable-modifier.md
@@ -1,102 +1,23 @@
# Executable modifier `[supports variables]`{.noWrap}
-Default value is `"${exePath}"`{.noWrap}. This setting can be used to prepend or append desired characters to an executable which will be added to Steam (`Target` property). For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you can add `"cmd" /k start /min` to it by setting value to:
+Defaults to `"${exePath}"`{.noWrap} if unset. This field can be used to prepend or append desired characters to the executable which will be added to the Steam shortcut's `Target` property. For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you could start `Retroarch` minimized by setting the `Executable Modifier` "cmd" to:
+
```
"cmd" /k start /min "${exePath}"
```
-You can use any other variable to construct the final executable.
-
-This setting influences Steam's APP ID.
-
-
-## Shortcut Passthrough
-If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the target of that shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser.
-
-## Directory variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
-
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
-
-## Name variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------------------------------- |
-| `${exeName}` | Name of executable (without extension) |
-| `${fileName}` | Name of file which was returned by a parser (without extension) |
-
-In case executable directory input is left **empty**, `${exeName}`{.noWrap} is equal to `${fileName}`{.noWrap}.
-
-## Extension variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------------------- |
-| `${exeExt}` | Extension of executable (with a dot) |
-| `${fileExt}` | Extension of file which was returned by a parser (with a dot) |
-In case executable directory input is left **empty**, `${exeExt}`{.noWrap} is equal to `${fileExt}`{.noWrap}.
+In this case the `Target` property would begin with:
-## Path variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:-------------------------------------------------- |
-| `${exePath}` | Full path to an executable |
-| `${filePath}` | Full path to a file which was returned by a parser |
-
-In case executable directory input is left **empty**, `${exePath}`{.noWrap} is equal to `${filePath}`{.noWrap}.
-
-## Parser variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------ |
-| `${title}` | Extracted title |
-| `${fuzzyTitle}` | Fuzzy matched title |
-| `${finalTitle}` | Title which was the end result of title modifier |
-
-In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
+```
+"cmd" /k start /min "C:\RetroArch\retroarch.exe"
+```
-## Function variables
+followed by whatever launch arguments you choose in the `Command Line Arguments` field.
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+You can use any other variable to construct the final executable.
-### Function variable example
+This setting influences Steam's APP ID.
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
-```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
-```
-will be replaced with these:
-```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+## Shortcut Passthrough
---On linux:
-file.so
---On Windows:
-file.dll
---On Mac OS:
-file
-```
+If you enable `Follow .lnk/.desktop to destination` and the glob search finds a `.lnk` or `.desktop` file, ie a shortcut, then the `${filePath}` variable will contain the target of the shortcut rather than the path to the shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the `Command Line Arguments` field in the parser.
diff --git a/src/lang/ja-JP/markdown/glob-parser-input.md b/src/lang/ja-JP/markdown/glob-parser-input.md
index 996ae77ce1..2a43592892 100644
--- a/src/lang/ja-JP/markdown/glob-parser-input.md
+++ b/src/lang/ja-JP/markdown/glob-parser-input.md
@@ -1,4 +1,4 @@
-# Glob Parser specific inputs
+# Glob Parser Specific Inputs
## User's glob
diff --git a/src/lang/ja-JP/markdown/glob-regex-parser-input.md b/src/lang/ja-JP/markdown/glob-regex-parser-input.md
index 22c1f5cea6..6491148a25 100644
--- a/src/lang/ja-JP/markdown/glob-regex-parser-input.md
+++ b/src/lang/ja-JP/markdown/glob-regex-parser-input.md
@@ -1,4 +1,4 @@
-# Glob-regex Parser specific inputs
+# Glob-regex Parser Specific Inputs
## User's glob-regex
@@ -6,7 +6,7 @@ This is where you create your glob for extracting title from file path. Please r
## How does it work?
-In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
+In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
| User's glob | Position |
| --------------------- | --------------------------- |
diff --git a/src/lang/ja-JP/markdown/gog-parser-input.md b/src/lang/ja-JP/markdown/gog-parser-input.md
index 756fa3de77..bf185f2c23 100644
--- a/src/lang/ja-JP/markdown/gog-parser-input.md
+++ b/src/lang/ja-JP/markdown/gog-parser-input.md
@@ -1,10 +1,20 @@
-# Unique inputs for GOG Galaxy Parser
+# GOG Galaxy Parser Specific Inputs
## Galaxy Path Override
-By default Steam ROM Manager assumes your Galaxy Client is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe`. This field allows you to override that path if your GOG Galaxy installation is elsewhere.
-This field is actually only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of the Galaxy Client.
+By default Steam ROM Manager assumes your GOG Galaxy executable is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe` on Windows and `/Applications/GOG Galaxy.app/Contents/MacOS/GOG Galaxy` on Mac. This field allows you to override that path if your GOG Galaxy executable is elsewhere.
-## Launch Via GOG Galaxy `[Recommend disabled]`
+Specifying the correct location of GOG Galaxy's executable is only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of GOG Galaxy's executable.
-What it sounds like, this toggle let's you set whether games will launch via GOG Galaxy or directly. Note that for some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+## Launch via GOG Galaxy `[Recommend disabled]`
+
+What it sounds like, this toggle determines whether games launch via GOG Galaxy or directly. For some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+
+## Parse Linked Executables from GOG Galaxy
+
+If enabled, SRM will pull in not only GOG games aquired from GOG Galaxy's store, but also those you have manually linked executables for in GOG Galaxy. This is desirable if those games are not being parsed into SRM elsewhere.
+
+A caveat is that because GOG Galaxy does not store the names linked executables in its database, SRM will use the directory name of the executable on Windows (e.g. `C:\\path\\to\\Hoa\\LaunchHoa.exe` would be assigned the title `Hoa`) and the executable name on Mac (e.g. `/Applications/Symphonia.app` would be assigned the title `Symphonia`).
+
+## Parse using Registry instead of Galaxy DB `[Windows only] [Recommend disabled]`
+This option will parse the Windows Registry for installed GOG games instead of GOG Galaxy's SQL database, allowing the parser to work even if GOG Galaxy is not installed. If this is enabled, `Parse Linked Executables` will of have no effect, but `Launch via GOG Galaxy` will work as normal.
\ No newline at end of file
diff --git a/src/lang/ja-JP/markdown/image-pool.md b/src/lang/ja-JP/markdown/image-pool.md
index 8b54cf72d9..0b4e4a94fb 100644
--- a/src/lang/ja-JP/markdown/image-pool.md
+++ b/src/lang/ja-JP/markdown/image-pool.md
@@ -1,3 +1,5 @@
-# Image pool `[supports variables]`{.noWrap}
+# Artwork pool `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting is used to allow different apps share the same images -- same "image pool", or allow unique image pool per app. To use unique image pool per app just set it to something unique. For example `${fuzzyTitle} SNES`{.noWrap}.
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset.
+
+This field is used to allow games from different parsers to share the same images (i.e. the same "image pool") if they have the same title. If you want different parsers not to share images for games with the same title, just set this field to something unique, for example `${fuzzyTitle} SNES`{.noWrap} or `${fuzzyTitle} ${parserTitle}`{.noWrap}.
diff --git a/src/lang/ja-JP/markdown/image-providers.md b/src/lang/ja-JP/markdown/image-providers.md
index 0b778780c6..f70a9275f6 100644
--- a/src/lang/ja-JP/markdown/image-providers.md
+++ b/src/lang/ja-JP/markdown/image-providers.md
@@ -1,7 +1,7 @@
-# Image providers
+# Artwork providers
-Here you can select image providers that are used to retrieve images. This option is for this configuration only.
+Here you can select artwork providers (online sources of game art) that are used by SRM to get art for your games.
## Similar option in "Settings" menu
-Settings menu has "Enabled providers" which enable image providers globally -- if it's not enabled in Settings, it won't work.
+Settings menu has "Enabled providers" which enable artwork providers globally -- if it's not enabled in Settings, it won't work.
diff --git a/src/lang/ja-JP/markdown/intro.md b/src/lang/ja-JP/markdown/intro.md
index f8d5fcabda..a6d65c0059 100644
--- a/src/lang/ja-JP/markdown/intro.md
+++ b/src/lang/ja-JP/markdown/intro.md
@@ -8,8 +8,8 @@ Also, don't forget to check FAQ. If you still got questions about setting up con
After saving parser configuration, **1** of **3** colors will be shown next to its title:
- -- Enabled configuration. This configuration will be used when generating a list in **preview** page.
+ -- Enabled configuration. This configuration will be used when generating a list in **Add Games** page.
- -- Unsaved changes. This configuration will not be used when generating a list in **preview** page, however earlier **saved** version will be used instead.
+ -- Unsaved changes. This configuration will not be used when generating a list in **Add Games** page, however earlier **saved** version will be used instead.
- -- Disabled configuration. This configuration will not be used when generating a list in **preview** page.
\ No newline at end of file
+ -- Disabled configuration. This configuration will not be used when generating a list in **Add Games** page.
\ No newline at end of file
diff --git a/src/lang/ja-JP/markdown/itch-io-parser-input.md b/src/lang/ja-JP/markdown/itch-io-parser-input.md
index 4b0057c170..ffa409af96 100644
--- a/src/lang/ja-JP/markdown/itch-io-parser-input.md
+++ b/src/lang/ja-JP/markdown/itch-io-parser-input.md
@@ -1,4 +1,4 @@
-# itch.io Parser specific inputs
+# itch.io Parser Specific Inputs
## itch.io AppData Path Override
By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere.
diff --git a/src/lang/ja-JP/markdown/itch-io-parser.md b/src/lang/ja-JP/markdown/itch-io-parser.md
index 7f29ffc42d..accb8b5ad2 100644
--- a/src/lang/ja-JP/markdown/itch-io-parser.md
+++ b/src/lang/ja-JP/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
# itch.io Parser
-This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/ja-JP/markdown/legendary-parser-input.md b/src/lang/ja-JP/markdown/legendary-parser-input.md
index 80ca0bcbbc..4a826e43da 100644
--- a/src/lang/ja-JP/markdown/legendary-parser-input.md
+++ b/src/lang/ja-JP/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
-# Legendary Parser specific inputs
+# Legendary Parser Specific Inputs
+
+## Legendary Path Override
+
+By default Steam ROM Manager uses `(Get-Command legendary).Path` on Windows and `which legendary` on Linux and Mac to determine the location of your Legendary executable. This field allows you to override that path.
+
+Specifying the correct location of the Legendary executable is only necessary if you enable launch via Legendary (see below), as otherwise SRM has no need of the location of Legendary's executable.
## Legendary `installed.json` Path Override
Most users shouldn't use this, as they use the standard `Legendary` installation where installed games manifest will be located at `~/.config/legendary/installed.json`.
If, however, for some reason your installed games manifest is located in a non-typical location then you can specify the correct manifest path here.
+
+## Launch via Legendary `[Recommend enabled]`
+
+What it sounds like, this toggle determines whether games launch via Legendary or directly. Launching via Legendary provides access to Epic's online services.
diff --git a/src/lang/ja-JP/markdown/local-images.md b/src/lang/ja-JP/markdown/local-images.md
index cff60e5674..5da2e5ae4c 100644
--- a/src/lang/ja-JP/markdown/local-images.md
+++ b/src/lang/ja-JP/markdown/local-images.md
@@ -1,4 +1,4 @@
-# Local images (optional) `[supports variables]`{.noWrap}
+# Local images `[supports variables]`{.noWrap}
Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
diff --git a/src/lang/ja-JP/markdown/manual-parser-input.md b/src/lang/ja-JP/markdown/manual-parser-input.md
index bc1848d45a..65265ebd32 100644
--- a/src/lang/ja-JP/markdown/manual-parser-input.md
+++ b/src/lang/ja-JP/markdown/manual-parser-input.md
@@ -1,4 +1,4 @@
-# Manual Parser specific inputs
+# Manual Parser Specific Inputs
## Manifests Directory `[Supports Environment Variables]`{.noWrap}
@@ -17,7 +17,8 @@ The names of the files do not matter. What does matter is that each `manifest.js
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args",
+ "appendArgsToExecutable": false
}
```
Or a list of titles, like so:
@@ -27,15 +28,19 @@ Or a list of titles, like so:
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args".
+ "appendArgsToExecutable": true
},
{
"title": "gameTitle2",
"target": "game2/path/target.sh",
"startIn": "game2/path",
- "launchOptions": "--args2"
+ "launchOptions": "--args2",
+ "appendArgsToExecutable": false
}
]
```
A typical use case would be to use a single json file per game type, or per year, etc.
+
+Just like for ROM parsers, `appendArgsToExecutable` determines whether `launchOptions` are appended to the shortcut `target` or appear separately as launch options in steam.
diff --git a/src/lang/ja-JP/markdown/non-srm-shortcuts-parser.md b/src/lang/ja-JP/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..4485008a1a
--- /dev/null
+++ b/src/lang/ja-JP/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,29 @@
+# Non-SRM Shortcut Parser
+
+This parser imports non SRM steam shortcuts into SRM so their artowrk can be managed. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
+
+## User accounts
+
+Used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
+
+```
+${...}
+```
+
+You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
+
+ {.fitImage .center}
+
+For example, this is how you specify account for "Banana" and "Apple":
+
+```
+${Banana}${Apple}
+```
+
+You can also limit accounts by specifying their ids directly. For example:
+
+```
+${56489124}${21987424}
+```
+
+Would limit the search to `steam/userdata/56489124` and `steam/userdata/21987424`.
diff --git a/src/lang/ja-JP/markdown/parser-env-variables.md b/src/lang/ja-JP/markdown/parser-env-variables.md
index 3b186a70f7..e95baf9137 100644
--- a/src/lang/ja-JP/markdown/parser-env-variables.md
+++ b/src/lang/ja-JP/markdown/parser-env-variables.md
@@ -13,3 +13,5 @@ These variables are pre parsed and can be used even in the Rom Directory, Steam
The utility of the environment variable `${srmdir}` is to make SRM fully portable, eg if you wanted to have the directory layout `D:\Games\Roms` and `D:\Games\PortableSRM\SRM.exe` then setting the field Roms Directory to be `${srmdir}${/}..${/}Roms` would allow you to move the Games directory somewhere else without breaking your setup.
+
+Function variables can also be used in fields that permit environment variables (e.g. `${os:win|C:\path\to\startdir|${os:linux|/path/to/startdir}}`)
diff --git a/src/lang/ja-JP/markdown/parser-variables.md b/src/lang/ja-JP/markdown/parser-variables.md
index 7e9eb636ff..7c164a55bc 100644
--- a/src/lang/ja-JP/markdown/parser-variables.md
+++ b/src/lang/ja-JP/markdown/parser-variables.md
@@ -4,13 +4,13 @@ Here are tables of variables that can be used with options that have `[supports
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -48,6 +48,7 @@ In case executable directory input is left **empty**, `${exePath}`{.noWrap} is e
| `${title}` | Extracted title |
| `${fuzzyTitle}` | Fuzzy matched title |
| `${finalTitle}` | Title which was the end result of title modifier |
+| `${parserTitle}` | The value of the `Parser Title` field |
In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
@@ -65,6 +66,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -74,7 +76,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/ja-JP/markdown/parsers-list.md b/src/lang/ja-JP/markdown/parsers-list.md
index 1e5e43f80f..6ab3846611 100644
--- a/src/lang/ja-JP/markdown/parsers-list.md
+++ b/src/lang/ja-JP/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# Parsers
-In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**
diff --git a/src/lang/ja-JP/markdown/rom-directory.md b/src/lang/ja-JP/markdown/rom-directory.md
index 555452224f..5b15d2e2b7 100644
--- a/src/lang/ja-JP/markdown/rom-directory.md
+++ b/src/lang/ja-JP/markdown/rom-directory.md
@@ -1,3 +1,3 @@
-# ROMs directory `[supports environment variables]`
+# ROMs directory `[supports env variables]`
Starting directory for game or app files.
diff --git a/src/lang/ja-JP/markdown/settings.md b/src/lang/ja-JP/markdown/settings.md
index c35d49e806..dd35c64609 100644
--- a/src/lang/ja-JP/markdown/settings.md
+++ b/src/lang/ja-JP/markdown/settings.md
@@ -1,31 +1,51 @@
## General Settings
+### Check for updates on start `[Recommend enabled]`
+Check if an update for SRM is available and prompt to update each time SRM launches.
+### Auto kill Steam `[Recommend enabled]`
+SRM will attempt to kill all running instances of Steam whenever it needs to read/write collections information (specifically when saving to steam from `Add Games` and when removing all games from `Settings`).
+### Auto restart Steam `[Recommend enabled]`
+SRM will attempt to restart Steam after killing it and completing whatever collections related task required killing Steam in the first place. Requires `Auto kill Steam` to be enabled.
### Offline mode `[Recommend disabled]`
-
When enabled SRM makes no network requests, useful if you only want to use SRM for local images.
### Automatically clear log before testing parsers `[Recommend enabled]`
When enabled the log is cleared each time a parser is tested.
+## Add Games
### Show current steam images by default `[Recommend enabled]`
When enabled this setting tells SRM to default to whatever artwork is currently in steam for a given app. If it is disabled, then every time SRM is run (and saved) all artwork will be reset.
### Remove shortcuts for disabled parsers `[Recommend disabled]`
When enabled disabling a parser and running SRM will remove all added entries and artwork for the disabled parser. Useful if you want your steam library to be in 1-1 correspondence with enabled parsers.
-
+### Disable saving of steam categories `[Recommend disabled]`
+SRM will not write any collections information when saving to Steam. This allows SRM to perform its tasks while Steam is still running, at the obvious cost that added games will not be categorized.
+### Hide Steam username from Add Games
+Steam does not allow user's to alter their Steam usernames. In some cases (childish names, dead names, etc), users may no longer wish to see their Steam usernames. This setting hides it from `Add Games`.
+### Remove all added games and controllers
+Undo all SRM added changes from Steam.
+### Remove all controllers only
+Undo all SRM added controller settings from Steam.
## Fuzzy Matcher Settings
### Log matching results `[Recommend disabled]`
When enabled more verbose logs appear for the fuzzy title matcher in the `Event log`. Useful for debugging incorrect fuzzy matches.
-
### Reset fuzzy list
Resets the stored list of titles used for fuzzy matching to the list of titles returned by `SteamGridDB` (removes any user added titles).
### Reset fuzzy cache
Clears the cache of titles that fuzzy matching has already seen (try this if changes you make to fuzzy list are not resulting in changes to titles in SRM).
-
## Image provider settings
-### Preload retrieved images `[Recommend disabled]`
-When enabled, SRM will pull all available artwork for every game, rather than pulling one piece of artwork at a time as the user flips through the images. Don't enable this unless you have a good reason and a very small library of games, otherwise it could result in very large (slow) network requests.
+### Artwork loading strategy `[Recommend Load artwork lazily]`
+This is the strategy SRM uses to pull artwork thumbnails for the `Add Games` UI. If you are parsing a lot of games, `Load artwork lazily` is recommended. `Preload first artwork` will try to pull the first piece of artwork for each game in each artwork category, and `Preload all artwork` will try to pull all available artwork for each game in each artwork category. `Preload all artwork` will cause network and performance issues unless the number of games is quite small (less than `30` or so).
### Enabled providers
-Global setting to disable certain providers. Currently the only image provider is `SteamGridDB` since ConsoleGrid and RetroGaming.cloud are defunct.
-
+Global setting to enable/disable particular image providers. Current options are `SteamGridDB` and `Steam Official`.
+### DNS manual override
+Set this if you want SRM to do DNS resolution internally, as opposed to relying on your system's default DNS server. This solves many timeout issues on the Steam Deck.
+### Batch size for image downloads
+Number of images SRM will attempt to download at once when saving to Steam. May help to lower this if you are receiving timeout errors from SGDB.
+### Nuke artwork choice cache
+SRM attempts to remember your artwork choices, this button forcibly forgets all of them.
+### Nuke local artwork backups
+This deletes all artwork backups created for parsers with `Backup artwork locally` enabled.
## Community Variables and Presets
### Force download custom variables.
Resets the custom variables JSON file that is used for certain presets to whatever its current state is on the SRM github. Useful if the custom variables JSON file has been corrupted.
### Force download custom presets.
Resets the JSON files for parser presets to whatever is on the SRM github. Useful if your presets list is not automatically updating for some reason, or has become corrupted.
+### Force download shell scripts
+Re fetches the shell scripts SRM uses to perform certain tasks.
diff --git a/src/lang/ja-JP/markdown/sgdb-api-input.md b/src/lang/ja-JP/markdown/sgdb-api-input.md
index 553f4fda77..7651927a64 100644
--- a/src/lang/ja-JP/markdown/sgdb-api-input.md
+++ b/src/lang/ja-JP/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
This set of options are direct inputs into the APIs of image providers, for example SteamGridDB's [API](https://www.steamgriddb.com/api/v2).
-An interesting quirk of these settings is that re-generating the preview (hitting the `Generate App List` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove App List` button in preview before hitting `Generate App List`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the preview with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
+An interesting quirk of these settings is that re-generating the game list in Add Games (hitting the `Refresh` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove from Steam` button in Add Games before hitting `Refresh`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the game list with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
## SteamGridDB
diff --git a/src/lang/ja-JP/markdown/start-in-directory.md b/src/lang/ja-JP/markdown/start-in-directory.md
index 86cf962c23..df84a987d5 100644
--- a/src/lang/ja-JP/markdown/start-in-directory.md
+++ b/src/lang/ja-JP/markdown/start-in-directory.md
@@ -1,6 +1,6 @@
-# "Start In" directory (optional) `[supports environment variables]`{.noWrap}
+# "Start In" directory `[supports env variables]`
-By default "Start In" directory is set to executable's directory:
+If `"Start In" Directory` is unset it defaults to the executable's directory. If not executable is set, it defaults to the directory of the ${filePath} variable:
 {.fitImage.center}
@@ -11,4 +11,5 @@ This option allows you to specify any directory you want as a "Start In" directo
It is useful when you're using batch files to start emulator and a game, but emulator requires a specific "Start In" directory to work properly.
## Shortcut Passthrough
+
If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the directory of the target of that shortcut. In the future, it will be overridden with the start in directory of that shortcut.
diff --git a/src/lang/ja-JP/markdown/steam-category.md b/src/lang/ja-JP/markdown/steam-category.md
index 079073dab9..677ea3d0ef 100644
--- a/src/lang/ja-JP/markdown/steam-category.md
+++ b/src/lang/ja-JP/markdown/steam-category.md
@@ -1,21 +1,13 @@
-# Steam category (optional) `[supports variables]`{.noWrap}
+# Steam category`{.noWrap}
+
+Hit the little plus sign to add your first category.
-Also known as "tags", can be used to group apps in Steam. In order to set Steam category, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify categories for "WII" and "GBA" (paired with "ROMS") category:
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
This how "WII" category will look like in Steam:

## Emojis and non-Standard Unicode Characters
+
Please not that this field works just fine with emojis like `🎮` work just fine in category names.
You can find a list of them here: [https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/ja-JP/markdown/steam-directory.md b/src/lang/ja-JP/markdown/steam-directory.md
index b15010e819..bb82bc6a97 100644
--- a/src/lang/ja-JP/markdown/steam-directory.md
+++ b/src/lang/ja-JP/markdown/steam-directory.md
@@ -1,4 +1,4 @@
-# Steam directory `[supports environment variables]`{.noWrap}
+# Steam directory `[supports env variables]`
Must be a valid Steam directory which contains Steam executable. In order for Steam account to be detected, user must have logged in at least once.
diff --git a/src/lang/ja-JP/markdown/steam-parser-input.md b/src/lang/ja-JP/markdown/steam-parser-input.md
index 75f21d380d..1174b71b64 100644
--- a/src/lang/ja-JP/markdown/steam-parser-input.md
+++ b/src/lang/ja-JP/markdown/steam-parser-input.md
@@ -1,4 +1,4 @@
-# Steam Parser specific inputs
+# Steam Parser Specific Inputs
## Find artwork for games only
If enabled SRM will filter out any Steam applications that are not full games, such as demos and tools like `3DMark` or `Wallpaper Engine`.
diff --git a/src/lang/ja-JP/markdown/steam-parser.md b/src/lang/ja-JP/markdown/steam-parser.md
index b158f676a8..5b93d8bc77 100644
--- a/src/lang/ja-JP/markdown/steam-parser.md
+++ b/src/lang/ja-JP/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Steam parser
-This parser imports steam games into SRM. It does not add shortcuts, but it allows you to set the artwork for your steam games. By default the parser will get games from all user accounts in the steam directory specified — if you would prefer to only get the games for a subset of the accounts then specify them in the `User accounts` field.
-
-## Limitations
-Unfortunately for the time being this parser only works for steam games **that are in at least one category**. The reason for this is that Steam only stores your full list of games locally if they are categorized. Sometimes, for unknown reasons, games will be stored locally regardless and the parser will work, but to be safe the easiest thing to do is just **create a Steam Category** that has all of your Steam games in it.
-
-## User accounts (Optional)
-
-Can be used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
-```
-${...}
-```
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
-
- {.fitImage.center}
-
-For example, this is how you specify account for "Banana" and "Apple":
-
-```
-${Banana}${Apple}
-```
-
-In case the [use account credentials](#what-does-use-account-credentials-do) is disabled, you can still limit accounts by specifying their ids directly:
-
-```
-${56489124}${21987424}
-```
-
-## What does "Skip found accounts with missing data directories" do?
-
-Sometimes Steam's file that contains logins, may contain users that do not have data directory created (might have been manually deleted, etc.). You can specify to skip those accounts by enabling this option.
-
-## What does "Use account credentials" do?
-
-Tries to look for account credentials in Steam directory. In other words -- username. Username then can be used to filter accounts without actually having to know their ids.
-
-### Warning!
-
-If Steam has credential saving disabled, this option will prevent finding user accounts.
+This parser imports steam games into SRM so you can manage their artwork. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
\ No newline at end of file
diff --git a/src/lang/ja-JP/markdown/title-from-variable.md b/src/lang/ja-JP/markdown/title-from-variable.md
index bb6e4a52a2..6aa467e98c 100644
--- a/src/lang/ja-JP/markdown/title-from-variable.md
+++ b/src/lang/ja-JP/markdown/title-from-variable.md
@@ -1,43 +1,40 @@
-# Title from custom variable (optional)
+# Title from custom variable
-Allows to overwrite extracted title with a custom variable. This is done right after title extraction, meaning that the replaced title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+Allows one to overwrite the extracted title with a custom variable, pulled from the `json` files described below. This happens right after title extraction, meaning that the new title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+
+Title matching is limited to specific groups of custom variables. For example, this is how you specify groups "FBN" and "PSN":
-Title matching can be limited to specific groups of custom variables. In order to specify groups, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify groups for "RPCS3" and "rpcs3":
```
-${RPCS3}${rpcs3}
+${RPCS3}${PSN}
```
-Make sure you **toggle enable to on**.
-
-
-## Case-insensitive option
-
-If this option is enabled, case-insensitive matching will be done and first matched custom variable will be used.
-
-## Note. This feature is **experimental**
+# How it works
-Basically, it might change in the future release (very unlikelly). Furthermore, currently the only way to add variables is to create/edit `customVariables.json` used by SRM directly.
+There are two variable files, `customVariables.json` which is maintained by SRM (don't change this one, your changes will be overwritten every time SRM restarts) and `userVariables.json` which is where you should put your own variables. Both files are located in SRM's `Config Directory`.
-This file is/shoud be located in SRM's `userData` directory.
-
-SRM will throw error unless the following JSON structure is used:
+Both `customVariables.json` and `userVariables.json` have the same JSON structure. SRM will throw an error unless the following JSON structure is used:
```
{
- "RPCS3": {
+ "Group1": {
"NPUB30698": "Catherine",
"NPUB30024": "1942: Joint Strike",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
+ "Group2": {
+ "The Legend Of Zelda": "The Legend Of Link",
+ ...
},
...
}
```
-Then if your user glob were `MyDir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `MyDir`, you would set the title from custom variable field to `${Custom Stuff}` to obtain a final title of "The Legend of Link".
+Then if your user glob were `romsdir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `romsdir`, you would set the title from custom variable field to `${Group2}` to obtain a title of "The Legend of Link".
+
+## Case-insensitive variables
+
+If enabled, case-insensitive matching will be done and first matched custom variable will be used.
+
+## Skip file if variable not found
+
+If enabled, titles that don't match a variable will be excluded.
diff --git a/src/lang/ja-JP/markdown/title-modifier.md b/src/lang/ja-JP/markdown/title-modifier.md
index 791e000e27..4ecb2d02db 100644
--- a/src/lang/ja-JP/markdown/title-modifier.md
+++ b/src/lang/ja-JP/markdown/title-modifier.md
@@ -1,9 +1,11 @@
# Title modifier `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting can be used to prepend or append desired characters to a title which will be added to Steam. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset. This setting can be used to prepend or append desired characters to a Steam shortcut's `Title`. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+
```
${fuzzyTitle} (1.7.5)
```
+
You can use `${title}`{.noWrap} or any other variable to construct the final title.
This setting influences Steam's APP ID.
diff --git a/src/lang/ja-JP/markdown/uplay-parser-input.md b/src/lang/ja-JP/markdown/uplay-parser-input.md
index f40bbcd928..3a54e84b1a 100644
--- a/src/lang/ja-JP/markdown/uplay-parser-input.md
+++ b/src/lang/ja-JP/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# Unique inputs for UPlay Parser
+# UPlay Parser Specific Inputs
+
## Ubisoft Directory Override
By default Steam ROM Manager assumes your UPlay install is located in `C:\Program Files (x86)\Ubisoft`. This field allows you to override that path if your UPlay installation is elsewhere.
## Launch Via UPlay `[Recommend disabled]`
-
What it sounds like, this toggle let's you set whether games will launch via UPlay or directly from the game's executable.
For UPlay this doesn't matter too much as UPlay games will automatically launch UPlay in the background even when launched from the executable. Steam Overlay will not work when `Launch via UPlay` is enabled, whereas both Steam and Ubisoft overlays work when `Launch via UPlay` is disabled.
diff --git a/src/lang/ja-JP/markdown/user-accounts.md b/src/lang/ja-JP/markdown/user-accounts.md
index 99e4ea0bee..c0101b5f74 100644
--- a/src/lang/ja-JP/markdown/user-accounts.md
+++ b/src/lang/ja-JP/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# User accounts (Optional)
+# User accounts
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
-
-`${...}`
-
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either:
-
-* The account id is the name of the account directory that appears in `/path/to/steam/userdata`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
+This field is used to limit SRM's effects to specific user accounts. It can be set to `Global` or over ridden per parser.
## Warning
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and `Choose Accounts` will only be able to pull your `Steam IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Settings` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
diff --git a/src/lang/ja-JP/markdown/user-exceptions.md b/src/lang/ja-JP/markdown/user-exceptions.md
index a53dd0d6d9..a6e47de497 100644
--- a/src/lang/ja-JP/markdown/user-exceptions.md
+++ b/src/lang/ja-JP/markdown/user-exceptions.md
@@ -12,7 +12,7 @@ The `Extracted Title` field matches in two ways:
Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`.
-Exceptions generated from `Preview` will always be in the form `Extracted Title ${id:XXXXXX}`.
+Exceptions generated from `Add Games` will always be in the form `Extracted Title ${id:XXXXXX}`.
## New Display Title
diff --git a/src/lang/ko-KR/langStrings.json b/src/lang/ko-KR/langStrings.json
index d42bc546d5..60484346ba 100644
--- a/src/lang/ko-KR/langStrings.json
+++ b/src/lang/ko-KR/langStrings.json
@@ -14,17 +14,17 @@
"games": "All Artwork"
},
"by": "by",
- "refreshImages": "Refresh images",
- "saveImage": "Save image to file",
- "addLocalImages": "Add local images",
- "retryDownload": "Retry download",
- "generateAppList": "Parse",
+ "refreshImages": "Refresh artwork",
+ "saveImage": "Save artwork to file",
+ "addLocalImages": "Add local artwork",
+ "retryDownload": "Retry artwork download",
+ "generateAppList": "Refresh",
"saveAppList": "Save to Steam",
"removeAppList": "Remove from Steam",
"remainingImages": "Retrieving urls:",
"stopUrlRetrieving": "Stop",
- "exportSelections": "Export",
- "importSelections": "Import",
+ "exportSelections": "Export art",
+ "importSelections": "Import art",
"backButton": "Back",
"logButton": "Log"
},
@@ -44,46 +44,46 @@
"removingFromCategories": "Removing all added category information",
"writingVDF_entries__i": "Writing VDF files and downloading high res images in batches of ${batchSize}.",
"updatingKnownSteamDirList": "Updating a list of known Steam directories.",
- "retryingDownload__i": "Retrying image download from \"${imageUrl}\" for \"${appTitle}\".",
- "disabledConfigurations__i": "${count} user configuration(s) was/were skipped (disabled by user).",
- "invalidConfigurations__i": "${count} user configuration(s) was/were skipped (invalid).",
+ "retryingDownload__i": "Retrying artwork download from \"${imageUrl}\" for \"${appTitle}\".",
+ "disabledConfigurations__i": "${count} user parser(s) was/were skipped (disabled by user).",
+ "invalidConfigurations__i": "${count} user parser(s) was/were skipped (invalid).",
"executingParsers": "Executing parsers.",
- "shutdownSteam": "Please shutdown Steam if it is running.",
- "noParserConfigurations": "Please create parser configuration in \"Parsers\" menu first.",
+ "shutdownSteam": "If Steam is running, exit Steam.",
+ "noParserConfigurations": "Please create parser in \"Parsers\" menu first.",
"parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
- "allImagesRetrieved": "All available image urls retrieved.",
+ "allImagesRetrieved": "All available artwork urls retrieved.",
"providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
"noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
- "preparingExport": "Preparing export of image choices.",
- "exportProgress__i": "Saving image choices ${progress}.",
- "readingSelections": "Applying imported image choices."
+ "preparingExport": "Preparing export of artwork choices.",
+ "exportProgress__i": "Saving artwork choices ${progress}.",
+ "readingSelections": "Applying imported artwork choices."
},
"errors": {
- "fatalError": "Fatal error occurred in Preview. See event log for details.",
- "fatalError__i": "Fatal Preview Error ${error}",
+ "fatalError": "Fatal error occurred in Add Games. See event log for details.",
+ "fatalError__i": "Fatal Add Games error: ${error}",
"knownSteamDirListIsEmpty": "A list of known Steam directories is empty.",
"steamIsRunning": "Cannot make changes while steam is running!",
"categorySaveError": "Error updating categories. See event log for details.",
"categorySaveError__i": "Category error (shortcuts and artwork will still be added): ${error}",
"controllerSaveError": "Error updating controller templates. See event log for details.",
"controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
- "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
+ "retryingDownload__i": "Artwork download from \"${imageUrl}\" failed for \"${appTitle}\".",
"providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
"unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
"exportError__i": "Could not save selections package folder: ${error}",
"importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
- "importFailError__i": "Could not import image choices: ${error}"
+ "importFailError__i": "Could not import artwork choices: ${error}"
},
"success": {
"writingVDF_entries": "Done adding/removing entries.",
"removingVDF_entries": "Entries have been removed.",
- "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
- "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
+ "exportSuccess__i": "Artwork choices folder successfully saved to \"${path}\"!",
+ "importSelectionsSuccess__i": "Successfully imported ${count} artwork choices!"
}
}
},
"steamParser": {
- "onlyGamesTitle": "Find artwork for games only (no tools)",
+ "onlyGamesTitle": "Find artwork for games only (no tools or demos)",
"onlyInstalledTitle": "Find artwork for installed titles only",
"sourceModsTitle": "Find artwork for unofficial source mods",
"errors": {
@@ -93,16 +93,30 @@
"fatalError__i": "> Steam parser failed with fatal error:\n ${error}"
}
},
+ "nonSRMShortcutsParser": {
+ "errors": {
+ "noSteamAccounts": "> Steam directory specified has no accounts.",
+ "fatalError__i": "> Non-SRM Shortcuts parser failed with fatal error:\n ${error}"
+ }
+ },
"manualParser": {
"manifestsInputTitle": "Manifests Directory",
- "manifestsInputPlaceholder": "/path/to/your/manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"errors": {
"fatalError__i": "> Manual parser failed with fatal error:\n ${error}"
}
},
"epicParser": {
"manifestsInputTitle": "Epic Manifests Directory Override",
- "manifestsInputPlaceholder": "/path/to/Manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"launcherModeInputTitle": "Launch games via Epic for online services",
"errors": {
"invalidManifestsOverride": "> Manifests Override is not a valid directory.",
@@ -112,25 +126,56 @@
}
},
"legendaryParser": {
+ "launcherModeInputTitle": "Launch games via Legendary for online services",
"legendaryInstalledFileTitle": "Legendary installed.json Path Override",
- "legendaryInstalledFilePlaceholder": "/path/to/legendary/installed.json",
+ "legendaryInstalledFilePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary\\installed.json",
+ "Darwin": "/path/to/legendary/installed.json",
+ "Linux": "/path/to/legendary/installed.json"
+ },
+ "legendaryExeOverrideTitle": "Legendary Path Override",
+ "legendaryExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary.exe",
+ "Darwin": "/path/to/legendary",
+ "Linux": "/path/to/legendary"
+ },
"errors": {
"legendaryNotInstalled": "> Legendary installed.json not found",
- "fatalError__i": "> Legendary parser failed with fatal error: \n ${error}"
+ "fatalError__i": "> Legendary parser failed with fatal error:\n ${error}"
+ }
+ },
+ "battleNetParser": {
+ "battleExeOverrideTitle": "Battle.net.exe Path Override",
+ "battleExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Battle.net\\Battle.net.exe",
+ "Darwin": "/path/to/Battle.net.app/Contents/MacOS/Battle.net",
+ "Linux": "/path/to/Battle.net"
+ },
+ "errors": {
+ "battleNotCompatible": "> Battle.net parser is only available on Windows.",
+ "fatalError__i": "> Battle.net parser failed with fatal error:\n ${error}"
}
},
"UWPParser": {
"UWPDirTitle": "XboxGames Directory Override",
- "UWPDirPlaceholder": "/path/to/XboxGames or /path/to/WindowsApps",
+ "UWPDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\XboxGames\\ or C:\\path\\to\\WindowsApps\\",
+ "Darwin": "/path/to/XboxGames/ or /path/to/WindowsApps/",
+ "Linux": "/path/to/XboxGames/ or /path/to/WindowsApps/"
+ },
"UWPLauncherModeTitle": "Launch game as UWP instead of launcher helper",
"errors": {
"fatalError__i": "> UWP parser is not compatible in this platform.",
- "UWPNotCompatible": "> UWP parser failed with fatal error:\n ${error}"
+ "UWPNotCompatible": "> UWP parser is only available on Windows."
}
},
"uplayParser": {
"uplayDirTitle": "Ubisoft Directory Override",
- "uplayDirPlaceholder": "/path/to/Ubisoft/",
+ "uplayDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Ubisoft\\",
+ "Darwin": "/path/to/Ubisoft/",
+ "Linux": "/path/to/Ubisoft/"
+ },
"launcherModeInputTitle": "Launch games via UPlay for online services",
"errors": {
"invalidManifestsOverride": "> Uplay Directory Override is not a valid directory.",
@@ -142,8 +187,14 @@
},
"gogParser": {
"galaxyExeOverrideTitle": "Galaxy Path Override",
- "galaxyExeOverridePlaceholder": "/path/to/GalaxyClient.exe",
+ "galaxyExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\GalaxyClient.exe",
+ "Darwin": "/path/to/GOG Galaxy.app/Contents/MacOS/GOG Galaxy",
+ "Linux": "/path/to/GalaxyClient"
+ },
"launcherModeInputTitle": "Launch games via GOG Galaxy",
+ "parseLinkedExecsTitle": "Parse linked executables from GOG Galaxy",
+ "parseRegistryEntries": "Parse using Registry instead of Galaxy DB",
"errors": {
"invalidGalaxyExeOverride": "> Galaxy Client Override is not a valid path.",
"fatalError__i": "> GOG Galaxy parser failed with fatal error:\n ${error}",
@@ -153,7 +204,11 @@
},
"amazonGamesParser": {
"exeOverrideTitle": "Amazon Games Path Override",
- "exeOverridePlaceholder": "/path/to/Amazon Games.exe",
+ "exeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Amazon Games.exe",
+ "Darwin": "/path/to/Amazon Games.app/Contents/MacOS/Amazon Games",
+ "Linux": "/path/to/Amazon Games"
+ },
"launcherModeInputTitle": "Launch games via Amazon Games",
"errors": {
"invalidExeOverride": "> Amazon Games Installation Override is not a valid directory.",
@@ -164,7 +219,11 @@
},
"itchIoParser": {
"itchIoAppDataOverrideTitle": "itch.io AppData Directory Override",
- "itchIoAppDataOverridePlaceholder": "/path/to/itch",
+ "itchIoAppDataOverridePlaceholder": {
+ "Windows_NT": "C:\\AppData\\itch\\",
+ "Darwin": "~/Library/Application Support/itch/",
+ "Linux": "~/.config/itch/"
+ },
"itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Windows-on-Linux Install Drive Redirect",
"itchIoWindowsOnLinuxInstallDriveRedirectPlaceholder": "/mnt/d/",
"errors": {
@@ -177,7 +236,11 @@
},
"eaDesktopParser": {
"eaGamesDirTitle": "EA Games Directory Override",
- "eaGamesDirPlaceholder": "/path/to/EA Games/",
+ "eaGamesDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\EA Games\\",
+ "Darwin": "/path/to/EA Games/",
+ "Linux": "/path/to/EA Games/"
+ },
"eaLauncherModeTitle": "Launch games via EA Desktop",
"errors": {
"fatalError__i": "> EA Desktop parser failed with fatal error:\n ${error}",
@@ -186,7 +249,7 @@
}
},
"globParser": {
- "inputTitle": "User's glob",
+ "inputTitle": "Search glob",
"inputPlaceholder": "${title}.@(iso|ISO)",
"errors": {
"noTitle__md": "> File glob must contain `${title}`!",
@@ -203,7 +266,7 @@
}
},
"globRegexParser": {
- "inputTitle": "User's glob-regex",
+ "inputTitle": "Search glob-regex",
"inputPlaceholder": "${/valid regex/}",
"errors": {
"noRegex__md": "> File glob must contain `${regex}` where **regex** is your regular expression!",
@@ -226,18 +289,22 @@
"stylesTitle": "Allowed grid styles",
"stylesHeroTitle": "Allowed hero styles",
"stylesLogoTitle": "Allowed logo styles",
- "stylesIconTitle": "Allowed icon styles"
+ "stylesIconTitle": "Allowed icon styles",
+ "sizesTitle": "Allowed banner dimensions",
+ "sizesHeroTitle": "Allowed hero dimensions",
+ "sizesTallTitle": "Allowed portrait dimensions",
+ "sizesIconTitle": "Allowed icon dimensions"
},
"logger": {
"component": {
"noMessages": "No messages are available",
- "error": "ERROR",
- "info": "INFO",
- "success": "SUCCESS",
- "fuzzy": "FUZZY",
- "textWrap": "TEXT-WRAP",
- "autoscroll": "AUTOSCROLL",
- "clearLog": "Clear log",
+ "error": "Error messages",
+ "info": "Info messages",
+ "success": "Success messages",
+ "fuzzy": "Fuzzy messages",
+ "textWrap": "Wrap text",
+ "autoscroll": "Autoscroll",
+ "clearLog": "Clear",
"issueDescription": "Thorough issue description with passable spelling.",
"handleExample": "CoolHandle#1234"
}
@@ -251,40 +318,42 @@
"corruptedVariables__i": "Saved custom variables are invalid!\r\nPermanent variable saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "Custom variables file has been downloaded."
+ "downloaded": "Custom variables file has been updated."
}
}
},
"configPresets": {
"service": {
"error": {
- "failedToDownload__i": "Failed to download configuration presets file. Status: ${error}.",
+ "failedToDownload__i": "Failed to download configuration presets file from commit ${commit}. Status: ${error}.",
"writingError": "Error occurred while saving configuration presets.",
"loadingError": "Error occurred while loading configuration presets.",
"corruptedVariables__i": "Saved configuration presets are invalid!\r\nPermanent file saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "New config presets have been downloaded."
+ "downloaded": "Community presets have been updated."
}
}
},
"settings": {
"component": {
"label": {
- "general": "General settings",
- "imageProviders": "Image provider settings",
- "fuzzy": "Fuzzy matcher settings",
- "environmentVariables": "Environment variable settings",
- "communityPresets": "Community variable/preset settings"
+ "general": "General",
+ "imageProviders": "Artwork Providers",
+ "fuzzy": "Fuzzy Matcher",
+ "environmentVariables": "Environment Variables",
+ "communityPresets": "Community Presets and Custom Variables"
},
"text": {
+ "autoUpdate": "Check for updates on start",
"offlineMode": "Offline mode",
- "removeApps_desc": "all added app entries and controllers",
+ "removeApps_desc": "all added games and controllers",
"removeApps_btn": "Remove",
- "preloadImages": "Preload retrieved images immediately",
+ "preloadImages": "Artwork loading strategy",
"fuzzy_verbose": "Log matching results",
- "fuzzy_filter": "Filter images",
+ "fuzzy_filter": "Filter artwork",
"enabledProviders": "Enabled image providers",
+ "dnsServers": "DNS manual override",
"selectLanguage": "Select language",
"selectTheme": "Select theme",
"resetFuzzy_desc": "fuzzy list",
@@ -292,28 +361,38 @@
"resetFuzzy_btn": "Reset",
"customVariables_desc": "custom variables",
"configPresets_desc": "config presets",
- "showSteamImages": "Show current Steam images by default",
+ "showSteamImages": "Show current Steam artwork by default",
"deleteDisabledShortcuts": "Remove shortcuts for disabled parsers",
"clearLogOnTest": "Automatically clear log before testing parsers",
- "configDir": "Open Config Directory"
+ "configDir": "Config Directory",
+ "steamDir": "Steam Directory"
},
"placeholder": {
"noProviders": "None",
- "steamDirectoryWin": "Typically C:\\Program Files (x86)\\Steam",
- "steamDirectoryMac": "Typically ~/Library/Application Support/Steam",
- "steamDirectoryLinux": "Typically /home/user/.steam/steam",
"userAccounts": "For example ${steamlogin}",
- "romsDirectoryWin": "For example D:\\ROMs",
- "romsDirectoryMac": "For example ~/ROMs",
- "romsDirectoryLinux": "For example ~/ROMs",
- "retroarchPathWin": "For example C:\\Path\\To\\retroarch.exe",
- "retroarchPathLinux": "For example /path/to/retroarch",
- "retroarchPathMac": "For example /path/to/retroarch",
- "raCoresDirectoryWin": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores",
- "raCoresDirectoryLinux": "Typically /lib/x86_64-linux-gnu/libretro/cores",
- "raCoresDirectoryMac": "Typically /Applications/Retroarch.app/Contents/Resources/cores",
- "localImagesDirectoryWin": "For example C:\\Path\\To\\LocalArtwork",
- "localImagesDirectoryUnix": "For example ~/path/to/localartwork"
+ "bySystem": {
+ "Windows_NT": {
+ "steamDirectory": "Typically C:\\Program Files (x86)\\Steam\\",
+ "romsDirectory": "For example D:\\ROMs\\",
+ "retroarchPath": "For example C:\\Path\\To\\Retroarch.exe",
+ "raCoresDirectory": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores\\",
+ "localImagesDirectory": "For example C:\\Path\\To\\LocalArtwork\\"
+ },
+ "Darwin": {
+ "steamDirectory": "Typically ~/Library/Application Support/Steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /Applications/Retroarch.app/Contents/Resources/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ },
+ "Linux": {
+ "steamDirectory": "Typically /home/user/.steam/steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /lib/x86_64-linux-gnu/libretro/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ }
+ }
}
},
"service": {
@@ -331,6 +410,7 @@
"component": {
"about": "About",
"preview": "Preview",
+ "view": "View Games",
"logger": "Log",
"settings": "Settings",
"parsers": "Create Parser",
@@ -352,6 +432,9 @@
"title": "User Exceptions",
"exclude": "Exclude Title",
"excludeArtwork": "Local Artwork Only"
+ },
+ "placeholder": {
+ "sortBy": "Sort By"
}
},
"service": {
@@ -366,8 +449,8 @@
"component": {
"buttons": {
"save": "Save",
- "copy": "Copy",
- "testParser": "Test parser",
+ "copy": "Clone",
+ "testParser": "Test",
"delete": "Delete",
"moveUp": "Move up",
"moveDown": "Move down",
@@ -381,23 +464,23 @@
"opSys__i": "Operating system is \"${os}\"",
"testCompleted": "Parser test is completed.",
"nothingWasFound": "Parser found nothing.",
- "copiedToClipboard": "Configuration copied to clipboard",
+ "copiedToClipboard": "Parser copied to clipboard",
"userExclusions": "User excluded:",
- "excludedFileInfo__i": "[${index}/${total}]: ${filename}",
+ "excludedFileInfo__i": "[${index}/${total}]: ${filename}\n Excluded by \"${exceptionKey}\"",
"removingControllers__i": "Removing controller templates for parser: ${configTitle}",
"fetchingControllerTemplates": "Fetching controller templates"
},
"error": {
"missingAccounts__i": "Following ${count} user account(s) were not found (user must to login to Steam at least once):",
"missingAccountInfo__i": " ${name}",
- "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials (\"Show advanced options -> User accounts -> Use account credentials\").\r\nIf you're seeing this, preview won't be generated for this configuration.",
+ "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials.\r\nIf you're seeing this, Add Games will skip this configuration.",
"cannotParseUserIDs": "Error parsing user accounts:",
"failedToMatch": "Failed to match:",
"failedFileInfo__i": "[${index}/${total}]: ${filename}",
"testFailed": "Testing failed",
"cannotTestInvalid": "Can not test invalid configuration!",
"cannotCopyInvalid": "Can not copy invalid configuration!",
- "failedToCopy": "Failed to copy to clipbard!",
+ "failedToCopy": "Failed to copy to clipboard!",
"cannotFetchTemplates": "Can not fetch controller templates for invalid steam directory!",
"errorRemovingControllers": "Error removing controllers:",
"cannotRemoveControllers": "Can not remove controllers from invalid steam directory!"
@@ -405,8 +488,8 @@
"success": {
"foundAccounts__i": "Found ${count} available user account(s):",
"foundAccountInfo__i": " ${name} (steamID64: ${steamID64}, accountID: ${accountID})",
- "steamCategory__i": "[${index}/${total}]: Steam categories - ${steamCategory}",
- "steamCategoryInfo__i": "[${index}/${total}]: ${steamCategory}",
+ "steamCategories__i": "[${index}/${total}]: Steam categories - ${steamCategories}",
+ "steamCategoriesInfo__i": "[${index}/${total}]: ${steamCategories}",
"exceptionKey__i": "[${index}/${total}]: Exception ID - ${appid}",
"appId__i": "[${index}/${total}]: Legacy App ID - ${appid}",
"shortAppId__i": "[${index}/${total}]: App ID - ${appid}",
@@ -416,20 +499,21 @@
"filePath__i": "[${index}/${total}]: File path - ${filePath}",
"startDir__i": "[${index}/${total}]: Start dir - ${startDir}",
"completeShortcut__i": "[${index}/${total}]: Complete shortcut - ${shortcut}",
- "firstImageQuery__i": "[${index}/${total}]: Image queries - ${query}",
+ "firstImageQuery__i": "[${index}/${total}]: Artwork queries - ${query}",
+ "imagePool__i": "[${index}/${total}]: Artwork pool - ${imagePool}",
"imageQueries__i": "[${index}/${total}]: ${query}",
"defaultImage__i": "[${index}/${total}]: Resolved fallback ${artworkType}:\r\n[${index}/${total}]: ${image}",
"resolvedDefaultImage__i": "[${index}/${total}]: Fallback ${artworkType}:",
- "localImages__i": "[${index}/${total}]: Resolved ${artworkType}:",
- "resolvedLocalImages__i": "[${index}/${total}]: ${artworkType} glob:",
+ "localImages__i": "[${index}/${total}]: Resolved local ${artworkType}:",
+ "resolvedLocalImages__i": "[${index}/${total}]: Local ${artworkType} glob:",
"indexInfo__i": "[${index}/${total}]: ${indexed}",
"removedControllers__i": "Succesfully removed controllers for parser: ${configTitle}",
"fetchedTemplates": "Fetched all controller templates"
},
"label": {
"parserType": "Parser type",
- "configTitle": "Configuration title",
- "steamCategory": "Steam category",
+ "configTitle": "Parser title",
+ "steamCategories": "Steam collections",
"executableModifier": "Executable modifier",
"executableLocation": "Executable",
"romDirectory": "ROMs directory",
@@ -440,33 +524,56 @@
"titleModifier": "Title modifier",
"fuzzyMatch": "Fuzzy matching",
"executableArgs": "Command line arguments",
- "onlineImageQueries": "Online image query",
- "imagePool": "Image pool",
- "imageProviders": "Image providers",
+ "onlineImageQueries": "Artwork provider search queries",
+ "imagePool": "Artwork pool",
+ "imageProviders": "Artwork providers",
"defaultImage__i": "Fallback ${artworkType}",
"localImages__i": "Local ${artworkType} glob"
},
"placeholder": {
"parserType": "Select parser...",
"configTitle": "My Awesome Parser",
- "steamCategory": "${cat1}${cat2}",
- "steamDirectory": "${steamdirglobal} or /path/to/steam",
- "userAccounts": "${steamuser1}${steamuser2} or ${${accountsglobal}}",
- "titleFromVariable": "${myvariable}",
+ "steamDirectory": {
+ "Windows_NT": "${steamdirglobal} or C:\\path\\to\\Steam\\",
+ "Darwin": "${steamdirglobal} or /path/to/Steam/",
+ "Linux": "${steamdirglobal} or /path/to/Steam/"
+ },
+ "titleFromVariable": "${variableGroup1}${variableGroup2}",
"titleModifier": "${fuzzyTitle} or ${title}",
- "defaultImage__i": "/path/to/fallback_${artworkType}.png",
- "localImages__i": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
- "romDirectory": "/path/to/games/",
+ "defaultImage__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\fallback_${artworkType}.png",
+ "Darwin": "/path/to/fallback_${artworkType}.png",
+ "Linux": "/path/to/fallback_${artworkType}"
+ },
+ "localImages__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\art\\\\${artworkType}\\\\\\${title}.@(png|jpg)",
+ "Darwin": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
+ "Linux": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)"
+ },
+ "onlineImageQueries": "${${fuzzyTitle}} or ${${title}}${${fuzzyTitle}}",
+ "imagePool": "${fuzzyTitle}",
+ "romDirectory": {
+ "Windows_NT": "C:\\path\\to\\games\\",
+ "Darwin": "/path/to/games/",
+ "Linux": "/path/to/games/"
+ },
"glob": "${title}.@(iso|ISO)",
- "executableLocation": "Example: /path/to/emulator.exe",
- "executableArgs": "--arg1 --arg2",
+ "executableLocation": {
+ "Windows_NT": "C:\\path\\to\\emulator.exe",
+ "Darwin": "/path/to/emulator.app",
+ "Linux": "/path/to/emulator"
+ },
+ "executableArgs": "--arg1 --arg2 --launch \"${filePath}\"",
"executableModifier": "\"${exePath}\"",
- "startInDirectory": "/path/to/start/in/dir",
+ "startInDirectory": {
+ "Windows_NT": "C:\\path\\to\\start-in-dir\\",
+ "Darwin": "/path/to/start-in-dir/",
+ "Linux": "/path/to/start-in-dir/"
+ },
"imageProviders": "None",
"multiAPIPlaceholder": "No Filter"
},
"text": {
- "tryToMatchTitle": "Enable Title from Custom Variable",
"skipFileIfVariableWasNotFound": "Skip file if variable was not found",
"caseInsensitiveVariables": "Case-insensitive variables",
"shortcut_passthrough": "Follow .lnk or .desktop to destination (Windows and Linux only)",
@@ -482,18 +589,18 @@
},
"service": {
"info": {
- "updatingConfigurations": "Updating user configurations with new fields"
+ "updatingConfigurations": "Updating user's parsers with new fields"
},
"error": {
- "savingConfiguration": "Error encountered while saving user configurations!",
- "readingConfiguration": "Error encountered while reading user configurations!",
+ "savingConfiguration": "Error encountered while saving user's parsers!",
+ "readingConfiguration": "Error encountered while loading user's parsers!",
"parserTypeMissing": "Cannot save without specifying parser type",
- "corruptedConfiguration__i": "One or more saved parser configurations are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
- "fetcingTemplates": "Error encountered while fetching controllers templates!"
+ "corruptedConfiguration__i": "One or more saved parsers are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
+ "fetchingTemplates": "Error encountered while fetching controllers templates!"
},
"validationErrors": {
"parserType__md": "> Incorrect parser type!",
- "configTitle__md": "> Configuration title is required!",
+ "configTitle__md": "> Parser title field cannot be blank!",
"parserId__md": "> Parser Id is missing, something is horribly wrong.",
"parserInput": {
"noInput": "No inputs are available!",
@@ -501,19 +608,15 @@
"incorrectParser": "Incorrect parser!"
},
"romDir__md": "> ROMs directory is invalid!",
- "userAccounts__md": "> Steam parser requires `User Accounts` field",
+ "userAccounts__md": "> User accounts field is required!",
"steamDir__md": "> Steam directory is invalid!",
"startInDir__md": "> \"Start In\" directory is invalid!",
"executable__md": "> Executable is invalid!",
- "imagePool__md": "> Image pool must not be empty!",
- "defaultImage__md": "> Default image is an invalid path!",
- "titleModifier__md": "> Title modifier must not be empty!",
- "executableModifier__md": "> Executable modifier must not be empty!",
- "variableString__md": "> Uneven number of `${` and `}` pairs. Use `\\` to escape `${` or `}` if you want to use them as characters.",
- "imageProviders__md": "> Incorrect image providers type!",
- "unhandledValidationKey__md": "> Input's validation is unhandled",
- "genericDir__md": "> Directory is invalid",
- "genericPath__md": "> Path is invalid"
+ "defaultImage__md": "> Fallback artwork is an invalid path!",
+ "variableString__md": "> Uneven number of `${` and `}` pairs! Use `\\` to escape `${` or `}` if you want to use them as characters.",
+ "unhandledValidationKey__md": "> Input's validation is unhandled!",
+ "genericDir__md": "> Directory is invalid!",
+ "genericPath__md": "> Path is invalid!"
},
"text": {
"noTitle": "No title!"
@@ -540,7 +643,7 @@
"error": {
"parserNotFound__i": "Parser \"${name}\" not found!",
"tooManyFieldGlobs__md": "> Only one `$(...)$` set is allowed per input.",
- "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** ir **Glob-regex** field.",
+ "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** in **Glob-regex** field.",
"noWinSlashes__md": "> Windows directory character `\\` is not allowed! Use `/` instead."
}
},
@@ -567,11 +670,11 @@
"error": {
"readingVdf__i": "Failed to read from \"${filePath}\".\n ${error}",
"writingVdf__i": "Failed to write to \"${filePath}\".\n ${error}",
- "skippingDMCA__i": "Skipping DMCA'd image for ${title}",
+ "skippingDMCA__i": "Skipping DMCA'd artwork for ${title}",
"corruptedVdf__i": "\"${filePath}\" is corrupted.\n ${error}",
"creatingBackup__i": "Could not create backup for \"${filePath}\".\n ${error}",
"unsupportedMimeType__i": "Mime type (${type}) is unsupported (title - \"${title}\").",
- "imageError__i": "Error occurred while saving/downloading image for \"${title}\". Url: ${url}.\n ${error}"
+ "imageError__i": "Error occurred while saving/downloading artwork for \"${title}\". Url: ${url}.\n ${error}"
}
},
"helpers": {
diff --git a/src/lang/ko-KR/markdown/UWP-parser-input.md b/src/lang/ko-KR/markdown/UWP-parser-input.md
index 1a3f20be1d..8c045eea77 100644
--- a/src/lang/ko-KR/markdown/UWP-parser-input.md
+++ b/src/lang/ko-KR/markdown/UWP-parser-input.md
@@ -1,4 +1,4 @@
-# Unique inputs for UWP Parser
+# UWP Parser Specific Inputs
## Games directory
@@ -8,4 +8,4 @@ Set it to `C:\Program Files\WindowsApps` to grab all UWP applications -- you'll
## Launch as UWP or from GameLaunchHelper.exe
-Gamepass games can be launched both ways, although UWP is preffered.
+Gamepass games can be launched both ways, although UWP is preferred.
diff --git a/src/lang/ko-KR/markdown/UWP-parser.md b/src/lang/ko-KR/markdown/UWP-parser.md
index bfb5a847f3..af4fee0f84 100644
--- a/src/lang/ko-KR/markdown/UWP-parser.md
+++ b/src/lang/ko-KR/markdown/UWP-parser.md
@@ -4,4 +4,4 @@ This parser imports `UWP` games in your Windows OS, having a games library path
## Compatibility
-This parser should only work on `Windows 10` and `Windows 11`.
\ No newline at end of file
+This parser should only work on `Windows 10` and `Windows 11`.
diff --git a/src/lang/ko-KR/markdown/about.md b/src/lang/ko-KR/markdown/about.md
index 3f6320a3ea..7310d2c660 100644
--- a/src/lang/ko-KR/markdown/about.md
+++ b/src/lang/ko-KR/markdown/about.md
@@ -1,8 +1,8 @@
-## System info
+##
-In case you're having trouble with SRM, feel free to visit the [discord](https://discord.gg/bnSVJrz) or the [subreddit](https://www.reddit.com/r/SteamRomManager/) and ask for our help. In order for us to help you, we would like you to provide this info:
+. In order for us to help you, we would like you to provide this info:
-* SRM version: **#{APP[version]}**
+* SRM version: **#{APP[version]}** emudeckText
* Operating System: **#{APP[os]}**
## Useful links
@@ -43,8 +43,9 @@ Help support continued progress on Steam ROM Manager at:
* `CarJem`{.noWrap} - Added the manual parser.
* `MattMckenzy`{.noWrap} - Added ability to import and export image choices.
* `Apalatn`{.noWrap} - Added an install drive redirect option to the itch.io parser.
-* `OneMoreByte` - Made itch.io parser work on linux and mac.
-* `UndarkAido` - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `OneMoreByte`{.noWrap} - Made itch.io parser work on linux and mac.
+* `UndarkAido`{.noWrap} - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `HazardousBackup`{.noWrap} - Added option to GOG parser to parse Registry instead of GOG's DB.
### Community
* `HE Spoke`{.noWrap} - created a community around SRM. Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups. Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
diff --git a/src/lang/ko-KR/markdown/amazon-games-parser-input.md b/src/lang/ko-KR/markdown/amazon-games-parser-input.md
index 7ac728e20b..770697198e 100644
--- a/src/lang/ko-KR/markdown/amazon-games-parser-input.md
+++ b/src/lang/ko-KR/markdown/amazon-games-parser-input.md
@@ -1,4 +1,4 @@
-# Amazon Games Parser specific inputs
+# Amazon Games Parser Specific Inputs
## Amazon Games Path Override
By default Steam ROM Manager assumes your Amazon Games installation is located at `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`. This field allows you to override that path if your Amazon Games installation is elsewhere.
diff --git a/src/lang/ko-KR/markdown/amazon-games-parser.md b/src/lang/ko-KR/markdown/amazon-games-parser.md
index cdfda7c283..eb556fcc6e 100644
--- a/src/lang/ko-KR/markdown/amazon-games-parser.md
+++ b/src/lang/ko-KR/markdown/amazon-games-parser.md
@@ -1,3 +1,3 @@
# Amazon Games Parser
-This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/ko-KR/markdown/battle-net-parser-input.md b/src/lang/ko-KR/markdown/battle-net-parser-input.md
new file mode 100644
index 0000000000..1f03fae4a6
--- /dev/null
+++ b/src/lang/ko-KR/markdown/battle-net-parser-input.md
@@ -0,0 +1,5 @@
+# Battle.net Parser Specific Inputs
+
+## Battle.net.exe Path Override
+
+By default Steam ROM Manager assumes your `Battle.net` executable is located at `C:\Program Files (x86)\Battle.net\Battle.net.exe`. This field allows you to override that if your `Battle.net` is installed elsewhere.
diff --git a/src/lang/ko-KR/markdown/battle-net-parser.md b/src/lang/ko-KR/markdown/battle-net-parser.md
new file mode 100644
index 0000000000..c3ffb10b67
--- /dev/null
+++ b/src/lang/ko-KR/markdown/battle-net-parser.md
@@ -0,0 +1,5 @@
+# Battle.net Parser
+
+This parser imports games from the `Battle.net` app, so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Blizzard has altered the structure of their database files, in which case please let the developers of SRM know and we will resolve the issue.
+
+The `Battle.net` parser is somewhat special in that it uses a shell script at `${srmDir}/scripts/bnet.ps1` in order to launch `Battle.net`, wait an appropriate amount of time, and only then launch the actual title.
diff --git a/src/lang/ko-KR/markdown/config-title.md b/src/lang/ko-KR/markdown/config-title.md
index ed2eeef493..abadc31951 100644
--- a/src/lang/ko-KR/markdown/config-title.md
+++ b/src/lang/ko-KR/markdown/config-title.md
@@ -1,3 +1,5 @@
-# Configuration title
+# Parser title
-Title to save user configuration as. Does not have to be unique, but is required.
\ No newline at end of file
+Title of the parser. Does not have to be unique, but is required.
+
+This field will not affect what is added to `Steam` in any way.
diff --git a/src/lang/ko-KR/markdown/controller-templates.md b/src/lang/ko-KR/markdown/controller-templates.md
index 37c943f370..686b3ba13a 100644
--- a/src/lang/ko-KR/markdown/controller-templates.md
+++ b/src/lang/ko-KR/markdown/controller-templates.md
@@ -17,10 +17,10 @@ In the SRM parser:
Currently, SRM pulls all of the default (Valve made) templates for each controller as well as all of the user defined templates that end in `(SRM)`.
-* Select your templates and save the parser. The controller configsets will be applied once you hit `Save App List` in the preview.
+* Select your templates and save the parser. The controller configsets will be applied once you hit `Save to Steam` in the Add Games.
* To unset controller configs, you may either `Remove All Added App Entries` from global settings (this deletes all SRM made changes to your steam data) or hit `Unset All Controllers` in the parser (this only removes controller settings for the steam directory and user specified in that parser).
-Once this is done you can generate and save the preview as usual, and the template will be applied to all the titles in the parser.
+Once this is done you can parse and add games to steam as usual, and the templates will be applied to all the titles in the parser.
diff --git a/src/lang/ko-KR/markdown/default-image.md b/src/lang/ko-KR/markdown/default-image.md
index 47e3f9261e..7bf4e6413d 100644
--- a/src/lang/ko-KR/markdown/default-image.md
+++ b/src/lang/ko-KR/markdown/default-image.md
@@ -1,4 +1,4 @@
-# Default image (optional) `[supports variables]`{.noWrap}
+# Default image `[supports variables]`{.noWrap}
Allows one to use an image, stored locally, as a default/fallback image. A [special glob input](#special-glob-input) string is used to retrieve images. Only the first retrieved image is used.
diff --git a/src/lang/ko-KR/markdown/ea-desktop-parser-input.md b/src/lang/ko-KR/markdown/ea-desktop-parser-input.md
index 7990efb5b5..355ba68c8e 100644
--- a/src/lang/ko-KR/markdown/ea-desktop-parser-input.md
+++ b/src/lang/ko-KR/markdown/ea-desktop-parser-input.md
@@ -1,4 +1,4 @@
-# EA Desktop Parser specific inputs
+# EA Desktop Parser Specific Inputs
## EA Games Directory Override
By default Steam ROM Manager assumes your `EA Desktop` games are installed at ``C:\Program Files\EA Games\`. This field allows you to change that to wherever your games are installed, e.g.``D:\Games\EA Games`.
diff --git a/src/lang/ko-KR/markdown/epic-parser-input.md b/src/lang/ko-KR/markdown/epic-parser-input.md
index 3e8e07d69a..22bc34d195 100644
--- a/src/lang/ko-KR/markdown/epic-parser-input.md
+++ b/src/lang/ko-KR/markdown/epic-parser-input.md
@@ -1,4 +1,4 @@
-# Epic Games Store specific inputs
+# Epic Games Store Specific Inputs
## Manifests Directory Override
diff --git a/src/lang/ko-KR/markdown/executable-arguments.md b/src/lang/ko-KR/markdown/executable-arguments.md
index 8b5121722a..c19b665402 100644
--- a/src/lang/ko-KR/markdown/executable-arguments.md
+++ b/src/lang/ko-KR/markdown/executable-arguments.md
@@ -1,4 +1,4 @@
-# Command line arguments (optional) `[supports variables]`{.noWrap}
+# Command line arguments `[supports variables]`{.noWrap}
Arguments which are appended to executable to produce final shortcut. Most of the time you will want to set it using provided parser variables.
@@ -49,7 +49,7 @@ Arguments which are appended to executable to produce final shortcut. Most of th
### Nestopia (NES/Famicom)
```
-"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
+"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
```
### higan (NES/Famicom, SNES/Famicom, Gameboy, Gameboy Color, Gameboy Advance)
@@ -126,13 +126,13 @@ This setting is used to influence Steam's APP ID.
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -187,6 +187,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -196,7 +197,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/ko-KR/markdown/executable-location.md b/src/lang/ko-KR/markdown/executable-location.md
index b13f57494f..36fbbc9a46 100644
--- a/src/lang/ko-KR/markdown/executable-location.md
+++ b/src/lang/ko-KR/markdown/executable-location.md
@@ -1,4 +1,4 @@
-# Executable (optional) `[supports environment variables]`
+# Executable `[supports env variables]`
Path to emulator's executable. Can be a file or any valid system path.
@@ -6,6 +6,8 @@ Path to emulator's executable. Can be a file or any valid system path.
In some cases you might want to run game from a some kind batch file which will also automatically run the emulator itself. If that is the case, then providing executable is unnecessary.
+The final shortcut will just be `"${filePath}" --command-line-args`.
+
### So, how do I add files to Steam without default executable?
All files retrieved by a parser will be treated as executables instead.
diff --git a/src/lang/ko-KR/markdown/executable-modifier.md b/src/lang/ko-KR/markdown/executable-modifier.md
index c3c5739e86..2131f6964d 100644
--- a/src/lang/ko-KR/markdown/executable-modifier.md
+++ b/src/lang/ko-KR/markdown/executable-modifier.md
@@ -1,102 +1,23 @@
# Executable modifier `[supports variables]`{.noWrap}
-Default value is `"${exePath}"`{.noWrap}. This setting can be used to prepend or append desired characters to an executable which will be added to Steam (`Target` property). For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you can add `"cmd" /k start /min` to it by setting value to:
+Defaults to `"${exePath}"`{.noWrap} if unset. This field can be used to prepend or append desired characters to the executable which will be added to the Steam shortcut's `Target` property. For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you could start `Retroarch` minimized by setting the `Executable Modifier` "cmd" to:
+
```
"cmd" /k start /min "${exePath}"
```
-You can use any other variable to construct the final executable.
-
-This setting influences Steam's APP ID.
-
-
-## Shortcut Passthrough
-If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the target of that shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser.
-
-## Directory variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
-
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
-
-## Name variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------------------------------- |
-| `${exeName}` | Name of executable (without extension) |
-| `${fileName}` | Name of file which was returned by a parser (without extension) |
-
-In case executable directory input is left **empty**, `${exeName}`{.noWrap} is equal to `${fileName}`{.noWrap}.
-
-## Extension variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------------------- |
-| `${exeExt}` | Extension of executable (with a dot) |
-| `${fileExt}` | Extension of file which was returned by a parser (with a dot) |
-In case executable directory input is left **empty**, `${exeExt}`{.noWrap} is equal to `${fileExt}`{.noWrap}.
+In this case the `Target` property would begin with:
-## Path variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:-------------------------------------------------- |
-| `${exePath}` | Full path to an executable |
-| `${filePath}` | Full path to a file which was returned by a parser |
-
-In case executable directory input is left **empty**, `${exePath}`{.noWrap} is equal to `${filePath}`{.noWrap}.
-
-## Parser variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------ |
-| `${title}` | Extracted title |
-| `${fuzzyTitle}` | Fuzzy matched title |
-| `${finalTitle}` | Title which was the end result of title modifier |
-
-In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
+```
+"cmd" /k start /min "C:\RetroArch\retroarch.exe"
+```
-## Function variables
+followed by whatever launch arguments you choose in the `Command Line Arguments` field.
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+You can use any other variable to construct the final executable.
-### Function variable example
+This setting influences Steam's APP ID.
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
-```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
-```
-will be replaced with these:
-```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+## Shortcut Passthrough
---On linux:
-file.so
---On Windows:
-file.dll
---On Mac OS:
-file
-```
+If you enable `Follow .lnk/.desktop to destination` and the glob search finds a `.lnk` or `.desktop` file, ie a shortcut, then the `${filePath}` variable will contain the target of the shortcut rather than the path to the shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the `Command Line Arguments` field in the parser.
diff --git a/src/lang/ko-KR/markdown/glob-parser-input.md b/src/lang/ko-KR/markdown/glob-parser-input.md
index 996ae77ce1..2a43592892 100644
--- a/src/lang/ko-KR/markdown/glob-parser-input.md
+++ b/src/lang/ko-KR/markdown/glob-parser-input.md
@@ -1,4 +1,4 @@
-# Glob Parser specific inputs
+# Glob Parser Specific Inputs
## User's glob
diff --git a/src/lang/ko-KR/markdown/glob-regex-parser-input.md b/src/lang/ko-KR/markdown/glob-regex-parser-input.md
index 22c1f5cea6..6491148a25 100644
--- a/src/lang/ko-KR/markdown/glob-regex-parser-input.md
+++ b/src/lang/ko-KR/markdown/glob-regex-parser-input.md
@@ -1,4 +1,4 @@
-# Glob-regex Parser specific inputs
+# Glob-regex Parser Specific Inputs
## User's glob-regex
@@ -6,7 +6,7 @@ This is where you create your glob for extracting title from file path. Please r
## How does it work?
-In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
+In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
| User's glob | Position |
| --------------------- | --------------------------- |
diff --git a/src/lang/ko-KR/markdown/gog-parser-input.md b/src/lang/ko-KR/markdown/gog-parser-input.md
index 756fa3de77..bf185f2c23 100644
--- a/src/lang/ko-KR/markdown/gog-parser-input.md
+++ b/src/lang/ko-KR/markdown/gog-parser-input.md
@@ -1,10 +1,20 @@
-# Unique inputs for GOG Galaxy Parser
+# GOG Galaxy Parser Specific Inputs
## Galaxy Path Override
-By default Steam ROM Manager assumes your Galaxy Client is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe`. This field allows you to override that path if your GOG Galaxy installation is elsewhere.
-This field is actually only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of the Galaxy Client.
+By default Steam ROM Manager assumes your GOG Galaxy executable is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe` on Windows and `/Applications/GOG Galaxy.app/Contents/MacOS/GOG Galaxy` on Mac. This field allows you to override that path if your GOG Galaxy executable is elsewhere.
-## Launch Via GOG Galaxy `[Recommend disabled]`
+Specifying the correct location of GOG Galaxy's executable is only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of GOG Galaxy's executable.
-What it sounds like, this toggle let's you set whether games will launch via GOG Galaxy or directly. Note that for some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+## Launch via GOG Galaxy `[Recommend disabled]`
+
+What it sounds like, this toggle determines whether games launch via GOG Galaxy or directly. For some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+
+## Parse Linked Executables from GOG Galaxy
+
+If enabled, SRM will pull in not only GOG games aquired from GOG Galaxy's store, but also those you have manually linked executables for in GOG Galaxy. This is desirable if those games are not being parsed into SRM elsewhere.
+
+A caveat is that because GOG Galaxy does not store the names linked executables in its database, SRM will use the directory name of the executable on Windows (e.g. `C:\\path\\to\\Hoa\\LaunchHoa.exe` would be assigned the title `Hoa`) and the executable name on Mac (e.g. `/Applications/Symphonia.app` would be assigned the title `Symphonia`).
+
+## Parse using Registry instead of Galaxy DB `[Windows only] [Recommend disabled]`
+This option will parse the Windows Registry for installed GOG games instead of GOG Galaxy's SQL database, allowing the parser to work even if GOG Galaxy is not installed. If this is enabled, `Parse Linked Executables` will of have no effect, but `Launch via GOG Galaxy` will work as normal.
\ No newline at end of file
diff --git a/src/lang/ko-KR/markdown/image-pool.md b/src/lang/ko-KR/markdown/image-pool.md
index 8b54cf72d9..0b4e4a94fb 100644
--- a/src/lang/ko-KR/markdown/image-pool.md
+++ b/src/lang/ko-KR/markdown/image-pool.md
@@ -1,3 +1,5 @@
-# Image pool `[supports variables]`{.noWrap}
+# Artwork pool `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting is used to allow different apps share the same images -- same "image pool", or allow unique image pool per app. To use unique image pool per app just set it to something unique. For example `${fuzzyTitle} SNES`{.noWrap}.
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset.
+
+This field is used to allow games from different parsers to share the same images (i.e. the same "image pool") if they have the same title. If you want different parsers not to share images for games with the same title, just set this field to something unique, for example `${fuzzyTitle} SNES`{.noWrap} or `${fuzzyTitle} ${parserTitle}`{.noWrap}.
diff --git a/src/lang/ko-KR/markdown/image-providers.md b/src/lang/ko-KR/markdown/image-providers.md
index 0b778780c6..f70a9275f6 100644
--- a/src/lang/ko-KR/markdown/image-providers.md
+++ b/src/lang/ko-KR/markdown/image-providers.md
@@ -1,7 +1,7 @@
-# Image providers
+# Artwork providers
-Here you can select image providers that are used to retrieve images. This option is for this configuration only.
+Here you can select artwork providers (online sources of game art) that are used by SRM to get art for your games.
## Similar option in "Settings" menu
-Settings menu has "Enabled providers" which enable image providers globally -- if it's not enabled in Settings, it won't work.
+Settings menu has "Enabled providers" which enable artwork providers globally -- if it's not enabled in Settings, it won't work.
diff --git a/src/lang/ko-KR/markdown/intro.md b/src/lang/ko-KR/markdown/intro.md
index f8d5fcabda..a6d65c0059 100644
--- a/src/lang/ko-KR/markdown/intro.md
+++ b/src/lang/ko-KR/markdown/intro.md
@@ -8,8 +8,8 @@ Also, don't forget to check FAQ. If you still got questions about setting up con
After saving parser configuration, **1** of **3** colors will be shown next to its title:
- -- Enabled configuration. This configuration will be used when generating a list in **preview** page.
+ -- Enabled configuration. This configuration will be used when generating a list in **Add Games** page.
- -- Unsaved changes. This configuration will not be used when generating a list in **preview** page, however earlier **saved** version will be used instead.
+ -- Unsaved changes. This configuration will not be used when generating a list in **Add Games** page, however earlier **saved** version will be used instead.
- -- Disabled configuration. This configuration will not be used when generating a list in **preview** page.
\ No newline at end of file
+ -- Disabled configuration. This configuration will not be used when generating a list in **Add Games** page.
\ No newline at end of file
diff --git a/src/lang/ko-KR/markdown/itch-io-parser-input.md b/src/lang/ko-KR/markdown/itch-io-parser-input.md
index 4b0057c170..ffa409af96 100644
--- a/src/lang/ko-KR/markdown/itch-io-parser-input.md
+++ b/src/lang/ko-KR/markdown/itch-io-parser-input.md
@@ -1,4 +1,4 @@
-# itch.io Parser specific inputs
+# itch.io Parser Specific Inputs
## itch.io AppData Path Override
By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere.
diff --git a/src/lang/ko-KR/markdown/itch-io-parser.md b/src/lang/ko-KR/markdown/itch-io-parser.md
index 7f29ffc42d..accb8b5ad2 100644
--- a/src/lang/ko-KR/markdown/itch-io-parser.md
+++ b/src/lang/ko-KR/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
# itch.io Parser
-This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/ko-KR/markdown/legendary-parser-input.md b/src/lang/ko-KR/markdown/legendary-parser-input.md
index 80ca0bcbbc..4a826e43da 100644
--- a/src/lang/ko-KR/markdown/legendary-parser-input.md
+++ b/src/lang/ko-KR/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
-# Legendary Parser specific inputs
+# Legendary Parser Specific Inputs
+
+## Legendary Path Override
+
+By default Steam ROM Manager uses `(Get-Command legendary).Path` on Windows and `which legendary` on Linux and Mac to determine the location of your Legendary executable. This field allows you to override that path.
+
+Specifying the correct location of the Legendary executable is only necessary if you enable launch via Legendary (see below), as otherwise SRM has no need of the location of Legendary's executable.
## Legendary `installed.json` Path Override
Most users shouldn't use this, as they use the standard `Legendary` installation where installed games manifest will be located at `~/.config/legendary/installed.json`.
If, however, for some reason your installed games manifest is located in a non-typical location then you can specify the correct manifest path here.
+
+## Launch via Legendary `[Recommend enabled]`
+
+What it sounds like, this toggle determines whether games launch via Legendary or directly. Launching via Legendary provides access to Epic's online services.
diff --git a/src/lang/ko-KR/markdown/local-images.md b/src/lang/ko-KR/markdown/local-images.md
index cff60e5674..5da2e5ae4c 100644
--- a/src/lang/ko-KR/markdown/local-images.md
+++ b/src/lang/ko-KR/markdown/local-images.md
@@ -1,4 +1,4 @@
-# Local images (optional) `[supports variables]`{.noWrap}
+# Local images `[supports variables]`{.noWrap}
Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
diff --git a/src/lang/ko-KR/markdown/manual-parser-input.md b/src/lang/ko-KR/markdown/manual-parser-input.md
index bc1848d45a..65265ebd32 100644
--- a/src/lang/ko-KR/markdown/manual-parser-input.md
+++ b/src/lang/ko-KR/markdown/manual-parser-input.md
@@ -1,4 +1,4 @@
-# Manual Parser specific inputs
+# Manual Parser Specific Inputs
## Manifests Directory `[Supports Environment Variables]`{.noWrap}
@@ -17,7 +17,8 @@ The names of the files do not matter. What does matter is that each `manifest.js
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args",
+ "appendArgsToExecutable": false
}
```
Or a list of titles, like so:
@@ -27,15 +28,19 @@ Or a list of titles, like so:
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args".
+ "appendArgsToExecutable": true
},
{
"title": "gameTitle2",
"target": "game2/path/target.sh",
"startIn": "game2/path",
- "launchOptions": "--args2"
+ "launchOptions": "--args2",
+ "appendArgsToExecutable": false
}
]
```
A typical use case would be to use a single json file per game type, or per year, etc.
+
+Just like for ROM parsers, `appendArgsToExecutable` determines whether `launchOptions` are appended to the shortcut `target` or appear separately as launch options in steam.
diff --git a/src/lang/ko-KR/markdown/non-srm-shortcuts-parser.md b/src/lang/ko-KR/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..4485008a1a
--- /dev/null
+++ b/src/lang/ko-KR/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,29 @@
+# Non-SRM Shortcut Parser
+
+This parser imports non SRM steam shortcuts into SRM so their artowrk can be managed. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
+
+## User accounts
+
+Used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
+
+```
+${...}
+```
+
+You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
+
+ {.fitImage .center}
+
+For example, this is how you specify account for "Banana" and "Apple":
+
+```
+${Banana}${Apple}
+```
+
+You can also limit accounts by specifying their ids directly. For example:
+
+```
+${56489124}${21987424}
+```
+
+Would limit the search to `steam/userdata/56489124` and `steam/userdata/21987424`.
diff --git a/src/lang/ko-KR/markdown/parser-env-variables.md b/src/lang/ko-KR/markdown/parser-env-variables.md
index 3b186a70f7..e95baf9137 100644
--- a/src/lang/ko-KR/markdown/parser-env-variables.md
+++ b/src/lang/ko-KR/markdown/parser-env-variables.md
@@ -13,3 +13,5 @@ These variables are pre parsed and can be used even in the Rom Directory, Steam
The utility of the environment variable `${srmdir}` is to make SRM fully portable, eg if you wanted to have the directory layout `D:\Games\Roms` and `D:\Games\PortableSRM\SRM.exe` then setting the field Roms Directory to be `${srmdir}${/}..${/}Roms` would allow you to move the Games directory somewhere else without breaking your setup.
+
+Function variables can also be used in fields that permit environment variables (e.g. `${os:win|C:\path\to\startdir|${os:linux|/path/to/startdir}}`)
diff --git a/src/lang/ko-KR/markdown/parser-variables.md b/src/lang/ko-KR/markdown/parser-variables.md
index 7e9eb636ff..7c164a55bc 100644
--- a/src/lang/ko-KR/markdown/parser-variables.md
+++ b/src/lang/ko-KR/markdown/parser-variables.md
@@ -4,13 +4,13 @@ Here are tables of variables that can be used with options that have `[supports
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -48,6 +48,7 @@ In case executable directory input is left **empty**, `${exePath}`{.noWrap} is e
| `${title}` | Extracted title |
| `${fuzzyTitle}` | Fuzzy matched title |
| `${finalTitle}` | Title which was the end result of title modifier |
+| `${parserTitle}` | The value of the `Parser Title` field |
In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
@@ -65,6 +66,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -74,7 +76,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/ko-KR/markdown/parsers-list.md b/src/lang/ko-KR/markdown/parsers-list.md
index 1e5e43f80f..6ab3846611 100644
--- a/src/lang/ko-KR/markdown/parsers-list.md
+++ b/src/lang/ko-KR/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# Parsers
-In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**
diff --git a/src/lang/ko-KR/markdown/rom-directory.md b/src/lang/ko-KR/markdown/rom-directory.md
index 555452224f..5b15d2e2b7 100644
--- a/src/lang/ko-KR/markdown/rom-directory.md
+++ b/src/lang/ko-KR/markdown/rom-directory.md
@@ -1,3 +1,3 @@
-# ROMs directory `[supports environment variables]`
+# ROMs directory `[supports env variables]`
Starting directory for game or app files.
diff --git a/src/lang/ko-KR/markdown/settings.md b/src/lang/ko-KR/markdown/settings.md
index c35d49e806..dd35c64609 100644
--- a/src/lang/ko-KR/markdown/settings.md
+++ b/src/lang/ko-KR/markdown/settings.md
@@ -1,31 +1,51 @@
## General Settings
+### Check for updates on start `[Recommend enabled]`
+Check if an update for SRM is available and prompt to update each time SRM launches.
+### Auto kill Steam `[Recommend enabled]`
+SRM will attempt to kill all running instances of Steam whenever it needs to read/write collections information (specifically when saving to steam from `Add Games` and when removing all games from `Settings`).
+### Auto restart Steam `[Recommend enabled]`
+SRM will attempt to restart Steam after killing it and completing whatever collections related task required killing Steam in the first place. Requires `Auto kill Steam` to be enabled.
### Offline mode `[Recommend disabled]`
-
When enabled SRM makes no network requests, useful if you only want to use SRM for local images.
### Automatically clear log before testing parsers `[Recommend enabled]`
When enabled the log is cleared each time a parser is tested.
+## Add Games
### Show current steam images by default `[Recommend enabled]`
When enabled this setting tells SRM to default to whatever artwork is currently in steam for a given app. If it is disabled, then every time SRM is run (and saved) all artwork will be reset.
### Remove shortcuts for disabled parsers `[Recommend disabled]`
When enabled disabling a parser and running SRM will remove all added entries and artwork for the disabled parser. Useful if you want your steam library to be in 1-1 correspondence with enabled parsers.
-
+### Disable saving of steam categories `[Recommend disabled]`
+SRM will not write any collections information when saving to Steam. This allows SRM to perform its tasks while Steam is still running, at the obvious cost that added games will not be categorized.
+### Hide Steam username from Add Games
+Steam does not allow user's to alter their Steam usernames. In some cases (childish names, dead names, etc), users may no longer wish to see their Steam usernames. This setting hides it from `Add Games`.
+### Remove all added games and controllers
+Undo all SRM added changes from Steam.
+### Remove all controllers only
+Undo all SRM added controller settings from Steam.
## Fuzzy Matcher Settings
### Log matching results `[Recommend disabled]`
When enabled more verbose logs appear for the fuzzy title matcher in the `Event log`. Useful for debugging incorrect fuzzy matches.
-
### Reset fuzzy list
Resets the stored list of titles used for fuzzy matching to the list of titles returned by `SteamGridDB` (removes any user added titles).
### Reset fuzzy cache
Clears the cache of titles that fuzzy matching has already seen (try this if changes you make to fuzzy list are not resulting in changes to titles in SRM).
-
## Image provider settings
-### Preload retrieved images `[Recommend disabled]`
-When enabled, SRM will pull all available artwork for every game, rather than pulling one piece of artwork at a time as the user flips through the images. Don't enable this unless you have a good reason and a very small library of games, otherwise it could result in very large (slow) network requests.
+### Artwork loading strategy `[Recommend Load artwork lazily]`
+This is the strategy SRM uses to pull artwork thumbnails for the `Add Games` UI. If you are parsing a lot of games, `Load artwork lazily` is recommended. `Preload first artwork` will try to pull the first piece of artwork for each game in each artwork category, and `Preload all artwork` will try to pull all available artwork for each game in each artwork category. `Preload all artwork` will cause network and performance issues unless the number of games is quite small (less than `30` or so).
### Enabled providers
-Global setting to disable certain providers. Currently the only image provider is `SteamGridDB` since ConsoleGrid and RetroGaming.cloud are defunct.
-
+Global setting to enable/disable particular image providers. Current options are `SteamGridDB` and `Steam Official`.
+### DNS manual override
+Set this if you want SRM to do DNS resolution internally, as opposed to relying on your system's default DNS server. This solves many timeout issues on the Steam Deck.
+### Batch size for image downloads
+Number of images SRM will attempt to download at once when saving to Steam. May help to lower this if you are receiving timeout errors from SGDB.
+### Nuke artwork choice cache
+SRM attempts to remember your artwork choices, this button forcibly forgets all of them.
+### Nuke local artwork backups
+This deletes all artwork backups created for parsers with `Backup artwork locally` enabled.
## Community Variables and Presets
### Force download custom variables.
Resets the custom variables JSON file that is used for certain presets to whatever its current state is on the SRM github. Useful if the custom variables JSON file has been corrupted.
### Force download custom presets.
Resets the JSON files for parser presets to whatever is on the SRM github. Useful if your presets list is not automatically updating for some reason, or has become corrupted.
+### Force download shell scripts
+Re fetches the shell scripts SRM uses to perform certain tasks.
diff --git a/src/lang/ko-KR/markdown/sgdb-api-input.md b/src/lang/ko-KR/markdown/sgdb-api-input.md
index 553f4fda77..7651927a64 100644
--- a/src/lang/ko-KR/markdown/sgdb-api-input.md
+++ b/src/lang/ko-KR/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
This set of options are direct inputs into the APIs of image providers, for example SteamGridDB's [API](https://www.steamgriddb.com/api/v2).
-An interesting quirk of these settings is that re-generating the preview (hitting the `Generate App List` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove App List` button in preview before hitting `Generate App List`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the preview with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
+An interesting quirk of these settings is that re-generating the game list in Add Games (hitting the `Refresh` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove from Steam` button in Add Games before hitting `Refresh`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the game list with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
## SteamGridDB
diff --git a/src/lang/ko-KR/markdown/start-in-directory.md b/src/lang/ko-KR/markdown/start-in-directory.md
index 86cf962c23..df84a987d5 100644
--- a/src/lang/ko-KR/markdown/start-in-directory.md
+++ b/src/lang/ko-KR/markdown/start-in-directory.md
@@ -1,6 +1,6 @@
-# "Start In" directory (optional) `[supports environment variables]`{.noWrap}
+# "Start In" directory `[supports env variables]`
-By default "Start In" directory is set to executable's directory:
+If `"Start In" Directory` is unset it defaults to the executable's directory. If not executable is set, it defaults to the directory of the ${filePath} variable:
 {.fitImage.center}
@@ -11,4 +11,5 @@ This option allows you to specify any directory you want as a "Start In" directo
It is useful when you're using batch files to start emulator and a game, but emulator requires a specific "Start In" directory to work properly.
## Shortcut Passthrough
+
If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the directory of the target of that shortcut. In the future, it will be overridden with the start in directory of that shortcut.
diff --git a/src/lang/ko-KR/markdown/steam-category.md b/src/lang/ko-KR/markdown/steam-category.md
index 079073dab9..677ea3d0ef 100644
--- a/src/lang/ko-KR/markdown/steam-category.md
+++ b/src/lang/ko-KR/markdown/steam-category.md
@@ -1,21 +1,13 @@
-# Steam category (optional) `[supports variables]`{.noWrap}
+# Steam category`{.noWrap}
+
+Hit the little plus sign to add your first category.
-Also known as "tags", can be used to group apps in Steam. In order to set Steam category, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify categories for "WII" and "GBA" (paired with "ROMS") category:
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
This how "WII" category will look like in Steam:

## Emojis and non-Standard Unicode Characters
+
Please not that this field works just fine with emojis like `🎮` work just fine in category names.
You can find a list of them here: [https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/ko-KR/markdown/steam-directory.md b/src/lang/ko-KR/markdown/steam-directory.md
index b15010e819..bb82bc6a97 100644
--- a/src/lang/ko-KR/markdown/steam-directory.md
+++ b/src/lang/ko-KR/markdown/steam-directory.md
@@ -1,4 +1,4 @@
-# Steam directory `[supports environment variables]`{.noWrap}
+# Steam directory `[supports env variables]`
Must be a valid Steam directory which contains Steam executable. In order for Steam account to be detected, user must have logged in at least once.
diff --git a/src/lang/ko-KR/markdown/steam-parser-input.md b/src/lang/ko-KR/markdown/steam-parser-input.md
index 75f21d380d..1174b71b64 100644
--- a/src/lang/ko-KR/markdown/steam-parser-input.md
+++ b/src/lang/ko-KR/markdown/steam-parser-input.md
@@ -1,4 +1,4 @@
-# Steam Parser specific inputs
+# Steam Parser Specific Inputs
## Find artwork for games only
If enabled SRM will filter out any Steam applications that are not full games, such as demos and tools like `3DMark` or `Wallpaper Engine`.
diff --git a/src/lang/ko-KR/markdown/steam-parser.md b/src/lang/ko-KR/markdown/steam-parser.md
index b158f676a8..5b93d8bc77 100644
--- a/src/lang/ko-KR/markdown/steam-parser.md
+++ b/src/lang/ko-KR/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Steam parser
-This parser imports steam games into SRM. It does not add shortcuts, but it allows you to set the artwork for your steam games. By default the parser will get games from all user accounts in the steam directory specified — if you would prefer to only get the games for a subset of the accounts then specify them in the `User accounts` field.
-
-## Limitations
-Unfortunately for the time being this parser only works for steam games **that are in at least one category**. The reason for this is that Steam only stores your full list of games locally if they are categorized. Sometimes, for unknown reasons, games will be stored locally regardless and the parser will work, but to be safe the easiest thing to do is just **create a Steam Category** that has all of your Steam games in it.
-
-## User accounts (Optional)
-
-Can be used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
-```
-${...}
-```
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
-
- {.fitImage.center}
-
-For example, this is how you specify account for "Banana" and "Apple":
-
-```
-${Banana}${Apple}
-```
-
-In case the [use account credentials](#what-does-use-account-credentials-do) is disabled, you can still limit accounts by specifying their ids directly:
-
-```
-${56489124}${21987424}
-```
-
-## What does "Skip found accounts with missing data directories" do?
-
-Sometimes Steam's file that contains logins, may contain users that do not have data directory created (might have been manually deleted, etc.). You can specify to skip those accounts by enabling this option.
-
-## What does "Use account credentials" do?
-
-Tries to look for account credentials in Steam directory. In other words -- username. Username then can be used to filter accounts without actually having to know their ids.
-
-### Warning!
-
-If Steam has credential saving disabled, this option will prevent finding user accounts.
+This parser imports steam games into SRM so you can manage their artwork. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
\ No newline at end of file
diff --git a/src/lang/ko-KR/markdown/title-from-variable.md b/src/lang/ko-KR/markdown/title-from-variable.md
index bb6e4a52a2..6aa467e98c 100644
--- a/src/lang/ko-KR/markdown/title-from-variable.md
+++ b/src/lang/ko-KR/markdown/title-from-variable.md
@@ -1,43 +1,40 @@
-# Title from custom variable (optional)
+# Title from custom variable
-Allows to overwrite extracted title with a custom variable. This is done right after title extraction, meaning that the replaced title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+Allows one to overwrite the extracted title with a custom variable, pulled from the `json` files described below. This happens right after title extraction, meaning that the new title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+
+Title matching is limited to specific groups of custom variables. For example, this is how you specify groups "FBN" and "PSN":
-Title matching can be limited to specific groups of custom variables. In order to specify groups, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify groups for "RPCS3" and "rpcs3":
```
-${RPCS3}${rpcs3}
+${RPCS3}${PSN}
```
-Make sure you **toggle enable to on**.
-
-
-## Case-insensitive option
-
-If this option is enabled, case-insensitive matching will be done and first matched custom variable will be used.
-
-## Note. This feature is **experimental**
+# How it works
-Basically, it might change in the future release (very unlikelly). Furthermore, currently the only way to add variables is to create/edit `customVariables.json` used by SRM directly.
+There are two variable files, `customVariables.json` which is maintained by SRM (don't change this one, your changes will be overwritten every time SRM restarts) and `userVariables.json` which is where you should put your own variables. Both files are located in SRM's `Config Directory`.
-This file is/shoud be located in SRM's `userData` directory.
-
-SRM will throw error unless the following JSON structure is used:
+Both `customVariables.json` and `userVariables.json` have the same JSON structure. SRM will throw an error unless the following JSON structure is used:
```
{
- "RPCS3": {
+ "Group1": {
"NPUB30698": "Catherine",
"NPUB30024": "1942: Joint Strike",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
+ "Group2": {
+ "The Legend Of Zelda": "The Legend Of Link",
+ ...
},
...
}
```
-Then if your user glob were `MyDir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `MyDir`, you would set the title from custom variable field to `${Custom Stuff}` to obtain a final title of "The Legend of Link".
+Then if your user glob were `romsdir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `romsdir`, you would set the title from custom variable field to `${Group2}` to obtain a title of "The Legend of Link".
+
+## Case-insensitive variables
+
+If enabled, case-insensitive matching will be done and first matched custom variable will be used.
+
+## Skip file if variable not found
+
+If enabled, titles that don't match a variable will be excluded.
diff --git a/src/lang/ko-KR/markdown/title-modifier.md b/src/lang/ko-KR/markdown/title-modifier.md
index 791e000e27..4ecb2d02db 100644
--- a/src/lang/ko-KR/markdown/title-modifier.md
+++ b/src/lang/ko-KR/markdown/title-modifier.md
@@ -1,9 +1,11 @@
# Title modifier `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting can be used to prepend or append desired characters to a title which will be added to Steam. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset. This setting can be used to prepend or append desired characters to a Steam shortcut's `Title`. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+
```
${fuzzyTitle} (1.7.5)
```
+
You can use `${title}`{.noWrap} or any other variable to construct the final title.
This setting influences Steam's APP ID.
diff --git a/src/lang/ko-KR/markdown/uplay-parser-input.md b/src/lang/ko-KR/markdown/uplay-parser-input.md
index f40bbcd928..3a54e84b1a 100644
--- a/src/lang/ko-KR/markdown/uplay-parser-input.md
+++ b/src/lang/ko-KR/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# Unique inputs for UPlay Parser
+# UPlay Parser Specific Inputs
+
## Ubisoft Directory Override
By default Steam ROM Manager assumes your UPlay install is located in `C:\Program Files (x86)\Ubisoft`. This field allows you to override that path if your UPlay installation is elsewhere.
## Launch Via UPlay `[Recommend disabled]`
-
What it sounds like, this toggle let's you set whether games will launch via UPlay or directly from the game's executable.
For UPlay this doesn't matter too much as UPlay games will automatically launch UPlay in the background even when launched from the executable. Steam Overlay will not work when `Launch via UPlay` is enabled, whereas both Steam and Ubisoft overlays work when `Launch via UPlay` is disabled.
diff --git a/src/lang/ko-KR/markdown/user-accounts.md b/src/lang/ko-KR/markdown/user-accounts.md
index 99e4ea0bee..c0101b5f74 100644
--- a/src/lang/ko-KR/markdown/user-accounts.md
+++ b/src/lang/ko-KR/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# User accounts (Optional)
+# User accounts
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
-
-`${...}`
-
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either:
-
-* The account id is the name of the account directory that appears in `/path/to/steam/userdata`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
+This field is used to limit SRM's effects to specific user accounts. It can be set to `Global` or over ridden per parser.
## Warning
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and `Choose Accounts` will only be able to pull your `Steam IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Settings` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
diff --git a/src/lang/ko-KR/markdown/user-exceptions.md b/src/lang/ko-KR/markdown/user-exceptions.md
index a53dd0d6d9..a6e47de497 100644
--- a/src/lang/ko-KR/markdown/user-exceptions.md
+++ b/src/lang/ko-KR/markdown/user-exceptions.md
@@ -12,7 +12,7 @@ The `Extracted Title` field matches in two ways:
Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`.
-Exceptions generated from `Preview` will always be in the form `Extracted Title ${id:XXXXXX}`.
+Exceptions generated from `Add Games` will always be in the form `Extracted Title ${id:XXXXXX}`.
## New Display Title
diff --git a/src/lang/nl-NL/langStrings.json b/src/lang/nl-NL/langStrings.json
index d42bc546d5..60484346ba 100644
--- a/src/lang/nl-NL/langStrings.json
+++ b/src/lang/nl-NL/langStrings.json
@@ -14,17 +14,17 @@
"games": "All Artwork"
},
"by": "by",
- "refreshImages": "Refresh images",
- "saveImage": "Save image to file",
- "addLocalImages": "Add local images",
- "retryDownload": "Retry download",
- "generateAppList": "Parse",
+ "refreshImages": "Refresh artwork",
+ "saveImage": "Save artwork to file",
+ "addLocalImages": "Add local artwork",
+ "retryDownload": "Retry artwork download",
+ "generateAppList": "Refresh",
"saveAppList": "Save to Steam",
"removeAppList": "Remove from Steam",
"remainingImages": "Retrieving urls:",
"stopUrlRetrieving": "Stop",
- "exportSelections": "Export",
- "importSelections": "Import",
+ "exportSelections": "Export art",
+ "importSelections": "Import art",
"backButton": "Back",
"logButton": "Log"
},
@@ -44,46 +44,46 @@
"removingFromCategories": "Removing all added category information",
"writingVDF_entries__i": "Writing VDF files and downloading high res images in batches of ${batchSize}.",
"updatingKnownSteamDirList": "Updating a list of known Steam directories.",
- "retryingDownload__i": "Retrying image download from \"${imageUrl}\" for \"${appTitle}\".",
- "disabledConfigurations__i": "${count} user configuration(s) was/were skipped (disabled by user).",
- "invalidConfigurations__i": "${count} user configuration(s) was/were skipped (invalid).",
+ "retryingDownload__i": "Retrying artwork download from \"${imageUrl}\" for \"${appTitle}\".",
+ "disabledConfigurations__i": "${count} user parser(s) was/were skipped (disabled by user).",
+ "invalidConfigurations__i": "${count} user parser(s) was/were skipped (invalid).",
"executingParsers": "Executing parsers.",
- "shutdownSteam": "Please shutdown Steam if it is running.",
- "noParserConfigurations": "Please create parser configuration in \"Parsers\" menu first.",
+ "shutdownSteam": "If Steam is running, exit Steam.",
+ "noParserConfigurations": "Please create parser in \"Parsers\" menu first.",
"parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
- "allImagesRetrieved": "All available image urls retrieved.",
+ "allImagesRetrieved": "All available artwork urls retrieved.",
"providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
"noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
- "preparingExport": "Preparing export of image choices.",
- "exportProgress__i": "Saving image choices ${progress}.",
- "readingSelections": "Applying imported image choices."
+ "preparingExport": "Preparing export of artwork choices.",
+ "exportProgress__i": "Saving artwork choices ${progress}.",
+ "readingSelections": "Applying imported artwork choices."
},
"errors": {
- "fatalError": "Fatal error occurred in Preview. See event log for details.",
- "fatalError__i": "Fatal Preview Error ${error}",
+ "fatalError": "Fatal error occurred in Add Games. See event log for details.",
+ "fatalError__i": "Fatal Add Games error: ${error}",
"knownSteamDirListIsEmpty": "A list of known Steam directories is empty.",
"steamIsRunning": "Cannot make changes while steam is running!",
"categorySaveError": "Error updating categories. See event log for details.",
"categorySaveError__i": "Category error (shortcuts and artwork will still be added): ${error}",
"controllerSaveError": "Error updating controller templates. See event log for details.",
"controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
- "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
+ "retryingDownload__i": "Artwork download from \"${imageUrl}\" failed for \"${appTitle}\".",
"providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
"unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
"exportError__i": "Could not save selections package folder: ${error}",
"importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
- "importFailError__i": "Could not import image choices: ${error}"
+ "importFailError__i": "Could not import artwork choices: ${error}"
},
"success": {
"writingVDF_entries": "Done adding/removing entries.",
"removingVDF_entries": "Entries have been removed.",
- "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
- "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
+ "exportSuccess__i": "Artwork choices folder successfully saved to \"${path}\"!",
+ "importSelectionsSuccess__i": "Successfully imported ${count} artwork choices!"
}
}
},
"steamParser": {
- "onlyGamesTitle": "Find artwork for games only (no tools)",
+ "onlyGamesTitle": "Find artwork for games only (no tools or demos)",
"onlyInstalledTitle": "Find artwork for installed titles only",
"sourceModsTitle": "Find artwork for unofficial source mods",
"errors": {
@@ -93,16 +93,30 @@
"fatalError__i": "> Steam parser failed with fatal error:\n ${error}"
}
},
+ "nonSRMShortcutsParser": {
+ "errors": {
+ "noSteamAccounts": "> Steam directory specified has no accounts.",
+ "fatalError__i": "> Non-SRM Shortcuts parser failed with fatal error:\n ${error}"
+ }
+ },
"manualParser": {
"manifestsInputTitle": "Manifests Directory",
- "manifestsInputPlaceholder": "/path/to/your/manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"errors": {
"fatalError__i": "> Manual parser failed with fatal error:\n ${error}"
}
},
"epicParser": {
"manifestsInputTitle": "Epic Manifests Directory Override",
- "manifestsInputPlaceholder": "/path/to/Manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"launcherModeInputTitle": "Launch games via Epic for online services",
"errors": {
"invalidManifestsOverride": "> Manifests Override is not a valid directory.",
@@ -112,25 +126,56 @@
}
},
"legendaryParser": {
+ "launcherModeInputTitle": "Launch games via Legendary for online services",
"legendaryInstalledFileTitle": "Legendary installed.json Path Override",
- "legendaryInstalledFilePlaceholder": "/path/to/legendary/installed.json",
+ "legendaryInstalledFilePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary\\installed.json",
+ "Darwin": "/path/to/legendary/installed.json",
+ "Linux": "/path/to/legendary/installed.json"
+ },
+ "legendaryExeOverrideTitle": "Legendary Path Override",
+ "legendaryExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary.exe",
+ "Darwin": "/path/to/legendary",
+ "Linux": "/path/to/legendary"
+ },
"errors": {
"legendaryNotInstalled": "> Legendary installed.json not found",
- "fatalError__i": "> Legendary parser failed with fatal error: \n ${error}"
+ "fatalError__i": "> Legendary parser failed with fatal error:\n ${error}"
+ }
+ },
+ "battleNetParser": {
+ "battleExeOverrideTitle": "Battle.net.exe Path Override",
+ "battleExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Battle.net\\Battle.net.exe",
+ "Darwin": "/path/to/Battle.net.app/Contents/MacOS/Battle.net",
+ "Linux": "/path/to/Battle.net"
+ },
+ "errors": {
+ "battleNotCompatible": "> Battle.net parser is only available on Windows.",
+ "fatalError__i": "> Battle.net parser failed with fatal error:\n ${error}"
}
},
"UWPParser": {
"UWPDirTitle": "XboxGames Directory Override",
- "UWPDirPlaceholder": "/path/to/XboxGames or /path/to/WindowsApps",
+ "UWPDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\XboxGames\\ or C:\\path\\to\\WindowsApps\\",
+ "Darwin": "/path/to/XboxGames/ or /path/to/WindowsApps/",
+ "Linux": "/path/to/XboxGames/ or /path/to/WindowsApps/"
+ },
"UWPLauncherModeTitle": "Launch game as UWP instead of launcher helper",
"errors": {
"fatalError__i": "> UWP parser is not compatible in this platform.",
- "UWPNotCompatible": "> UWP parser failed with fatal error:\n ${error}"
+ "UWPNotCompatible": "> UWP parser is only available on Windows."
}
},
"uplayParser": {
"uplayDirTitle": "Ubisoft Directory Override",
- "uplayDirPlaceholder": "/path/to/Ubisoft/",
+ "uplayDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Ubisoft\\",
+ "Darwin": "/path/to/Ubisoft/",
+ "Linux": "/path/to/Ubisoft/"
+ },
"launcherModeInputTitle": "Launch games via UPlay for online services",
"errors": {
"invalidManifestsOverride": "> Uplay Directory Override is not a valid directory.",
@@ -142,8 +187,14 @@
},
"gogParser": {
"galaxyExeOverrideTitle": "Galaxy Path Override",
- "galaxyExeOverridePlaceholder": "/path/to/GalaxyClient.exe",
+ "galaxyExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\GalaxyClient.exe",
+ "Darwin": "/path/to/GOG Galaxy.app/Contents/MacOS/GOG Galaxy",
+ "Linux": "/path/to/GalaxyClient"
+ },
"launcherModeInputTitle": "Launch games via GOG Galaxy",
+ "parseLinkedExecsTitle": "Parse linked executables from GOG Galaxy",
+ "parseRegistryEntries": "Parse using Registry instead of Galaxy DB",
"errors": {
"invalidGalaxyExeOverride": "> Galaxy Client Override is not a valid path.",
"fatalError__i": "> GOG Galaxy parser failed with fatal error:\n ${error}",
@@ -153,7 +204,11 @@
},
"amazonGamesParser": {
"exeOverrideTitle": "Amazon Games Path Override",
- "exeOverridePlaceholder": "/path/to/Amazon Games.exe",
+ "exeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Amazon Games.exe",
+ "Darwin": "/path/to/Amazon Games.app/Contents/MacOS/Amazon Games",
+ "Linux": "/path/to/Amazon Games"
+ },
"launcherModeInputTitle": "Launch games via Amazon Games",
"errors": {
"invalidExeOverride": "> Amazon Games Installation Override is not a valid directory.",
@@ -164,7 +219,11 @@
},
"itchIoParser": {
"itchIoAppDataOverrideTitle": "itch.io AppData Directory Override",
- "itchIoAppDataOverridePlaceholder": "/path/to/itch",
+ "itchIoAppDataOverridePlaceholder": {
+ "Windows_NT": "C:\\AppData\\itch\\",
+ "Darwin": "~/Library/Application Support/itch/",
+ "Linux": "~/.config/itch/"
+ },
"itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Windows-on-Linux Install Drive Redirect",
"itchIoWindowsOnLinuxInstallDriveRedirectPlaceholder": "/mnt/d/",
"errors": {
@@ -177,7 +236,11 @@
},
"eaDesktopParser": {
"eaGamesDirTitle": "EA Games Directory Override",
- "eaGamesDirPlaceholder": "/path/to/EA Games/",
+ "eaGamesDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\EA Games\\",
+ "Darwin": "/path/to/EA Games/",
+ "Linux": "/path/to/EA Games/"
+ },
"eaLauncherModeTitle": "Launch games via EA Desktop",
"errors": {
"fatalError__i": "> EA Desktop parser failed with fatal error:\n ${error}",
@@ -186,7 +249,7 @@
}
},
"globParser": {
- "inputTitle": "User's glob",
+ "inputTitle": "Search glob",
"inputPlaceholder": "${title}.@(iso|ISO)",
"errors": {
"noTitle__md": "> File glob must contain `${title}`!",
@@ -203,7 +266,7 @@
}
},
"globRegexParser": {
- "inputTitle": "User's glob-regex",
+ "inputTitle": "Search glob-regex",
"inputPlaceholder": "${/valid regex/}",
"errors": {
"noRegex__md": "> File glob must contain `${regex}` where **regex** is your regular expression!",
@@ -226,18 +289,22 @@
"stylesTitle": "Allowed grid styles",
"stylesHeroTitle": "Allowed hero styles",
"stylesLogoTitle": "Allowed logo styles",
- "stylesIconTitle": "Allowed icon styles"
+ "stylesIconTitle": "Allowed icon styles",
+ "sizesTitle": "Allowed banner dimensions",
+ "sizesHeroTitle": "Allowed hero dimensions",
+ "sizesTallTitle": "Allowed portrait dimensions",
+ "sizesIconTitle": "Allowed icon dimensions"
},
"logger": {
"component": {
"noMessages": "No messages are available",
- "error": "ERROR",
- "info": "INFO",
- "success": "SUCCESS",
- "fuzzy": "FUZZY",
- "textWrap": "TEXT-WRAP",
- "autoscroll": "AUTOSCROLL",
- "clearLog": "Clear log",
+ "error": "Error messages",
+ "info": "Info messages",
+ "success": "Success messages",
+ "fuzzy": "Fuzzy messages",
+ "textWrap": "Wrap text",
+ "autoscroll": "Autoscroll",
+ "clearLog": "Clear",
"issueDescription": "Thorough issue description with passable spelling.",
"handleExample": "CoolHandle#1234"
}
@@ -251,40 +318,42 @@
"corruptedVariables__i": "Saved custom variables are invalid!\r\nPermanent variable saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "Custom variables file has been downloaded."
+ "downloaded": "Custom variables file has been updated."
}
}
},
"configPresets": {
"service": {
"error": {
- "failedToDownload__i": "Failed to download configuration presets file. Status: ${error}.",
+ "failedToDownload__i": "Failed to download configuration presets file from commit ${commit}. Status: ${error}.",
"writingError": "Error occurred while saving configuration presets.",
"loadingError": "Error occurred while loading configuration presets.",
"corruptedVariables__i": "Saved configuration presets are invalid!\r\nPermanent file saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "New config presets have been downloaded."
+ "downloaded": "Community presets have been updated."
}
}
},
"settings": {
"component": {
"label": {
- "general": "General settings",
- "imageProviders": "Image provider settings",
- "fuzzy": "Fuzzy matcher settings",
- "environmentVariables": "Environment variable settings",
- "communityPresets": "Community variable/preset settings"
+ "general": "General",
+ "imageProviders": "Artwork Providers",
+ "fuzzy": "Fuzzy Matcher",
+ "environmentVariables": "Environment Variables",
+ "communityPresets": "Community Presets and Custom Variables"
},
"text": {
+ "autoUpdate": "Check for updates on start",
"offlineMode": "Offline mode",
- "removeApps_desc": "all added app entries and controllers",
+ "removeApps_desc": "all added games and controllers",
"removeApps_btn": "Remove",
- "preloadImages": "Preload retrieved images immediately",
+ "preloadImages": "Artwork loading strategy",
"fuzzy_verbose": "Log matching results",
- "fuzzy_filter": "Filter images",
+ "fuzzy_filter": "Filter artwork",
"enabledProviders": "Enabled image providers",
+ "dnsServers": "DNS manual override",
"selectLanguage": "Select language",
"selectTheme": "Select theme",
"resetFuzzy_desc": "fuzzy list",
@@ -292,28 +361,38 @@
"resetFuzzy_btn": "Reset",
"customVariables_desc": "custom variables",
"configPresets_desc": "config presets",
- "showSteamImages": "Show current Steam images by default",
+ "showSteamImages": "Show current Steam artwork by default",
"deleteDisabledShortcuts": "Remove shortcuts for disabled parsers",
"clearLogOnTest": "Automatically clear log before testing parsers",
- "configDir": "Open Config Directory"
+ "configDir": "Config Directory",
+ "steamDir": "Steam Directory"
},
"placeholder": {
"noProviders": "None",
- "steamDirectoryWin": "Typically C:\\Program Files (x86)\\Steam",
- "steamDirectoryMac": "Typically ~/Library/Application Support/Steam",
- "steamDirectoryLinux": "Typically /home/user/.steam/steam",
"userAccounts": "For example ${steamlogin}",
- "romsDirectoryWin": "For example D:\\ROMs",
- "romsDirectoryMac": "For example ~/ROMs",
- "romsDirectoryLinux": "For example ~/ROMs",
- "retroarchPathWin": "For example C:\\Path\\To\\retroarch.exe",
- "retroarchPathLinux": "For example /path/to/retroarch",
- "retroarchPathMac": "For example /path/to/retroarch",
- "raCoresDirectoryWin": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores",
- "raCoresDirectoryLinux": "Typically /lib/x86_64-linux-gnu/libretro/cores",
- "raCoresDirectoryMac": "Typically /Applications/Retroarch.app/Contents/Resources/cores",
- "localImagesDirectoryWin": "For example C:\\Path\\To\\LocalArtwork",
- "localImagesDirectoryUnix": "For example ~/path/to/localartwork"
+ "bySystem": {
+ "Windows_NT": {
+ "steamDirectory": "Typically C:\\Program Files (x86)\\Steam\\",
+ "romsDirectory": "For example D:\\ROMs\\",
+ "retroarchPath": "For example C:\\Path\\To\\Retroarch.exe",
+ "raCoresDirectory": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores\\",
+ "localImagesDirectory": "For example C:\\Path\\To\\LocalArtwork\\"
+ },
+ "Darwin": {
+ "steamDirectory": "Typically ~/Library/Application Support/Steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /Applications/Retroarch.app/Contents/Resources/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ },
+ "Linux": {
+ "steamDirectory": "Typically /home/user/.steam/steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /lib/x86_64-linux-gnu/libretro/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ }
+ }
}
},
"service": {
@@ -331,6 +410,7 @@
"component": {
"about": "About",
"preview": "Preview",
+ "view": "View Games",
"logger": "Log",
"settings": "Settings",
"parsers": "Create Parser",
@@ -352,6 +432,9 @@
"title": "User Exceptions",
"exclude": "Exclude Title",
"excludeArtwork": "Local Artwork Only"
+ },
+ "placeholder": {
+ "sortBy": "Sort By"
}
},
"service": {
@@ -366,8 +449,8 @@
"component": {
"buttons": {
"save": "Save",
- "copy": "Copy",
- "testParser": "Test parser",
+ "copy": "Clone",
+ "testParser": "Test",
"delete": "Delete",
"moveUp": "Move up",
"moveDown": "Move down",
@@ -381,23 +464,23 @@
"opSys__i": "Operating system is \"${os}\"",
"testCompleted": "Parser test is completed.",
"nothingWasFound": "Parser found nothing.",
- "copiedToClipboard": "Configuration copied to clipboard",
+ "copiedToClipboard": "Parser copied to clipboard",
"userExclusions": "User excluded:",
- "excludedFileInfo__i": "[${index}/${total}]: ${filename}",
+ "excludedFileInfo__i": "[${index}/${total}]: ${filename}\n Excluded by \"${exceptionKey}\"",
"removingControllers__i": "Removing controller templates for parser: ${configTitle}",
"fetchingControllerTemplates": "Fetching controller templates"
},
"error": {
"missingAccounts__i": "Following ${count} user account(s) were not found (user must to login to Steam at least once):",
"missingAccountInfo__i": " ${name}",
- "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials (\"Show advanced options -> User accounts -> Use account credentials\").\r\nIf you're seeing this, preview won't be generated for this configuration.",
+ "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials.\r\nIf you're seeing this, Add Games will skip this configuration.",
"cannotParseUserIDs": "Error parsing user accounts:",
"failedToMatch": "Failed to match:",
"failedFileInfo__i": "[${index}/${total}]: ${filename}",
"testFailed": "Testing failed",
"cannotTestInvalid": "Can not test invalid configuration!",
"cannotCopyInvalid": "Can not copy invalid configuration!",
- "failedToCopy": "Failed to copy to clipbard!",
+ "failedToCopy": "Failed to copy to clipboard!",
"cannotFetchTemplates": "Can not fetch controller templates for invalid steam directory!",
"errorRemovingControllers": "Error removing controllers:",
"cannotRemoveControllers": "Can not remove controllers from invalid steam directory!"
@@ -405,8 +488,8 @@
"success": {
"foundAccounts__i": "Found ${count} available user account(s):",
"foundAccountInfo__i": " ${name} (steamID64: ${steamID64}, accountID: ${accountID})",
- "steamCategory__i": "[${index}/${total}]: Steam categories - ${steamCategory}",
- "steamCategoryInfo__i": "[${index}/${total}]: ${steamCategory}",
+ "steamCategories__i": "[${index}/${total}]: Steam categories - ${steamCategories}",
+ "steamCategoriesInfo__i": "[${index}/${total}]: ${steamCategories}",
"exceptionKey__i": "[${index}/${total}]: Exception ID - ${appid}",
"appId__i": "[${index}/${total}]: Legacy App ID - ${appid}",
"shortAppId__i": "[${index}/${total}]: App ID - ${appid}",
@@ -416,20 +499,21 @@
"filePath__i": "[${index}/${total}]: File path - ${filePath}",
"startDir__i": "[${index}/${total}]: Start dir - ${startDir}",
"completeShortcut__i": "[${index}/${total}]: Complete shortcut - ${shortcut}",
- "firstImageQuery__i": "[${index}/${total}]: Image queries - ${query}",
+ "firstImageQuery__i": "[${index}/${total}]: Artwork queries - ${query}",
+ "imagePool__i": "[${index}/${total}]: Artwork pool - ${imagePool}",
"imageQueries__i": "[${index}/${total}]: ${query}",
"defaultImage__i": "[${index}/${total}]: Resolved fallback ${artworkType}:\r\n[${index}/${total}]: ${image}",
"resolvedDefaultImage__i": "[${index}/${total}]: Fallback ${artworkType}:",
- "localImages__i": "[${index}/${total}]: Resolved ${artworkType}:",
- "resolvedLocalImages__i": "[${index}/${total}]: ${artworkType} glob:",
+ "localImages__i": "[${index}/${total}]: Resolved local ${artworkType}:",
+ "resolvedLocalImages__i": "[${index}/${total}]: Local ${artworkType} glob:",
"indexInfo__i": "[${index}/${total}]: ${indexed}",
"removedControllers__i": "Succesfully removed controllers for parser: ${configTitle}",
"fetchedTemplates": "Fetched all controller templates"
},
"label": {
"parserType": "Parser type",
- "configTitle": "Configuration title",
- "steamCategory": "Steam category",
+ "configTitle": "Parser title",
+ "steamCategories": "Steam collections",
"executableModifier": "Executable modifier",
"executableLocation": "Executable",
"romDirectory": "ROMs directory",
@@ -440,33 +524,56 @@
"titleModifier": "Title modifier",
"fuzzyMatch": "Fuzzy matching",
"executableArgs": "Command line arguments",
- "onlineImageQueries": "Online image query",
- "imagePool": "Image pool",
- "imageProviders": "Image providers",
+ "onlineImageQueries": "Artwork provider search queries",
+ "imagePool": "Artwork pool",
+ "imageProviders": "Artwork providers",
"defaultImage__i": "Fallback ${artworkType}",
"localImages__i": "Local ${artworkType} glob"
},
"placeholder": {
"parserType": "Select parser...",
"configTitle": "My Awesome Parser",
- "steamCategory": "${cat1}${cat2}",
- "steamDirectory": "${steamdirglobal} or /path/to/steam",
- "userAccounts": "${steamuser1}${steamuser2} or ${${accountsglobal}}",
- "titleFromVariable": "${myvariable}",
+ "steamDirectory": {
+ "Windows_NT": "${steamdirglobal} or C:\\path\\to\\Steam\\",
+ "Darwin": "${steamdirglobal} or /path/to/Steam/",
+ "Linux": "${steamdirglobal} or /path/to/Steam/"
+ },
+ "titleFromVariable": "${variableGroup1}${variableGroup2}",
"titleModifier": "${fuzzyTitle} or ${title}",
- "defaultImage__i": "/path/to/fallback_${artworkType}.png",
- "localImages__i": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
- "romDirectory": "/path/to/games/",
+ "defaultImage__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\fallback_${artworkType}.png",
+ "Darwin": "/path/to/fallback_${artworkType}.png",
+ "Linux": "/path/to/fallback_${artworkType}"
+ },
+ "localImages__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\art\\\\${artworkType}\\\\\\${title}.@(png|jpg)",
+ "Darwin": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
+ "Linux": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)"
+ },
+ "onlineImageQueries": "${${fuzzyTitle}} or ${${title}}${${fuzzyTitle}}",
+ "imagePool": "${fuzzyTitle}",
+ "romDirectory": {
+ "Windows_NT": "C:\\path\\to\\games\\",
+ "Darwin": "/path/to/games/",
+ "Linux": "/path/to/games/"
+ },
"glob": "${title}.@(iso|ISO)",
- "executableLocation": "Example: /path/to/emulator.exe",
- "executableArgs": "--arg1 --arg2",
+ "executableLocation": {
+ "Windows_NT": "C:\\path\\to\\emulator.exe",
+ "Darwin": "/path/to/emulator.app",
+ "Linux": "/path/to/emulator"
+ },
+ "executableArgs": "--arg1 --arg2 --launch \"${filePath}\"",
"executableModifier": "\"${exePath}\"",
- "startInDirectory": "/path/to/start/in/dir",
+ "startInDirectory": {
+ "Windows_NT": "C:\\path\\to\\start-in-dir\\",
+ "Darwin": "/path/to/start-in-dir/",
+ "Linux": "/path/to/start-in-dir/"
+ },
"imageProviders": "None",
"multiAPIPlaceholder": "No Filter"
},
"text": {
- "tryToMatchTitle": "Enable Title from Custom Variable",
"skipFileIfVariableWasNotFound": "Skip file if variable was not found",
"caseInsensitiveVariables": "Case-insensitive variables",
"shortcut_passthrough": "Follow .lnk or .desktop to destination (Windows and Linux only)",
@@ -482,18 +589,18 @@
},
"service": {
"info": {
- "updatingConfigurations": "Updating user configurations with new fields"
+ "updatingConfigurations": "Updating user's parsers with new fields"
},
"error": {
- "savingConfiguration": "Error encountered while saving user configurations!",
- "readingConfiguration": "Error encountered while reading user configurations!",
+ "savingConfiguration": "Error encountered while saving user's parsers!",
+ "readingConfiguration": "Error encountered while loading user's parsers!",
"parserTypeMissing": "Cannot save without specifying parser type",
- "corruptedConfiguration__i": "One or more saved parser configurations are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
- "fetcingTemplates": "Error encountered while fetching controllers templates!"
+ "corruptedConfiguration__i": "One or more saved parsers are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
+ "fetchingTemplates": "Error encountered while fetching controllers templates!"
},
"validationErrors": {
"parserType__md": "> Incorrect parser type!",
- "configTitle__md": "> Configuration title is required!",
+ "configTitle__md": "> Parser title field cannot be blank!",
"parserId__md": "> Parser Id is missing, something is horribly wrong.",
"parserInput": {
"noInput": "No inputs are available!",
@@ -501,19 +608,15 @@
"incorrectParser": "Incorrect parser!"
},
"romDir__md": "> ROMs directory is invalid!",
- "userAccounts__md": "> Steam parser requires `User Accounts` field",
+ "userAccounts__md": "> User accounts field is required!",
"steamDir__md": "> Steam directory is invalid!",
"startInDir__md": "> \"Start In\" directory is invalid!",
"executable__md": "> Executable is invalid!",
- "imagePool__md": "> Image pool must not be empty!",
- "defaultImage__md": "> Default image is an invalid path!",
- "titleModifier__md": "> Title modifier must not be empty!",
- "executableModifier__md": "> Executable modifier must not be empty!",
- "variableString__md": "> Uneven number of `${` and `}` pairs. Use `\\` to escape `${` or `}` if you want to use them as characters.",
- "imageProviders__md": "> Incorrect image providers type!",
- "unhandledValidationKey__md": "> Input's validation is unhandled",
- "genericDir__md": "> Directory is invalid",
- "genericPath__md": "> Path is invalid"
+ "defaultImage__md": "> Fallback artwork is an invalid path!",
+ "variableString__md": "> Uneven number of `${` and `}` pairs! Use `\\` to escape `${` or `}` if you want to use them as characters.",
+ "unhandledValidationKey__md": "> Input's validation is unhandled!",
+ "genericDir__md": "> Directory is invalid!",
+ "genericPath__md": "> Path is invalid!"
},
"text": {
"noTitle": "No title!"
@@ -540,7 +643,7 @@
"error": {
"parserNotFound__i": "Parser \"${name}\" not found!",
"tooManyFieldGlobs__md": "> Only one `$(...)$` set is allowed per input.",
- "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** ir **Glob-regex** field.",
+ "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** in **Glob-regex** field.",
"noWinSlashes__md": "> Windows directory character `\\` is not allowed! Use `/` instead."
}
},
@@ -567,11 +670,11 @@
"error": {
"readingVdf__i": "Failed to read from \"${filePath}\".\n ${error}",
"writingVdf__i": "Failed to write to \"${filePath}\".\n ${error}",
- "skippingDMCA__i": "Skipping DMCA'd image for ${title}",
+ "skippingDMCA__i": "Skipping DMCA'd artwork for ${title}",
"corruptedVdf__i": "\"${filePath}\" is corrupted.\n ${error}",
"creatingBackup__i": "Could not create backup for \"${filePath}\".\n ${error}",
"unsupportedMimeType__i": "Mime type (${type}) is unsupported (title - \"${title}\").",
- "imageError__i": "Error occurred while saving/downloading image for \"${title}\". Url: ${url}.\n ${error}"
+ "imageError__i": "Error occurred while saving/downloading artwork for \"${title}\". Url: ${url}.\n ${error}"
}
},
"helpers": {
diff --git a/src/lang/nl-NL/markdown/UWP-parser-input.md b/src/lang/nl-NL/markdown/UWP-parser-input.md
index 1a3f20be1d..8c045eea77 100644
--- a/src/lang/nl-NL/markdown/UWP-parser-input.md
+++ b/src/lang/nl-NL/markdown/UWP-parser-input.md
@@ -1,4 +1,4 @@
-# Unique inputs for UWP Parser
+# UWP Parser Specific Inputs
## Games directory
@@ -8,4 +8,4 @@ Set it to `C:\Program Files\WindowsApps` to grab all UWP applications -- you'll
## Launch as UWP or from GameLaunchHelper.exe
-Gamepass games can be launched both ways, although UWP is preffered.
+Gamepass games can be launched both ways, although UWP is preferred.
diff --git a/src/lang/nl-NL/markdown/UWP-parser.md b/src/lang/nl-NL/markdown/UWP-parser.md
index bfb5a847f3..af4fee0f84 100644
--- a/src/lang/nl-NL/markdown/UWP-parser.md
+++ b/src/lang/nl-NL/markdown/UWP-parser.md
@@ -4,4 +4,4 @@ This parser imports `UWP` games in your Windows OS, having a games library path
## Compatibility
-This parser should only work on `Windows 10` and `Windows 11`.
\ No newline at end of file
+This parser should only work on `Windows 10` and `Windows 11`.
diff --git a/src/lang/nl-NL/markdown/about.md b/src/lang/nl-NL/markdown/about.md
index f09eb45a18..6c39dacaca 100644
--- a/src/lang/nl-NL/markdown/about.md
+++ b/src/lang/nl-NL/markdown/about.md
@@ -2,52 +2,53 @@
Als je problemen hebt met SRM, bezoek dan de [discord](https://discord.gg/bnSVJrz) of de [subreddit](https://www.reddit.com/r/SteamRomManager/) en vraag om onze hulp. Om je goed te kunnen helpen, vragen we je deze gegevens te verstrekken:
-* SRM versie: **#{APP[version]}**
+* SRM-versie: **#{APP[version]}** emudeckTekst
* Besturingssysteem **#{APP[os]}**
## Handige links
-* [SRM Releases](https://github.com/SteamGridDB/steam-rom-manager/releases)
+* [SRM Uitgaven](https://github.com/SteamGridDB/steam-rom-manager/releases)
* [Discord Server](https://discord.gg/bnSVJrz)
* [r/SteamRomManager](https://www.reddit.com/r/SteamRomManager/)
-* [Steam Group](https://steamcommunity.com/groups/steamrommanager)
+* [Steam Groep](https://steamcommunity.com/groups/steamrommanager)
* [Github Repo](https://github.com/SteamGridDB/steam-rom-manager)
-* [Crowdin Translation Project](https://crowdin.com/project/steam-rom-manager)
+* [Crowdin Vertaling Project](https://crowdin.com/project/steam-rom-manager)
## Ondersteuning
-Help support continued progress on Steam ROM Manager at:
+Help mee de voortgang van Steam ROM Manager te ondersteunen via:
-[SteamGridDB](https://www.steamgriddb.com/) host al het artwork dat Steam ROM Manager gebruikt om je Steam-bibliotheek de afgunst van de stad te maken, dus we zouden ze waarschijnlijk moeten helpen om hun lichten aan te houden. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon.
+[SteamGridDB](https://www.steamgriddb.com/) host al het artwork dat Steam ROM Manager gebruikt om je Steam-bibliotheek de afgunst van de stad te maken, dus we zouden ze waarschijnlijk moeten helpen om hun lichten aan te houden. [SteamGridDB](https://www.steamgriddb.com/) host alle artwork die Steam ROM Manager gebruikt om jouw Steam-bibliotheek tot een lust voor het oog te maken, dus we moeten ze waarschijnlijk helpen om hun licht brandend te houden.
-## Contributions
-* `FrogTheFrog`{.noWrap} - Creator of SRM, no longer active on SRM but currently working on the [MoonDeck Plugin](https://github.com/FrogTheFrog/moondeck)
+## Bijdragen
+* `FrogTheFrog`{.noWrap} - Maker van SRM, niet meer actief op SRM maar momenteel bezig met de [MoonDeck Plugin](https://github.com/FrogTheFrog/moondeck)
-### Current Maintainers
-* `lontanadascienza`{.noWrap} - Updated SRM to handle heroes, posters, logos, and icons. Added the exception manager, controller management, platform parsers (Epic, GOG, Steam, etc), among many other things. Squashes bugs almost as fast as he introduces them.
+### Huidige Beheerders
+* `lontanadascienza`{.noWrap} - Heeft SRM bijgewerkt zodat het nu ook helden, posters, logo's en iconen kan verwerken. Added the exception manager, controller management, platform parsers (Epic, GOG, Steam, etc), among many other things. Squashes bugs almost as fast as he introduces them.
* `Zennn`{.noWrap} - Added category support, langauge localization, and the bug report server among many other things. Is grote baas bij [SteamGridDB](https://www.steamgriddb.com/).
-* `KenCinder`{.noWrap} - Manages and creates community parser presets and helps user setup SRM in [Discord](https://discord.gg/bnSVJrz).
+* `KenCinder`{.noWrap} - Beheert en creëert community parser presets en helpt gebruikers bij het instellen van SRM in [Discord](https://discord.gg/bnSVJrz).
-### Feature Contributions
-* `dragoonDorise`{.noWrap} - Added new themes to SRM. Creator and current maintainer of [EmuDeck](https://www.emudeck.com/).
+### Functie Bijdragers
+* `dragoonDorise`{.noWrap} - Nieuwe thema's toegevoegd aan SRM. Maker en huidige beheerder van [EmuDeck](https://www.emudeck.com/).
* `alvaromunoz`{.noWrap} - Added Game Pass parser to SRM.
* `lexarvn`{.noWrap} - Added the Amazon Games parser and the itch.io parser.
-* `CarJem`{.noWrap} - Added the manual parser.
+* `CarJem`{.noWrap} - Heeft de handmatige parser toegevoegd.
* `MattMckenzy`{.noWrap} - Added ability to import and export image choices.
* `Apalatn`{.noWrap} - Added an install drive redirect option to the itch.io parser.
-* `OneMoreByte` - Made itch.io parser work on linux and mac.
-* `UndarkAido` - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `OneMoreByte`{.noWrap} - Made itch.io parser work on linux and mac.
+* `UndarkAido`{.noWrap} - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `HazardousBackup`{.noWrap} - Added option to GOG parser to parse Registry instead of GOG's DB.
### Community
-* `HE Spoke`{.noWrap} - created a community around SRM. Maker van [Steam](https://steamcommunity.com/groups/steamrommanager) en [Discord](https://discord.gg/bnSVJrz) groepen. Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
-* `livedeht`{.noWrap} - Helps users setup SRM with and without [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/).
-* `Choko`{.noWrap} - Helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
-* `Xav83`{.noWrap} - Creator and maintainer of SRM's [Chocolatey package](https://community.chocolatey.org/packages/steam-rom-manager)
+* `HE Spoke`{.noWrap} - created a community around SRM. Maker van [Steam](https://steamcommunity.com/groups/steamrommanager) en [Discord](https://discord.gg/bnSVJrz) groepen. Helpt ook gebruikers SRM instellen in [Discord](https://discord.gg/bnSVJrz).
+* `livedeht`{.noWrap} - Helpt gebruikers SRM instellen met en zonder [EmuDeck](https://www.emudeck.com/). Huidige beheerder van [EmuDeck](https://www.emudeck.com/).
+* `Choko`{.noWrap} - Helpt gebruikers SRM instellen in [Discord](https://discord.gg/bnSVJrz).
+* `Xav83`{.noWrap} - Maker en beheerder van SRM's [Chocolatey package](https://community.chocolatey.org/packages/steam-rom-manager)
diff --git a/src/lang/nl-NL/markdown/amazon-games-parser-input.md b/src/lang/nl-NL/markdown/amazon-games-parser-input.md
index c43b29f510..9598434bbd 100644
--- a/src/lang/nl-NL/markdown/amazon-games-parser-input.md
+++ b/src/lang/nl-NL/markdown/amazon-games-parser-input.md
@@ -1,4 +1,4 @@
-# Amazon Games Parser-specifieke inputs
+# Amazon Games Parser Specific Inputs
## Amazon Games Pad overschrijven
Standaard gaat Steam ROM Manager ervan uit dat je Amazon Games-installatie zich bevindt in `C:\Gebruikers\<gebruikersnaam>\AppData\Local\Amazon Games\App\Amazon Games.exe`. Met dit veld kun je dat pad overschrijven als je Amazon Games-installatie ergens anders is.
diff --git a/src/lang/nl-NL/markdown/amazon-games-parser.md b/src/lang/nl-NL/markdown/amazon-games-parser.md
index 9fc3e16543..4a08955747 100644
--- a/src/lang/nl-NL/markdown/amazon-games-parser.md
+++ b/src/lang/nl-NL/markdown/amazon-games-parser.md
@@ -1,3 +1,3 @@
# Amazon Games Parser
-Deze parser importeert games van `Amazon Games` zodat er illustraties voor kunnen worden gekozen en ze kunnen worden toegevoegd aan Steam. Als het niet werkt, komt dat doordat Amazon Games de structuur van hun speldatabase of hun fuel.json heeft gewijzigd. Laat het in dat geval de ontwikkelaars van SRM weten en we zullen het probleem oplossen.
\ No newline at end of file
+Deze parser importeert games van `Amazon Games` zodat er illustraties voor kunnen worden gekozen en ze kunnen worden toegevoegd aan Steam. Als het niet werkt, komt dat doordat Amazon Games de structuur van hun speldatabase of hun fuel.json heeft gewijzigd. Laat het in dat geval de ontwikkelaars van SRM weten en we zullen het probleem oplossen.
diff --git a/src/lang/nl-NL/markdown/battle-net-parser-input.md b/src/lang/nl-NL/markdown/battle-net-parser-input.md
new file mode 100644
index 0000000000..1f03fae4a6
--- /dev/null
+++ b/src/lang/nl-NL/markdown/battle-net-parser-input.md
@@ -0,0 +1,5 @@
+# Battle.net Parser Specific Inputs
+
+## Battle.net.exe Path Override
+
+By default Steam ROM Manager assumes your `Battle.net` executable is located at `C:\Program Files (x86)\Battle.net\Battle.net.exe`. This field allows you to override that if your `Battle.net` is installed elsewhere.
diff --git a/src/lang/nl-NL/markdown/battle-net-parser.md b/src/lang/nl-NL/markdown/battle-net-parser.md
new file mode 100644
index 0000000000..c3ffb10b67
--- /dev/null
+++ b/src/lang/nl-NL/markdown/battle-net-parser.md
@@ -0,0 +1,5 @@
+# Battle.net Parser
+
+This parser imports games from the `Battle.net` app, so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Blizzard has altered the structure of their database files, in which case please let the developers of SRM know and we will resolve the issue.
+
+The `Battle.net` parser is somewhat special in that it uses a shell script at `${srmDir}/scripts/bnet.ps1` in order to launch `Battle.net`, wait an appropriate amount of time, and only then launch the actual title.
diff --git a/src/lang/nl-NL/markdown/config-title.md b/src/lang/nl-NL/markdown/config-title.md
index 323e525f38..abadc31951 100644
--- a/src/lang/nl-NL/markdown/config-title.md
+++ b/src/lang/nl-NL/markdown/config-title.md
@@ -1,3 +1,5 @@
-# Configuratie titel
+# Parser title
-Titel om de gebruikersconfiguratie op te slaan. Hoeft niet uniek te zijn, maar is wel verplicht.
\ No newline at end of file
+Title of the parser. Does not have to be unique, but is required.
+
+This field will not affect what is added to `Steam` in any way.
diff --git a/src/lang/nl-NL/markdown/controller-templates.md b/src/lang/nl-NL/markdown/controller-templates.md
index 40c0f2bf02..849c801c04 100644
--- a/src/lang/nl-NL/markdown/controller-templates.md
+++ b/src/lang/nl-NL/markdown/controller-templates.md
@@ -17,10 +17,10 @@ In de SRM parser:
Momenteel haalt SRM alle standaard (door Valve gemaakte) sjablonen voor elke controller op, evenals alle door de gebruiker gedefinieerde sjablonen die eindigen op `(SRM)`.
-* Kies uw sjablonen en sla de parser op. De configuratiesets van de controller worden toegepast zodra u in het voorbeeld op `App-lijst Opslaan` klikt.
+* Kies uw sjablonen en sla de parser op. The controller configsets will be applied once you hit `Save to Steam` in the Add Games.
* Om controllerconfiguraties ongedaan te maken, kun je ofwel `Alle toegevoegde app-items verwijderen` in de algemene instellingen (hierdoor worden alle door SRM aangebrachte wijzigingen in je Steam-gegevens verwijderd) of op `Alle controllers ongedaan maken` klikken in de parser (dit verwijdert alleen controllerinstellingen voor de steam-directory en de gebruiker die in die parser is opgegeven).
-Zodra dit gedaan is, kunt u de preview genereren en opslaan zoals gebruikelijk, en het sjabloon zal worden toegepast op alle titels in de parser.
+Once this is done you can parse and add games to steam as usual, and the templates will be applied to all the titles in the parser.
diff --git a/src/lang/nl-NL/markdown/default-image.md b/src/lang/nl-NL/markdown/default-image.md
index 4d8e70bff4..6bc77cfc77 100644
--- a/src/lang/nl-NL/markdown/default-image.md
+++ b/src/lang/nl-NL/markdown/default-image.md
@@ -1,4 +1,4 @@
-# Standaardafbeelding (optioneel) `[ondersteunt variabelen]`{.noWrap}
+# Default image `[supports variables]`{.noWrap}
Hiermee kan een lokaal opgeslagen afbeelding worden gebruikt als standaard-/terugvalafbeelding. Een [special glob input](#special-glob-input) string wordt gebruikt om afbeeldingen op te halen. Alleen de eerste opgehaalde afbeelding wordt gebruikt.
diff --git a/src/lang/nl-NL/markdown/ea-desktop-parser-input.md b/src/lang/nl-NL/markdown/ea-desktop-parser-input.md
index 7992e2b3fb..ff85b82342 100644
--- a/src/lang/nl-NL/markdown/ea-desktop-parser-input.md
+++ b/src/lang/nl-NL/markdown/ea-desktop-parser-input.md
@@ -1,4 +1,4 @@
-# EA Desktop Parser-specifieke inputs
+# EA Desktop Parser Specific Inputs
## EA Games Directory Override
Standaard gaat Steam ROM Manager ervan uit dat je `EA Desktop`-spellen zijn geïnstalleerd in ``C:\Program Files\EA Games\`. Met dit veld kun je dat wijzigen naar waar je games geïnstalleerd zijn, bijv.``D:\Games\EA Games`.
diff --git a/src/lang/nl-NL/markdown/epic-parser-input.md b/src/lang/nl-NL/markdown/epic-parser-input.md
index 72fb7fdf03..78fbc415ca 100644
--- a/src/lang/nl-NL/markdown/epic-parser-input.md
+++ b/src/lang/nl-NL/markdown/epic-parser-input.md
@@ -1,4 +1,4 @@
-# Epic Games Store-specifieke inputs
+# Epic Games Store Specific Inputs
## Manifest Directory overschrijven
diff --git a/src/lang/nl-NL/markdown/executable-arguments.md b/src/lang/nl-NL/markdown/executable-arguments.md
index 55709e7a0b..fb350db129 100644
--- a/src/lang/nl-NL/markdown/executable-arguments.md
+++ b/src/lang/nl-NL/markdown/executable-arguments.md
@@ -1,4 +1,4 @@
-# Opdrachtregelargumenten (optioneel) `[ondersteunt variabelen]`{.noWrap}
+# Command line arguments `[supports variables]`{.noWrap}
Argumenten die aan het uitvoerbare bestand worden toegevoegd om de definitieve snelkoppeling te produceren. Meestal wilt u dit instellen met behulp van de meegeleverde parservariabelen.
@@ -49,7 +49,7 @@ Argumenten die aan het uitvoerbare bestand worden toegevoegd om de definitieve s
### Nestopia (NES/Famicom)
```
-"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen fullscreen on start: yes -view size fullscreen : stretched
+"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen fullscreen on start: yes -view size fullscreen : stretched
```
### higan (NES/Famicom, SNES/Famicom, Gameboy, Gameboy Color en Gameboy Advance)
@@ -126,13 +126,13 @@ Deze instelling wordt gebruikt om de APP-ID van Steam te beïnvloeden.
## Folder variabelen
-| Variabele (niet hoofdlettergevoelig) | Overeenkomstige waarde |
-| ------------------------------------:|:--------------------------------------------- |
-| `${exeDir}` | Uitvoerbaar bestand map |
-| `${romDir}` | ROMs map |
-| `${steamDir}` | Steam map |
-| `${startInDir}` | "StartIn" map |
-| `${fileDir}` | Bestanden, teruggestuurd door een parser, map |
+| Variabele (niet hoofdlettergevoelig) | Overeenkomstige waarde |
+| ------------------------------------:|:----------------------------------------- |
+| `${exeDir}` | Uitvoerbaar bestand map |
+| `${romDir}` | ROMs map |
+| `${steamDir}` | Steam map |
+| `${startInDir}` | "StartIn" map |
+| `${fileDir}` | Files returned by a parser or a directory |
Als uitvoerbare map-invoer **leeg** wordt gelaten, is `${exeDir}`{.noWrap} gelijk aan `${fileDir}`{.noWrap}. Bovendien, als de map "StartIn" **leeg** wordt gelaten, is `${startInDir}`{.noWrap} gelijk aan `${exeDir}`{.noWrap}.
@@ -187,6 +187,7 @@ Als fuzzy matching **mislukt** of **uitgeschakeld** is, is `${fuzzyTitle}`{.noWr
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -196,7 +197,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/nl-NL/markdown/executable-location.md b/src/lang/nl-NL/markdown/executable-location.md
index b13f57494f..36fbbc9a46 100644
--- a/src/lang/nl-NL/markdown/executable-location.md
+++ b/src/lang/nl-NL/markdown/executable-location.md
@@ -1,4 +1,4 @@
-# Executable (optional) `[supports environment variables]`
+# Executable `[supports env variables]`
Path to emulator's executable. Can be a file or any valid system path.
@@ -6,6 +6,8 @@ Path to emulator's executable. Can be a file or any valid system path.
In some cases you might want to run game from a some kind batch file which will also automatically run the emulator itself. If that is the case, then providing executable is unnecessary.
+The final shortcut will just be `"${filePath}" --command-line-args`.
+
### So, how do I add files to Steam without default executable?
All files retrieved by a parser will be treated as executables instead.
diff --git a/src/lang/nl-NL/markdown/executable-modifier.md b/src/lang/nl-NL/markdown/executable-modifier.md
index c3c5739e86..2131f6964d 100644
--- a/src/lang/nl-NL/markdown/executable-modifier.md
+++ b/src/lang/nl-NL/markdown/executable-modifier.md
@@ -1,102 +1,23 @@
# Executable modifier `[supports variables]`{.noWrap}
-Default value is `"${exePath}"`{.noWrap}. This setting can be used to prepend or append desired characters to an executable which will be added to Steam (`Target` property). For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you can add `"cmd" /k start /min` to it by setting value to:
+Defaults to `"${exePath}"`{.noWrap} if unset. This field can be used to prepend or append desired characters to the executable which will be added to the Steam shortcut's `Target` property. For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you could start `Retroarch` minimized by setting the `Executable Modifier` "cmd" to:
+
```
"cmd" /k start /min "${exePath}"
```
-You can use any other variable to construct the final executable.
-
-This setting influences Steam's APP ID.
-
-
-## Shortcut Passthrough
-If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the target of that shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser.
-
-## Directory variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
-
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
-
-## Name variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------------------------------- |
-| `${exeName}` | Name of executable (without extension) |
-| `${fileName}` | Name of file which was returned by a parser (without extension) |
-
-In case executable directory input is left **empty**, `${exeName}`{.noWrap} is equal to `${fileName}`{.noWrap}.
-
-## Extension variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------------------- |
-| `${exeExt}` | Extension of executable (with a dot) |
-| `${fileExt}` | Extension of file which was returned by a parser (with a dot) |
-In case executable directory input is left **empty**, `${exeExt}`{.noWrap} is equal to `${fileExt}`{.noWrap}.
+In this case the `Target` property would begin with:
-## Path variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:-------------------------------------------------- |
-| `${exePath}` | Full path to an executable |
-| `${filePath}` | Full path to a file which was returned by a parser |
-
-In case executable directory input is left **empty**, `${exePath}`{.noWrap} is equal to `${filePath}`{.noWrap}.
-
-## Parser variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------ |
-| `${title}` | Extracted title |
-| `${fuzzyTitle}` | Fuzzy matched title |
-| `${finalTitle}` | Title which was the end result of title modifier |
-
-In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
+```
+"cmd" /k start /min "C:\RetroArch\retroarch.exe"
+```
-## Function variables
+followed by whatever launch arguments you choose in the `Command Line Arguments` field.
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+You can use any other variable to construct the final executable.
-### Function variable example
+This setting influences Steam's APP ID.
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
-```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
-```
-will be replaced with these:
-```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+## Shortcut Passthrough
---On linux:
-file.so
---On Windows:
-file.dll
---On Mac OS:
-file
-```
+If you enable `Follow .lnk/.desktop to destination` and the glob search finds a `.lnk` or `.desktop` file, ie a shortcut, then the `${filePath}` variable will contain the target of the shortcut rather than the path to the shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the `Command Line Arguments` field in the parser.
diff --git a/src/lang/nl-NL/markdown/glob-parser-input.md b/src/lang/nl-NL/markdown/glob-parser-input.md
index 996ae77ce1..2a43592892 100644
--- a/src/lang/nl-NL/markdown/glob-parser-input.md
+++ b/src/lang/nl-NL/markdown/glob-parser-input.md
@@ -1,4 +1,4 @@
-# Glob Parser specific inputs
+# Glob Parser Specific Inputs
## User's glob
diff --git a/src/lang/nl-NL/markdown/glob-regex-parser-input.md b/src/lang/nl-NL/markdown/glob-regex-parser-input.md
index 22c1f5cea6..6491148a25 100644
--- a/src/lang/nl-NL/markdown/glob-regex-parser-input.md
+++ b/src/lang/nl-NL/markdown/glob-regex-parser-input.md
@@ -1,4 +1,4 @@
-# Glob-regex Parser specific inputs
+# Glob-regex Parser Specific Inputs
## User's glob-regex
@@ -6,7 +6,7 @@ This is where you create your glob for extracting title from file path. Please r
## How does it work?
-In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
+In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
| User's glob | Position |
| --------------------- | --------------------------- |
diff --git a/src/lang/nl-NL/markdown/gog-parser-input.md b/src/lang/nl-NL/markdown/gog-parser-input.md
index 756fa3de77..bf185f2c23 100644
--- a/src/lang/nl-NL/markdown/gog-parser-input.md
+++ b/src/lang/nl-NL/markdown/gog-parser-input.md
@@ -1,10 +1,20 @@
-# Unique inputs for GOG Galaxy Parser
+# GOG Galaxy Parser Specific Inputs
## Galaxy Path Override
-By default Steam ROM Manager assumes your Galaxy Client is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe`. This field allows you to override that path if your GOG Galaxy installation is elsewhere.
-This field is actually only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of the Galaxy Client.
+By default Steam ROM Manager assumes your GOG Galaxy executable is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe` on Windows and `/Applications/GOG Galaxy.app/Contents/MacOS/GOG Galaxy` on Mac. This field allows you to override that path if your GOG Galaxy executable is elsewhere.
-## Launch Via GOG Galaxy `[Recommend disabled]`
+Specifying the correct location of GOG Galaxy's executable is only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of GOG Galaxy's executable.
-What it sounds like, this toggle let's you set whether games will launch via GOG Galaxy or directly. Note that for some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+## Launch via GOG Galaxy `[Recommend disabled]`
+
+What it sounds like, this toggle determines whether games launch via GOG Galaxy or directly. For some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+
+## Parse Linked Executables from GOG Galaxy
+
+If enabled, SRM will pull in not only GOG games aquired from GOG Galaxy's store, but also those you have manually linked executables for in GOG Galaxy. This is desirable if those games are not being parsed into SRM elsewhere.
+
+A caveat is that because GOG Galaxy does not store the names linked executables in its database, SRM will use the directory name of the executable on Windows (e.g. `C:\\path\\to\\Hoa\\LaunchHoa.exe` would be assigned the title `Hoa`) and the executable name on Mac (e.g. `/Applications/Symphonia.app` would be assigned the title `Symphonia`).
+
+## Parse using Registry instead of Galaxy DB `[Windows only] [Recommend disabled]`
+This option will parse the Windows Registry for installed GOG games instead of GOG Galaxy's SQL database, allowing the parser to work even if GOG Galaxy is not installed. If this is enabled, `Parse Linked Executables` will of have no effect, but `Launch via GOG Galaxy` will work as normal.
\ No newline at end of file
diff --git a/src/lang/nl-NL/markdown/image-pool.md b/src/lang/nl-NL/markdown/image-pool.md
index 8b54cf72d9..0b4e4a94fb 100644
--- a/src/lang/nl-NL/markdown/image-pool.md
+++ b/src/lang/nl-NL/markdown/image-pool.md
@@ -1,3 +1,5 @@
-# Image pool `[supports variables]`{.noWrap}
+# Artwork pool `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting is used to allow different apps share the same images -- same "image pool", or allow unique image pool per app. To use unique image pool per app just set it to something unique. For example `${fuzzyTitle} SNES`{.noWrap}.
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset.
+
+This field is used to allow games from different parsers to share the same images (i.e. the same "image pool") if they have the same title. If you want different parsers not to share images for games with the same title, just set this field to something unique, for example `${fuzzyTitle} SNES`{.noWrap} or `${fuzzyTitle} ${parserTitle}`{.noWrap}.
diff --git a/src/lang/nl-NL/markdown/image-providers.md b/src/lang/nl-NL/markdown/image-providers.md
index 0b778780c6..f70a9275f6 100644
--- a/src/lang/nl-NL/markdown/image-providers.md
+++ b/src/lang/nl-NL/markdown/image-providers.md
@@ -1,7 +1,7 @@
-# Image providers
+# Artwork providers
-Here you can select image providers that are used to retrieve images. This option is for this configuration only.
+Here you can select artwork providers (online sources of game art) that are used by SRM to get art for your games.
## Similar option in "Settings" menu
-Settings menu has "Enabled providers" which enable image providers globally -- if it's not enabled in Settings, it won't work.
+Settings menu has "Enabled providers" which enable artwork providers globally -- if it's not enabled in Settings, it won't work.
diff --git a/src/lang/nl-NL/markdown/intro.md b/src/lang/nl-NL/markdown/intro.md
index f8d5fcabda..4f14258189 100644
--- a/src/lang/nl-NL/markdown/intro.md
+++ b/src/lang/nl-NL/markdown/intro.md
@@ -1,15 +1,15 @@
-# Welcome to parser configuration!
+# Welkom bij de parser configuratie!
Configuring a parser might look overwhelming at first, but it is easier than you think. If you are lost, click on near option label to see related information which might be useful for you.
-Also, don't forget to check FAQ. If you still got questions about setting up configuration, visit our official SRM group at [Steam](http://steamcommunity.com/groups/steamrommanager) or our official [Discord](https://discord.gg/bnSVJrz) group.
+Vergeet ook niet de FAQ te bekijken. Als je nog vragen hebt over het instellen van configuratie, bezoek dan onze officiële SRM groep op [Steam](http://steamcommunity.com/groups/steamrommanager) of onze officiële [Discord](https://discord.gg/bnSVJrz) groep.
-## Configuration color code
+## Configuratie kleurcode
After saving parser configuration, **1** of **3** colors will be shown next to its title:
- -- Enabled configuration. This configuration will be used when generating a list in **preview** page.
+ -- Enabled configuration. This configuration will be used when generating a list in **Add Games** page.
- -- Unsaved changes. This configuration will not be used when generating a list in **preview** page, however earlier **saved** version will be used instead.
+ -- Unsaved changes. This configuration will not be used when generating a list in **Add Games** page, however earlier **saved** version will be used instead.
- -- Disabled configuration. This configuration will not be used when generating a list in **preview** page.
\ No newline at end of file
+ -- Disabled configuration. This configuration will not be used when generating a list in **Add Games** page.
\ No newline at end of file
diff --git a/src/lang/nl-NL/markdown/itch-io-parser-input.md b/src/lang/nl-NL/markdown/itch-io-parser-input.md
index 4b0057c170..ffa409af96 100644
--- a/src/lang/nl-NL/markdown/itch-io-parser-input.md
+++ b/src/lang/nl-NL/markdown/itch-io-parser-input.md
@@ -1,4 +1,4 @@
-# itch.io Parser specific inputs
+# itch.io Parser Specific Inputs
## itch.io AppData Path Override
By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere.
diff --git a/src/lang/nl-NL/markdown/itch-io-parser.md b/src/lang/nl-NL/markdown/itch-io-parser.md
index 7f29ffc42d..accb8b5ad2 100644
--- a/src/lang/nl-NL/markdown/itch-io-parser.md
+++ b/src/lang/nl-NL/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
# itch.io Parser
-This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/nl-NL/markdown/legendary-parser-input.md b/src/lang/nl-NL/markdown/legendary-parser-input.md
index 80ca0bcbbc..4a826e43da 100644
--- a/src/lang/nl-NL/markdown/legendary-parser-input.md
+++ b/src/lang/nl-NL/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
-# Legendary Parser specific inputs
+# Legendary Parser Specific Inputs
+
+## Legendary Path Override
+
+By default Steam ROM Manager uses `(Get-Command legendary).Path` on Windows and `which legendary` on Linux and Mac to determine the location of your Legendary executable. This field allows you to override that path.
+
+Specifying the correct location of the Legendary executable is only necessary if you enable launch via Legendary (see below), as otherwise SRM has no need of the location of Legendary's executable.
## Legendary `installed.json` Path Override
Most users shouldn't use this, as they use the standard `Legendary` installation where installed games manifest will be located at `~/.config/legendary/installed.json`.
If, however, for some reason your installed games manifest is located in a non-typical location then you can specify the correct manifest path here.
+
+## Launch via Legendary `[Recommend enabled]`
+
+What it sounds like, this toggle determines whether games launch via Legendary or directly. Launching via Legendary provides access to Epic's online services.
diff --git a/src/lang/nl-NL/markdown/local-images.md b/src/lang/nl-NL/markdown/local-images.md
index cff60e5674..5da2e5ae4c 100644
--- a/src/lang/nl-NL/markdown/local-images.md
+++ b/src/lang/nl-NL/markdown/local-images.md
@@ -1,4 +1,4 @@
-# Local images (optional) `[supports variables]`{.noWrap}
+# Local images `[supports variables]`{.noWrap}
Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
diff --git a/src/lang/nl-NL/markdown/manual-parser-input.md b/src/lang/nl-NL/markdown/manual-parser-input.md
index bc1848d45a..65265ebd32 100644
--- a/src/lang/nl-NL/markdown/manual-parser-input.md
+++ b/src/lang/nl-NL/markdown/manual-parser-input.md
@@ -1,4 +1,4 @@
-# Manual Parser specific inputs
+# Manual Parser Specific Inputs
## Manifests Directory `[Supports Environment Variables]`{.noWrap}
@@ -17,7 +17,8 @@ The names of the files do not matter. What does matter is that each `manifest.js
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args",
+ "appendArgsToExecutable": false
}
```
Or a list of titles, like so:
@@ -27,15 +28,19 @@ Or a list of titles, like so:
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args".
+ "appendArgsToExecutable": true
},
{
"title": "gameTitle2",
"target": "game2/path/target.sh",
"startIn": "game2/path",
- "launchOptions": "--args2"
+ "launchOptions": "--args2",
+ "appendArgsToExecutable": false
}
]
```
A typical use case would be to use a single json file per game type, or per year, etc.
+
+Just like for ROM parsers, `appendArgsToExecutable` determines whether `launchOptions` are appended to the shortcut `target` or appear separately as launch options in steam.
diff --git a/src/lang/nl-NL/markdown/non-srm-shortcuts-parser.md b/src/lang/nl-NL/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..4485008a1a
--- /dev/null
+++ b/src/lang/nl-NL/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,29 @@
+# Non-SRM Shortcut Parser
+
+This parser imports non SRM steam shortcuts into SRM so their artowrk can be managed. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
+
+## User accounts
+
+Used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
+
+```
+${...}
+```
+
+You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
+
+ {.fitImage .center}
+
+For example, this is how you specify account for "Banana" and "Apple":
+
+```
+${Banana}${Apple}
+```
+
+You can also limit accounts by specifying their ids directly. For example:
+
+```
+${56489124}${21987424}
+```
+
+Would limit the search to `steam/userdata/56489124` and `steam/userdata/21987424`.
diff --git a/src/lang/nl-NL/markdown/parser-env-variables.md b/src/lang/nl-NL/markdown/parser-env-variables.md
index 3b186a70f7..e95baf9137 100644
--- a/src/lang/nl-NL/markdown/parser-env-variables.md
+++ b/src/lang/nl-NL/markdown/parser-env-variables.md
@@ -13,3 +13,5 @@ These variables are pre parsed and can be used even in the Rom Directory, Steam
The utility of the environment variable `${srmdir}` is to make SRM fully portable, eg if you wanted to have the directory layout `D:\Games\Roms` and `D:\Games\PortableSRM\SRM.exe` then setting the field Roms Directory to be `${srmdir}${/}..${/}Roms` would allow you to move the Games directory somewhere else without breaking your setup.
+
+Function variables can also be used in fields that permit environment variables (e.g. `${os:win|C:\path\to\startdir|${os:linux|/path/to/startdir}}`)
diff --git a/src/lang/nl-NL/markdown/parser-variables.md b/src/lang/nl-NL/markdown/parser-variables.md
index 7e9eb636ff..7c164a55bc 100644
--- a/src/lang/nl-NL/markdown/parser-variables.md
+++ b/src/lang/nl-NL/markdown/parser-variables.md
@@ -4,13 +4,13 @@ Here are tables of variables that can be used with options that have `[supports
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -48,6 +48,7 @@ In case executable directory input is left **empty**, `${exePath}`{.noWrap} is e
| `${title}` | Extracted title |
| `${fuzzyTitle}` | Fuzzy matched title |
| `${finalTitle}` | Title which was the end result of title modifier |
+| `${parserTitle}` | The value of the `Parser Title` field |
In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
@@ -65,6 +66,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -74,7 +76,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/nl-NL/markdown/parsers-list.md b/src/lang/nl-NL/markdown/parsers-list.md
index 1e5e43f80f..6ab3846611 100644
--- a/src/lang/nl-NL/markdown/parsers-list.md
+++ b/src/lang/nl-NL/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# Parsers
-In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**
diff --git a/src/lang/nl-NL/markdown/rom-directory.md b/src/lang/nl-NL/markdown/rom-directory.md
index 555452224f..5b15d2e2b7 100644
--- a/src/lang/nl-NL/markdown/rom-directory.md
+++ b/src/lang/nl-NL/markdown/rom-directory.md
@@ -1,3 +1,3 @@
-# ROMs directory `[supports environment variables]`
+# ROMs directory `[supports env variables]`
Starting directory for game or app files.
diff --git a/src/lang/nl-NL/markdown/settings.md b/src/lang/nl-NL/markdown/settings.md
index c35d49e806..dd35c64609 100644
--- a/src/lang/nl-NL/markdown/settings.md
+++ b/src/lang/nl-NL/markdown/settings.md
@@ -1,31 +1,51 @@
## General Settings
+### Check for updates on start `[Recommend enabled]`
+Check if an update for SRM is available and prompt to update each time SRM launches.
+### Auto kill Steam `[Recommend enabled]`
+SRM will attempt to kill all running instances of Steam whenever it needs to read/write collections information (specifically when saving to steam from `Add Games` and when removing all games from `Settings`).
+### Auto restart Steam `[Recommend enabled]`
+SRM will attempt to restart Steam after killing it and completing whatever collections related task required killing Steam in the first place. Requires `Auto kill Steam` to be enabled.
### Offline mode `[Recommend disabled]`
-
When enabled SRM makes no network requests, useful if you only want to use SRM for local images.
### Automatically clear log before testing parsers `[Recommend enabled]`
When enabled the log is cleared each time a parser is tested.
+## Add Games
### Show current steam images by default `[Recommend enabled]`
When enabled this setting tells SRM to default to whatever artwork is currently in steam for a given app. If it is disabled, then every time SRM is run (and saved) all artwork will be reset.
### Remove shortcuts for disabled parsers `[Recommend disabled]`
When enabled disabling a parser and running SRM will remove all added entries and artwork for the disabled parser. Useful if you want your steam library to be in 1-1 correspondence with enabled parsers.
-
+### Disable saving of steam categories `[Recommend disabled]`
+SRM will not write any collections information when saving to Steam. This allows SRM to perform its tasks while Steam is still running, at the obvious cost that added games will not be categorized.
+### Hide Steam username from Add Games
+Steam does not allow user's to alter their Steam usernames. In some cases (childish names, dead names, etc), users may no longer wish to see their Steam usernames. This setting hides it from `Add Games`.
+### Remove all added games and controllers
+Undo all SRM added changes from Steam.
+### Remove all controllers only
+Undo all SRM added controller settings from Steam.
## Fuzzy Matcher Settings
### Log matching results `[Recommend disabled]`
When enabled more verbose logs appear for the fuzzy title matcher in the `Event log`. Useful for debugging incorrect fuzzy matches.
-
### Reset fuzzy list
Resets the stored list of titles used for fuzzy matching to the list of titles returned by `SteamGridDB` (removes any user added titles).
### Reset fuzzy cache
Clears the cache of titles that fuzzy matching has already seen (try this if changes you make to fuzzy list are not resulting in changes to titles in SRM).
-
## Image provider settings
-### Preload retrieved images `[Recommend disabled]`
-When enabled, SRM will pull all available artwork for every game, rather than pulling one piece of artwork at a time as the user flips through the images. Don't enable this unless you have a good reason and a very small library of games, otherwise it could result in very large (slow) network requests.
+### Artwork loading strategy `[Recommend Load artwork lazily]`
+This is the strategy SRM uses to pull artwork thumbnails for the `Add Games` UI. If you are parsing a lot of games, `Load artwork lazily` is recommended. `Preload first artwork` will try to pull the first piece of artwork for each game in each artwork category, and `Preload all artwork` will try to pull all available artwork for each game in each artwork category. `Preload all artwork` will cause network and performance issues unless the number of games is quite small (less than `30` or so).
### Enabled providers
-Global setting to disable certain providers. Currently the only image provider is `SteamGridDB` since ConsoleGrid and RetroGaming.cloud are defunct.
-
+Global setting to enable/disable particular image providers. Current options are `SteamGridDB` and `Steam Official`.
+### DNS manual override
+Set this if you want SRM to do DNS resolution internally, as opposed to relying on your system's default DNS server. This solves many timeout issues on the Steam Deck.
+### Batch size for image downloads
+Number of images SRM will attempt to download at once when saving to Steam. May help to lower this if you are receiving timeout errors from SGDB.
+### Nuke artwork choice cache
+SRM attempts to remember your artwork choices, this button forcibly forgets all of them.
+### Nuke local artwork backups
+This deletes all artwork backups created for parsers with `Backup artwork locally` enabled.
## Community Variables and Presets
### Force download custom variables.
Resets the custom variables JSON file that is used for certain presets to whatever its current state is on the SRM github. Useful if the custom variables JSON file has been corrupted.
### Force download custom presets.
Resets the JSON files for parser presets to whatever is on the SRM github. Useful if your presets list is not automatically updating for some reason, or has become corrupted.
+### Force download shell scripts
+Re fetches the shell scripts SRM uses to perform certain tasks.
diff --git a/src/lang/nl-NL/markdown/sgdb-api-input.md b/src/lang/nl-NL/markdown/sgdb-api-input.md
index 553f4fda77..7651927a64 100644
--- a/src/lang/nl-NL/markdown/sgdb-api-input.md
+++ b/src/lang/nl-NL/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
This set of options are direct inputs into the APIs of image providers, for example SteamGridDB's [API](https://www.steamgriddb.com/api/v2).
-An interesting quirk of these settings is that re-generating the preview (hitting the `Generate App List` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove App List` button in preview before hitting `Generate App List`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the preview with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
+An interesting quirk of these settings is that re-generating the game list in Add Games (hitting the `Refresh` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove from Steam` button in Add Games before hitting `Refresh`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the game list with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
## SteamGridDB
diff --git a/src/lang/nl-NL/markdown/start-in-directory.md b/src/lang/nl-NL/markdown/start-in-directory.md
index 86cf962c23..df84a987d5 100644
--- a/src/lang/nl-NL/markdown/start-in-directory.md
+++ b/src/lang/nl-NL/markdown/start-in-directory.md
@@ -1,6 +1,6 @@
-# "Start In" directory (optional) `[supports environment variables]`{.noWrap}
+# "Start In" directory `[supports env variables]`
-By default "Start In" directory is set to executable's directory:
+If `"Start In" Directory` is unset it defaults to the executable's directory. If not executable is set, it defaults to the directory of the ${filePath} variable:
 {.fitImage.center}
@@ -11,4 +11,5 @@ This option allows you to specify any directory you want as a "Start In" directo
It is useful when you're using batch files to start emulator and a game, but emulator requires a specific "Start In" directory to work properly.
## Shortcut Passthrough
+
If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the directory of the target of that shortcut. In the future, it will be overridden with the start in directory of that shortcut.
diff --git a/src/lang/nl-NL/markdown/steam-category.md b/src/lang/nl-NL/markdown/steam-category.md
index 079073dab9..677ea3d0ef 100644
--- a/src/lang/nl-NL/markdown/steam-category.md
+++ b/src/lang/nl-NL/markdown/steam-category.md
@@ -1,21 +1,13 @@
-# Steam category (optional) `[supports variables]`{.noWrap}
+# Steam category`{.noWrap}
+
+Hit the little plus sign to add your first category.
-Also known as "tags", can be used to group apps in Steam. In order to set Steam category, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify categories for "WII" and "GBA" (paired with "ROMS") category:
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
This how "WII" category will look like in Steam:

## Emojis and non-Standard Unicode Characters
+
Please not that this field works just fine with emojis like `🎮` work just fine in category names.
You can find a list of them here: [https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/nl-NL/markdown/steam-directory.md b/src/lang/nl-NL/markdown/steam-directory.md
index b15010e819..bb82bc6a97 100644
--- a/src/lang/nl-NL/markdown/steam-directory.md
+++ b/src/lang/nl-NL/markdown/steam-directory.md
@@ -1,4 +1,4 @@
-# Steam directory `[supports environment variables]`{.noWrap}
+# Steam directory `[supports env variables]`
Must be a valid Steam directory which contains Steam executable. In order for Steam account to be detected, user must have logged in at least once.
diff --git a/src/lang/nl-NL/markdown/steam-parser-input.md b/src/lang/nl-NL/markdown/steam-parser-input.md
index 75f21d380d..1174b71b64 100644
--- a/src/lang/nl-NL/markdown/steam-parser-input.md
+++ b/src/lang/nl-NL/markdown/steam-parser-input.md
@@ -1,4 +1,4 @@
-# Steam Parser specific inputs
+# Steam Parser Specific Inputs
## Find artwork for games only
If enabled SRM will filter out any Steam applications that are not full games, such as demos and tools like `3DMark` or `Wallpaper Engine`.
diff --git a/src/lang/nl-NL/markdown/steam-parser.md b/src/lang/nl-NL/markdown/steam-parser.md
index b158f676a8..5b93d8bc77 100644
--- a/src/lang/nl-NL/markdown/steam-parser.md
+++ b/src/lang/nl-NL/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Steam parser
-This parser imports steam games into SRM. It does not add shortcuts, but it allows you to set the artwork for your steam games. By default the parser will get games from all user accounts in the steam directory specified — if you would prefer to only get the games for a subset of the accounts then specify them in the `User accounts` field.
-
-## Limitations
-Unfortunately for the time being this parser only works for steam games **that are in at least one category**. The reason for this is that Steam only stores your full list of games locally if they are categorized. Sometimes, for unknown reasons, games will be stored locally regardless and the parser will work, but to be safe the easiest thing to do is just **create a Steam Category** that has all of your Steam games in it.
-
-## User accounts (Optional)
-
-Can be used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
-```
-${...}
-```
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
-
- {.fitImage.center}
-
-For example, this is how you specify account for "Banana" and "Apple":
-
-```
-${Banana}${Apple}
-```
-
-In case the [use account credentials](#what-does-use-account-credentials-do) is disabled, you can still limit accounts by specifying their ids directly:
-
-```
-${56489124}${21987424}
-```
-
-## What does "Skip found accounts with missing data directories" do?
-
-Sometimes Steam's file that contains logins, may contain users that do not have data directory created (might have been manually deleted, etc.). You can specify to skip those accounts by enabling this option.
-
-## What does "Use account credentials" do?
-
-Tries to look for account credentials in Steam directory. In other words -- username. Username then can be used to filter accounts without actually having to know their ids.
-
-### Warning!
-
-If Steam has credential saving disabled, this option will prevent finding user accounts.
+This parser imports steam games into SRM so you can manage their artwork. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
\ No newline at end of file
diff --git a/src/lang/nl-NL/markdown/title-from-variable.md b/src/lang/nl-NL/markdown/title-from-variable.md
index bb6e4a52a2..6aa467e98c 100644
--- a/src/lang/nl-NL/markdown/title-from-variable.md
+++ b/src/lang/nl-NL/markdown/title-from-variable.md
@@ -1,43 +1,40 @@
-# Title from custom variable (optional)
+# Title from custom variable
-Allows to overwrite extracted title with a custom variable. This is done right after title extraction, meaning that the replaced title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+Allows one to overwrite the extracted title with a custom variable, pulled from the `json` files described below. This happens right after title extraction, meaning that the new title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+
+Title matching is limited to specific groups of custom variables. For example, this is how you specify groups "FBN" and "PSN":
-Title matching can be limited to specific groups of custom variables. In order to specify groups, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify groups for "RPCS3" and "rpcs3":
```
-${RPCS3}${rpcs3}
+${RPCS3}${PSN}
```
-Make sure you **toggle enable to on**.
-
-
-## Case-insensitive option
-
-If this option is enabled, case-insensitive matching will be done and first matched custom variable will be used.
-
-## Note. This feature is **experimental**
+# How it works
-Basically, it might change in the future release (very unlikelly). Furthermore, currently the only way to add variables is to create/edit `customVariables.json` used by SRM directly.
+There are two variable files, `customVariables.json` which is maintained by SRM (don't change this one, your changes will be overwritten every time SRM restarts) and `userVariables.json` which is where you should put your own variables. Both files are located in SRM's `Config Directory`.
-This file is/shoud be located in SRM's `userData` directory.
-
-SRM will throw error unless the following JSON structure is used:
+Both `customVariables.json` and `userVariables.json` have the same JSON structure. SRM will throw an error unless the following JSON structure is used:
```
{
- "RPCS3": {
+ "Group1": {
"NPUB30698": "Catherine",
"NPUB30024": "1942: Joint Strike",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
+ "Group2": {
+ "The Legend Of Zelda": "The Legend Of Link",
+ ...
},
...
}
```
-Then if your user glob were `MyDir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `MyDir`, you would set the title from custom variable field to `${Custom Stuff}` to obtain a final title of "The Legend of Link".
+Then if your user glob were `romsdir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `romsdir`, you would set the title from custom variable field to `${Group2}` to obtain a title of "The Legend of Link".
+
+## Case-insensitive variables
+
+If enabled, case-insensitive matching will be done and first matched custom variable will be used.
+
+## Skip file if variable not found
+
+If enabled, titles that don't match a variable will be excluded.
diff --git a/src/lang/nl-NL/markdown/title-modifier.md b/src/lang/nl-NL/markdown/title-modifier.md
index 791e000e27..4ecb2d02db 100644
--- a/src/lang/nl-NL/markdown/title-modifier.md
+++ b/src/lang/nl-NL/markdown/title-modifier.md
@@ -1,9 +1,11 @@
# Title modifier `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting can be used to prepend or append desired characters to a title which will be added to Steam. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset. This setting can be used to prepend or append desired characters to a Steam shortcut's `Title`. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+
```
${fuzzyTitle} (1.7.5)
```
+
You can use `${title}`{.noWrap} or any other variable to construct the final title.
This setting influences Steam's APP ID.
diff --git a/src/lang/nl-NL/markdown/uplay-parser-input.md b/src/lang/nl-NL/markdown/uplay-parser-input.md
index f40bbcd928..3a54e84b1a 100644
--- a/src/lang/nl-NL/markdown/uplay-parser-input.md
+++ b/src/lang/nl-NL/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# Unique inputs for UPlay Parser
+# UPlay Parser Specific Inputs
+
## Ubisoft Directory Override
By default Steam ROM Manager assumes your UPlay install is located in `C:\Program Files (x86)\Ubisoft`. This field allows you to override that path if your UPlay installation is elsewhere.
## Launch Via UPlay `[Recommend disabled]`
-
What it sounds like, this toggle let's you set whether games will launch via UPlay or directly from the game's executable.
For UPlay this doesn't matter too much as UPlay games will automatically launch UPlay in the background even when launched from the executable. Steam Overlay will not work when `Launch via UPlay` is enabled, whereas both Steam and Ubisoft overlays work when `Launch via UPlay` is disabled.
diff --git a/src/lang/nl-NL/markdown/user-accounts.md b/src/lang/nl-NL/markdown/user-accounts.md
index 99e4ea0bee..c0101b5f74 100644
--- a/src/lang/nl-NL/markdown/user-accounts.md
+++ b/src/lang/nl-NL/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# User accounts (Optional)
+# User accounts
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
-
-`${...}`
-
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either:
-
-* The account id is the name of the account directory that appears in `/path/to/steam/userdata`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
+This field is used to limit SRM's effects to specific user accounts. It can be set to `Global` or over ridden per parser.
## Warning
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and `Choose Accounts` will only be able to pull your `Steam IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Settings` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
diff --git a/src/lang/nl-NL/markdown/user-exceptions.md b/src/lang/nl-NL/markdown/user-exceptions.md
index a53dd0d6d9..a6e47de497 100644
--- a/src/lang/nl-NL/markdown/user-exceptions.md
+++ b/src/lang/nl-NL/markdown/user-exceptions.md
@@ -12,7 +12,7 @@ The `Extracted Title` field matches in two ways:
Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`.
-Exceptions generated from `Preview` will always be in the form `Extracted Title ${id:XXXXXX}`.
+Exceptions generated from `Add Games` will always be in the form `Extracted Title ${id:XXXXXX}`.
## New Display Title
diff --git a/src/lang/no-NO/langStrings.json b/src/lang/no-NO/langStrings.json
index d42bc546d5..60484346ba 100644
--- a/src/lang/no-NO/langStrings.json
+++ b/src/lang/no-NO/langStrings.json
@@ -14,17 +14,17 @@
"games": "All Artwork"
},
"by": "by",
- "refreshImages": "Refresh images",
- "saveImage": "Save image to file",
- "addLocalImages": "Add local images",
- "retryDownload": "Retry download",
- "generateAppList": "Parse",
+ "refreshImages": "Refresh artwork",
+ "saveImage": "Save artwork to file",
+ "addLocalImages": "Add local artwork",
+ "retryDownload": "Retry artwork download",
+ "generateAppList": "Refresh",
"saveAppList": "Save to Steam",
"removeAppList": "Remove from Steam",
"remainingImages": "Retrieving urls:",
"stopUrlRetrieving": "Stop",
- "exportSelections": "Export",
- "importSelections": "Import",
+ "exportSelections": "Export art",
+ "importSelections": "Import art",
"backButton": "Back",
"logButton": "Log"
},
@@ -44,46 +44,46 @@
"removingFromCategories": "Removing all added category information",
"writingVDF_entries__i": "Writing VDF files and downloading high res images in batches of ${batchSize}.",
"updatingKnownSteamDirList": "Updating a list of known Steam directories.",
- "retryingDownload__i": "Retrying image download from \"${imageUrl}\" for \"${appTitle}\".",
- "disabledConfigurations__i": "${count} user configuration(s) was/were skipped (disabled by user).",
- "invalidConfigurations__i": "${count} user configuration(s) was/were skipped (invalid).",
+ "retryingDownload__i": "Retrying artwork download from \"${imageUrl}\" for \"${appTitle}\".",
+ "disabledConfigurations__i": "${count} user parser(s) was/were skipped (disabled by user).",
+ "invalidConfigurations__i": "${count} user parser(s) was/were skipped (invalid).",
"executingParsers": "Executing parsers.",
- "shutdownSteam": "Please shutdown Steam if it is running.",
- "noParserConfigurations": "Please create parser configuration in \"Parsers\" menu first.",
+ "shutdownSteam": "If Steam is running, exit Steam.",
+ "noParserConfigurations": "Please create parser in \"Parsers\" menu first.",
"parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
- "allImagesRetrieved": "All available image urls retrieved.",
+ "allImagesRetrieved": "All available artwork urls retrieved.",
"providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
"noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
- "preparingExport": "Preparing export of image choices.",
- "exportProgress__i": "Saving image choices ${progress}.",
- "readingSelections": "Applying imported image choices."
+ "preparingExport": "Preparing export of artwork choices.",
+ "exportProgress__i": "Saving artwork choices ${progress}.",
+ "readingSelections": "Applying imported artwork choices."
},
"errors": {
- "fatalError": "Fatal error occurred in Preview. See event log for details.",
- "fatalError__i": "Fatal Preview Error ${error}",
+ "fatalError": "Fatal error occurred in Add Games. See event log for details.",
+ "fatalError__i": "Fatal Add Games error: ${error}",
"knownSteamDirListIsEmpty": "A list of known Steam directories is empty.",
"steamIsRunning": "Cannot make changes while steam is running!",
"categorySaveError": "Error updating categories. See event log for details.",
"categorySaveError__i": "Category error (shortcuts and artwork will still be added): ${error}",
"controllerSaveError": "Error updating controller templates. See event log for details.",
"controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
- "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
+ "retryingDownload__i": "Artwork download from \"${imageUrl}\" failed for \"${appTitle}\".",
"providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
"unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
"exportError__i": "Could not save selections package folder: ${error}",
"importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
- "importFailError__i": "Could not import image choices: ${error}"
+ "importFailError__i": "Could not import artwork choices: ${error}"
},
"success": {
"writingVDF_entries": "Done adding/removing entries.",
"removingVDF_entries": "Entries have been removed.",
- "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
- "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
+ "exportSuccess__i": "Artwork choices folder successfully saved to \"${path}\"!",
+ "importSelectionsSuccess__i": "Successfully imported ${count} artwork choices!"
}
}
},
"steamParser": {
- "onlyGamesTitle": "Find artwork for games only (no tools)",
+ "onlyGamesTitle": "Find artwork for games only (no tools or demos)",
"onlyInstalledTitle": "Find artwork for installed titles only",
"sourceModsTitle": "Find artwork for unofficial source mods",
"errors": {
@@ -93,16 +93,30 @@
"fatalError__i": "> Steam parser failed with fatal error:\n ${error}"
}
},
+ "nonSRMShortcutsParser": {
+ "errors": {
+ "noSteamAccounts": "> Steam directory specified has no accounts.",
+ "fatalError__i": "> Non-SRM Shortcuts parser failed with fatal error:\n ${error}"
+ }
+ },
"manualParser": {
"manifestsInputTitle": "Manifests Directory",
- "manifestsInputPlaceholder": "/path/to/your/manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"errors": {
"fatalError__i": "> Manual parser failed with fatal error:\n ${error}"
}
},
"epicParser": {
"manifestsInputTitle": "Epic Manifests Directory Override",
- "manifestsInputPlaceholder": "/path/to/Manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"launcherModeInputTitle": "Launch games via Epic for online services",
"errors": {
"invalidManifestsOverride": "> Manifests Override is not a valid directory.",
@@ -112,25 +126,56 @@
}
},
"legendaryParser": {
+ "launcherModeInputTitle": "Launch games via Legendary for online services",
"legendaryInstalledFileTitle": "Legendary installed.json Path Override",
- "legendaryInstalledFilePlaceholder": "/path/to/legendary/installed.json",
+ "legendaryInstalledFilePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary\\installed.json",
+ "Darwin": "/path/to/legendary/installed.json",
+ "Linux": "/path/to/legendary/installed.json"
+ },
+ "legendaryExeOverrideTitle": "Legendary Path Override",
+ "legendaryExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary.exe",
+ "Darwin": "/path/to/legendary",
+ "Linux": "/path/to/legendary"
+ },
"errors": {
"legendaryNotInstalled": "> Legendary installed.json not found",
- "fatalError__i": "> Legendary parser failed with fatal error: \n ${error}"
+ "fatalError__i": "> Legendary parser failed with fatal error:\n ${error}"
+ }
+ },
+ "battleNetParser": {
+ "battleExeOverrideTitle": "Battle.net.exe Path Override",
+ "battleExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Battle.net\\Battle.net.exe",
+ "Darwin": "/path/to/Battle.net.app/Contents/MacOS/Battle.net",
+ "Linux": "/path/to/Battle.net"
+ },
+ "errors": {
+ "battleNotCompatible": "> Battle.net parser is only available on Windows.",
+ "fatalError__i": "> Battle.net parser failed with fatal error:\n ${error}"
}
},
"UWPParser": {
"UWPDirTitle": "XboxGames Directory Override",
- "UWPDirPlaceholder": "/path/to/XboxGames or /path/to/WindowsApps",
+ "UWPDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\XboxGames\\ or C:\\path\\to\\WindowsApps\\",
+ "Darwin": "/path/to/XboxGames/ or /path/to/WindowsApps/",
+ "Linux": "/path/to/XboxGames/ or /path/to/WindowsApps/"
+ },
"UWPLauncherModeTitle": "Launch game as UWP instead of launcher helper",
"errors": {
"fatalError__i": "> UWP parser is not compatible in this platform.",
- "UWPNotCompatible": "> UWP parser failed with fatal error:\n ${error}"
+ "UWPNotCompatible": "> UWP parser is only available on Windows."
}
},
"uplayParser": {
"uplayDirTitle": "Ubisoft Directory Override",
- "uplayDirPlaceholder": "/path/to/Ubisoft/",
+ "uplayDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Ubisoft\\",
+ "Darwin": "/path/to/Ubisoft/",
+ "Linux": "/path/to/Ubisoft/"
+ },
"launcherModeInputTitle": "Launch games via UPlay for online services",
"errors": {
"invalidManifestsOverride": "> Uplay Directory Override is not a valid directory.",
@@ -142,8 +187,14 @@
},
"gogParser": {
"galaxyExeOverrideTitle": "Galaxy Path Override",
- "galaxyExeOverridePlaceholder": "/path/to/GalaxyClient.exe",
+ "galaxyExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\GalaxyClient.exe",
+ "Darwin": "/path/to/GOG Galaxy.app/Contents/MacOS/GOG Galaxy",
+ "Linux": "/path/to/GalaxyClient"
+ },
"launcherModeInputTitle": "Launch games via GOG Galaxy",
+ "parseLinkedExecsTitle": "Parse linked executables from GOG Galaxy",
+ "parseRegistryEntries": "Parse using Registry instead of Galaxy DB",
"errors": {
"invalidGalaxyExeOverride": "> Galaxy Client Override is not a valid path.",
"fatalError__i": "> GOG Galaxy parser failed with fatal error:\n ${error}",
@@ -153,7 +204,11 @@
},
"amazonGamesParser": {
"exeOverrideTitle": "Amazon Games Path Override",
- "exeOverridePlaceholder": "/path/to/Amazon Games.exe",
+ "exeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Amazon Games.exe",
+ "Darwin": "/path/to/Amazon Games.app/Contents/MacOS/Amazon Games",
+ "Linux": "/path/to/Amazon Games"
+ },
"launcherModeInputTitle": "Launch games via Amazon Games",
"errors": {
"invalidExeOverride": "> Amazon Games Installation Override is not a valid directory.",
@@ -164,7 +219,11 @@
},
"itchIoParser": {
"itchIoAppDataOverrideTitle": "itch.io AppData Directory Override",
- "itchIoAppDataOverridePlaceholder": "/path/to/itch",
+ "itchIoAppDataOverridePlaceholder": {
+ "Windows_NT": "C:\\AppData\\itch\\",
+ "Darwin": "~/Library/Application Support/itch/",
+ "Linux": "~/.config/itch/"
+ },
"itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Windows-on-Linux Install Drive Redirect",
"itchIoWindowsOnLinuxInstallDriveRedirectPlaceholder": "/mnt/d/",
"errors": {
@@ -177,7 +236,11 @@
},
"eaDesktopParser": {
"eaGamesDirTitle": "EA Games Directory Override",
- "eaGamesDirPlaceholder": "/path/to/EA Games/",
+ "eaGamesDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\EA Games\\",
+ "Darwin": "/path/to/EA Games/",
+ "Linux": "/path/to/EA Games/"
+ },
"eaLauncherModeTitle": "Launch games via EA Desktop",
"errors": {
"fatalError__i": "> EA Desktop parser failed with fatal error:\n ${error}",
@@ -186,7 +249,7 @@
}
},
"globParser": {
- "inputTitle": "User's glob",
+ "inputTitle": "Search glob",
"inputPlaceholder": "${title}.@(iso|ISO)",
"errors": {
"noTitle__md": "> File glob must contain `${title}`!",
@@ -203,7 +266,7 @@
}
},
"globRegexParser": {
- "inputTitle": "User's glob-regex",
+ "inputTitle": "Search glob-regex",
"inputPlaceholder": "${/valid regex/}",
"errors": {
"noRegex__md": "> File glob must contain `${regex}` where **regex** is your regular expression!",
@@ -226,18 +289,22 @@
"stylesTitle": "Allowed grid styles",
"stylesHeroTitle": "Allowed hero styles",
"stylesLogoTitle": "Allowed logo styles",
- "stylesIconTitle": "Allowed icon styles"
+ "stylesIconTitle": "Allowed icon styles",
+ "sizesTitle": "Allowed banner dimensions",
+ "sizesHeroTitle": "Allowed hero dimensions",
+ "sizesTallTitle": "Allowed portrait dimensions",
+ "sizesIconTitle": "Allowed icon dimensions"
},
"logger": {
"component": {
"noMessages": "No messages are available",
- "error": "ERROR",
- "info": "INFO",
- "success": "SUCCESS",
- "fuzzy": "FUZZY",
- "textWrap": "TEXT-WRAP",
- "autoscroll": "AUTOSCROLL",
- "clearLog": "Clear log",
+ "error": "Error messages",
+ "info": "Info messages",
+ "success": "Success messages",
+ "fuzzy": "Fuzzy messages",
+ "textWrap": "Wrap text",
+ "autoscroll": "Autoscroll",
+ "clearLog": "Clear",
"issueDescription": "Thorough issue description with passable spelling.",
"handleExample": "CoolHandle#1234"
}
@@ -251,40 +318,42 @@
"corruptedVariables__i": "Saved custom variables are invalid!\r\nPermanent variable saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "Custom variables file has been downloaded."
+ "downloaded": "Custom variables file has been updated."
}
}
},
"configPresets": {
"service": {
"error": {
- "failedToDownload__i": "Failed to download configuration presets file. Status: ${error}.",
+ "failedToDownload__i": "Failed to download configuration presets file from commit ${commit}. Status: ${error}.",
"writingError": "Error occurred while saving configuration presets.",
"loadingError": "Error occurred while loading configuration presets.",
"corruptedVariables__i": "Saved configuration presets are invalid!\r\nPermanent file saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "New config presets have been downloaded."
+ "downloaded": "Community presets have been updated."
}
}
},
"settings": {
"component": {
"label": {
- "general": "General settings",
- "imageProviders": "Image provider settings",
- "fuzzy": "Fuzzy matcher settings",
- "environmentVariables": "Environment variable settings",
- "communityPresets": "Community variable/preset settings"
+ "general": "General",
+ "imageProviders": "Artwork Providers",
+ "fuzzy": "Fuzzy Matcher",
+ "environmentVariables": "Environment Variables",
+ "communityPresets": "Community Presets and Custom Variables"
},
"text": {
+ "autoUpdate": "Check for updates on start",
"offlineMode": "Offline mode",
- "removeApps_desc": "all added app entries and controllers",
+ "removeApps_desc": "all added games and controllers",
"removeApps_btn": "Remove",
- "preloadImages": "Preload retrieved images immediately",
+ "preloadImages": "Artwork loading strategy",
"fuzzy_verbose": "Log matching results",
- "fuzzy_filter": "Filter images",
+ "fuzzy_filter": "Filter artwork",
"enabledProviders": "Enabled image providers",
+ "dnsServers": "DNS manual override",
"selectLanguage": "Select language",
"selectTheme": "Select theme",
"resetFuzzy_desc": "fuzzy list",
@@ -292,28 +361,38 @@
"resetFuzzy_btn": "Reset",
"customVariables_desc": "custom variables",
"configPresets_desc": "config presets",
- "showSteamImages": "Show current Steam images by default",
+ "showSteamImages": "Show current Steam artwork by default",
"deleteDisabledShortcuts": "Remove shortcuts for disabled parsers",
"clearLogOnTest": "Automatically clear log before testing parsers",
- "configDir": "Open Config Directory"
+ "configDir": "Config Directory",
+ "steamDir": "Steam Directory"
},
"placeholder": {
"noProviders": "None",
- "steamDirectoryWin": "Typically C:\\Program Files (x86)\\Steam",
- "steamDirectoryMac": "Typically ~/Library/Application Support/Steam",
- "steamDirectoryLinux": "Typically /home/user/.steam/steam",
"userAccounts": "For example ${steamlogin}",
- "romsDirectoryWin": "For example D:\\ROMs",
- "romsDirectoryMac": "For example ~/ROMs",
- "romsDirectoryLinux": "For example ~/ROMs",
- "retroarchPathWin": "For example C:\\Path\\To\\retroarch.exe",
- "retroarchPathLinux": "For example /path/to/retroarch",
- "retroarchPathMac": "For example /path/to/retroarch",
- "raCoresDirectoryWin": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores",
- "raCoresDirectoryLinux": "Typically /lib/x86_64-linux-gnu/libretro/cores",
- "raCoresDirectoryMac": "Typically /Applications/Retroarch.app/Contents/Resources/cores",
- "localImagesDirectoryWin": "For example C:\\Path\\To\\LocalArtwork",
- "localImagesDirectoryUnix": "For example ~/path/to/localartwork"
+ "bySystem": {
+ "Windows_NT": {
+ "steamDirectory": "Typically C:\\Program Files (x86)\\Steam\\",
+ "romsDirectory": "For example D:\\ROMs\\",
+ "retroarchPath": "For example C:\\Path\\To\\Retroarch.exe",
+ "raCoresDirectory": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores\\",
+ "localImagesDirectory": "For example C:\\Path\\To\\LocalArtwork\\"
+ },
+ "Darwin": {
+ "steamDirectory": "Typically ~/Library/Application Support/Steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /Applications/Retroarch.app/Contents/Resources/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ },
+ "Linux": {
+ "steamDirectory": "Typically /home/user/.steam/steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /lib/x86_64-linux-gnu/libretro/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ }
+ }
}
},
"service": {
@@ -331,6 +410,7 @@
"component": {
"about": "About",
"preview": "Preview",
+ "view": "View Games",
"logger": "Log",
"settings": "Settings",
"parsers": "Create Parser",
@@ -352,6 +432,9 @@
"title": "User Exceptions",
"exclude": "Exclude Title",
"excludeArtwork": "Local Artwork Only"
+ },
+ "placeholder": {
+ "sortBy": "Sort By"
}
},
"service": {
@@ -366,8 +449,8 @@
"component": {
"buttons": {
"save": "Save",
- "copy": "Copy",
- "testParser": "Test parser",
+ "copy": "Clone",
+ "testParser": "Test",
"delete": "Delete",
"moveUp": "Move up",
"moveDown": "Move down",
@@ -381,23 +464,23 @@
"opSys__i": "Operating system is \"${os}\"",
"testCompleted": "Parser test is completed.",
"nothingWasFound": "Parser found nothing.",
- "copiedToClipboard": "Configuration copied to clipboard",
+ "copiedToClipboard": "Parser copied to clipboard",
"userExclusions": "User excluded:",
- "excludedFileInfo__i": "[${index}/${total}]: ${filename}",
+ "excludedFileInfo__i": "[${index}/${total}]: ${filename}\n Excluded by \"${exceptionKey}\"",
"removingControllers__i": "Removing controller templates for parser: ${configTitle}",
"fetchingControllerTemplates": "Fetching controller templates"
},
"error": {
"missingAccounts__i": "Following ${count} user account(s) were not found (user must to login to Steam at least once):",
"missingAccountInfo__i": " ${name}",
- "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials (\"Show advanced options -> User accounts -> Use account credentials\").\r\nIf you're seeing this, preview won't be generated for this configuration.",
+ "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials.\r\nIf you're seeing this, Add Games will skip this configuration.",
"cannotParseUserIDs": "Error parsing user accounts:",
"failedToMatch": "Failed to match:",
"failedFileInfo__i": "[${index}/${total}]: ${filename}",
"testFailed": "Testing failed",
"cannotTestInvalid": "Can not test invalid configuration!",
"cannotCopyInvalid": "Can not copy invalid configuration!",
- "failedToCopy": "Failed to copy to clipbard!",
+ "failedToCopy": "Failed to copy to clipboard!",
"cannotFetchTemplates": "Can not fetch controller templates for invalid steam directory!",
"errorRemovingControllers": "Error removing controllers:",
"cannotRemoveControllers": "Can not remove controllers from invalid steam directory!"
@@ -405,8 +488,8 @@
"success": {
"foundAccounts__i": "Found ${count} available user account(s):",
"foundAccountInfo__i": " ${name} (steamID64: ${steamID64}, accountID: ${accountID})",
- "steamCategory__i": "[${index}/${total}]: Steam categories - ${steamCategory}",
- "steamCategoryInfo__i": "[${index}/${total}]: ${steamCategory}",
+ "steamCategories__i": "[${index}/${total}]: Steam categories - ${steamCategories}",
+ "steamCategoriesInfo__i": "[${index}/${total}]: ${steamCategories}",
"exceptionKey__i": "[${index}/${total}]: Exception ID - ${appid}",
"appId__i": "[${index}/${total}]: Legacy App ID - ${appid}",
"shortAppId__i": "[${index}/${total}]: App ID - ${appid}",
@@ -416,20 +499,21 @@
"filePath__i": "[${index}/${total}]: File path - ${filePath}",
"startDir__i": "[${index}/${total}]: Start dir - ${startDir}",
"completeShortcut__i": "[${index}/${total}]: Complete shortcut - ${shortcut}",
- "firstImageQuery__i": "[${index}/${total}]: Image queries - ${query}",
+ "firstImageQuery__i": "[${index}/${total}]: Artwork queries - ${query}",
+ "imagePool__i": "[${index}/${total}]: Artwork pool - ${imagePool}",
"imageQueries__i": "[${index}/${total}]: ${query}",
"defaultImage__i": "[${index}/${total}]: Resolved fallback ${artworkType}:\r\n[${index}/${total}]: ${image}",
"resolvedDefaultImage__i": "[${index}/${total}]: Fallback ${artworkType}:",
- "localImages__i": "[${index}/${total}]: Resolved ${artworkType}:",
- "resolvedLocalImages__i": "[${index}/${total}]: ${artworkType} glob:",
+ "localImages__i": "[${index}/${total}]: Resolved local ${artworkType}:",
+ "resolvedLocalImages__i": "[${index}/${total}]: Local ${artworkType} glob:",
"indexInfo__i": "[${index}/${total}]: ${indexed}",
"removedControllers__i": "Succesfully removed controllers for parser: ${configTitle}",
"fetchedTemplates": "Fetched all controller templates"
},
"label": {
"parserType": "Parser type",
- "configTitle": "Configuration title",
- "steamCategory": "Steam category",
+ "configTitle": "Parser title",
+ "steamCategories": "Steam collections",
"executableModifier": "Executable modifier",
"executableLocation": "Executable",
"romDirectory": "ROMs directory",
@@ -440,33 +524,56 @@
"titleModifier": "Title modifier",
"fuzzyMatch": "Fuzzy matching",
"executableArgs": "Command line arguments",
- "onlineImageQueries": "Online image query",
- "imagePool": "Image pool",
- "imageProviders": "Image providers",
+ "onlineImageQueries": "Artwork provider search queries",
+ "imagePool": "Artwork pool",
+ "imageProviders": "Artwork providers",
"defaultImage__i": "Fallback ${artworkType}",
"localImages__i": "Local ${artworkType} glob"
},
"placeholder": {
"parserType": "Select parser...",
"configTitle": "My Awesome Parser",
- "steamCategory": "${cat1}${cat2}",
- "steamDirectory": "${steamdirglobal} or /path/to/steam",
- "userAccounts": "${steamuser1}${steamuser2} or ${${accountsglobal}}",
- "titleFromVariable": "${myvariable}",
+ "steamDirectory": {
+ "Windows_NT": "${steamdirglobal} or C:\\path\\to\\Steam\\",
+ "Darwin": "${steamdirglobal} or /path/to/Steam/",
+ "Linux": "${steamdirglobal} or /path/to/Steam/"
+ },
+ "titleFromVariable": "${variableGroup1}${variableGroup2}",
"titleModifier": "${fuzzyTitle} or ${title}",
- "defaultImage__i": "/path/to/fallback_${artworkType}.png",
- "localImages__i": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
- "romDirectory": "/path/to/games/",
+ "defaultImage__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\fallback_${artworkType}.png",
+ "Darwin": "/path/to/fallback_${artworkType}.png",
+ "Linux": "/path/to/fallback_${artworkType}"
+ },
+ "localImages__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\art\\\\${artworkType}\\\\\\${title}.@(png|jpg)",
+ "Darwin": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
+ "Linux": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)"
+ },
+ "onlineImageQueries": "${${fuzzyTitle}} or ${${title}}${${fuzzyTitle}}",
+ "imagePool": "${fuzzyTitle}",
+ "romDirectory": {
+ "Windows_NT": "C:\\path\\to\\games\\",
+ "Darwin": "/path/to/games/",
+ "Linux": "/path/to/games/"
+ },
"glob": "${title}.@(iso|ISO)",
- "executableLocation": "Example: /path/to/emulator.exe",
- "executableArgs": "--arg1 --arg2",
+ "executableLocation": {
+ "Windows_NT": "C:\\path\\to\\emulator.exe",
+ "Darwin": "/path/to/emulator.app",
+ "Linux": "/path/to/emulator"
+ },
+ "executableArgs": "--arg1 --arg2 --launch \"${filePath}\"",
"executableModifier": "\"${exePath}\"",
- "startInDirectory": "/path/to/start/in/dir",
+ "startInDirectory": {
+ "Windows_NT": "C:\\path\\to\\start-in-dir\\",
+ "Darwin": "/path/to/start-in-dir/",
+ "Linux": "/path/to/start-in-dir/"
+ },
"imageProviders": "None",
"multiAPIPlaceholder": "No Filter"
},
"text": {
- "tryToMatchTitle": "Enable Title from Custom Variable",
"skipFileIfVariableWasNotFound": "Skip file if variable was not found",
"caseInsensitiveVariables": "Case-insensitive variables",
"shortcut_passthrough": "Follow .lnk or .desktop to destination (Windows and Linux only)",
@@ -482,18 +589,18 @@
},
"service": {
"info": {
- "updatingConfigurations": "Updating user configurations with new fields"
+ "updatingConfigurations": "Updating user's parsers with new fields"
},
"error": {
- "savingConfiguration": "Error encountered while saving user configurations!",
- "readingConfiguration": "Error encountered while reading user configurations!",
+ "savingConfiguration": "Error encountered while saving user's parsers!",
+ "readingConfiguration": "Error encountered while loading user's parsers!",
"parserTypeMissing": "Cannot save without specifying parser type",
- "corruptedConfiguration__i": "One or more saved parser configurations are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
- "fetcingTemplates": "Error encountered while fetching controllers templates!"
+ "corruptedConfiguration__i": "One or more saved parsers are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
+ "fetchingTemplates": "Error encountered while fetching controllers templates!"
},
"validationErrors": {
"parserType__md": "> Incorrect parser type!",
- "configTitle__md": "> Configuration title is required!",
+ "configTitle__md": "> Parser title field cannot be blank!",
"parserId__md": "> Parser Id is missing, something is horribly wrong.",
"parserInput": {
"noInput": "No inputs are available!",
@@ -501,19 +608,15 @@
"incorrectParser": "Incorrect parser!"
},
"romDir__md": "> ROMs directory is invalid!",
- "userAccounts__md": "> Steam parser requires `User Accounts` field",
+ "userAccounts__md": "> User accounts field is required!",
"steamDir__md": "> Steam directory is invalid!",
"startInDir__md": "> \"Start In\" directory is invalid!",
"executable__md": "> Executable is invalid!",
- "imagePool__md": "> Image pool must not be empty!",
- "defaultImage__md": "> Default image is an invalid path!",
- "titleModifier__md": "> Title modifier must not be empty!",
- "executableModifier__md": "> Executable modifier must not be empty!",
- "variableString__md": "> Uneven number of `${` and `}` pairs. Use `\\` to escape `${` or `}` if you want to use them as characters.",
- "imageProviders__md": "> Incorrect image providers type!",
- "unhandledValidationKey__md": "> Input's validation is unhandled",
- "genericDir__md": "> Directory is invalid",
- "genericPath__md": "> Path is invalid"
+ "defaultImage__md": "> Fallback artwork is an invalid path!",
+ "variableString__md": "> Uneven number of `${` and `}` pairs! Use `\\` to escape `${` or `}` if you want to use them as characters.",
+ "unhandledValidationKey__md": "> Input's validation is unhandled!",
+ "genericDir__md": "> Directory is invalid!",
+ "genericPath__md": "> Path is invalid!"
},
"text": {
"noTitle": "No title!"
@@ -540,7 +643,7 @@
"error": {
"parserNotFound__i": "Parser \"${name}\" not found!",
"tooManyFieldGlobs__md": "> Only one `$(...)$` set is allowed per input.",
- "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** ir **Glob-regex** field.",
+ "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** in **Glob-regex** field.",
"noWinSlashes__md": "> Windows directory character `\\` is not allowed! Use `/` instead."
}
},
@@ -567,11 +670,11 @@
"error": {
"readingVdf__i": "Failed to read from \"${filePath}\".\n ${error}",
"writingVdf__i": "Failed to write to \"${filePath}\".\n ${error}",
- "skippingDMCA__i": "Skipping DMCA'd image for ${title}",
+ "skippingDMCA__i": "Skipping DMCA'd artwork for ${title}",
"corruptedVdf__i": "\"${filePath}\" is corrupted.\n ${error}",
"creatingBackup__i": "Could not create backup for \"${filePath}\".\n ${error}",
"unsupportedMimeType__i": "Mime type (${type}) is unsupported (title - \"${title}\").",
- "imageError__i": "Error occurred while saving/downloading image for \"${title}\". Url: ${url}.\n ${error}"
+ "imageError__i": "Error occurred while saving/downloading artwork for \"${title}\". Url: ${url}.\n ${error}"
}
},
"helpers": {
diff --git a/src/lang/no-NO/markdown/UWP-parser-input.md b/src/lang/no-NO/markdown/UWP-parser-input.md
index 1a3f20be1d..8c045eea77 100644
--- a/src/lang/no-NO/markdown/UWP-parser-input.md
+++ b/src/lang/no-NO/markdown/UWP-parser-input.md
@@ -1,4 +1,4 @@
-# Unique inputs for UWP Parser
+# UWP Parser Specific Inputs
## Games directory
@@ -8,4 +8,4 @@ Set it to `C:\Program Files\WindowsApps` to grab all UWP applications -- you'll
## Launch as UWP or from GameLaunchHelper.exe
-Gamepass games can be launched both ways, although UWP is preffered.
+Gamepass games can be launched both ways, although UWP is preferred.
diff --git a/src/lang/no-NO/markdown/UWP-parser.md b/src/lang/no-NO/markdown/UWP-parser.md
index bfb5a847f3..af4fee0f84 100644
--- a/src/lang/no-NO/markdown/UWP-parser.md
+++ b/src/lang/no-NO/markdown/UWP-parser.md
@@ -4,4 +4,4 @@ This parser imports `UWP` games in your Windows OS, having a games library path
## Compatibility
-This parser should only work on `Windows 10` and `Windows 11`.
\ No newline at end of file
+This parser should only work on `Windows 10` and `Windows 11`.
diff --git a/src/lang/no-NO/markdown/about.md b/src/lang/no-NO/markdown/about.md
index b5b78d51b7..1dfe83f938 100644
--- a/src/lang/no-NO/markdown/about.md
+++ b/src/lang/no-NO/markdown/about.md
@@ -2,7 +2,7 @@
In case you're having trouble with SRM, feel free to visit the [discord](https://discord.gg/bnSVJrz) or the [subreddit](https://www.reddit.com/r/SteamRomManager/) and ask for our help. In order for us to help you, we would like you to provide this info:
-* SRM version: **#{APP[version]}**
+* SRM version: **#{APP[version]}** emudeckText
* Operating System: **#{APP[os]}**
## Useful links
@@ -43,8 +43,9 @@ If you enjoy Steam ROM Manager and want it to continue to be useful also conside
* `CarJem`{.noWrap} - Added the manual parser.
* `MattMckenzy`{.noWrap} - Added ability to import and export image choices.
* `Apalatn`{.noWrap} - Added an install drive redirect option to the itch.io parser.
-* `OneMoreByte` - Made itch.io parser work on linux and mac.
-* `UndarkAido` - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `OneMoreByte`{.noWrap} - Made itch.io parser work on linux and mac.
+* `UndarkAido`{.noWrap} - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `HazardousBackup`{.noWrap} - Added option to GOG parser to parse Registry instead of GOG's DB.
### Community
* `HE Spoke`{.noWrap} - created a community around SRM. Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups. Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
diff --git a/src/lang/no-NO/markdown/amazon-games-parser-input.md b/src/lang/no-NO/markdown/amazon-games-parser-input.md
index 7ac728e20b..770697198e 100644
--- a/src/lang/no-NO/markdown/amazon-games-parser-input.md
+++ b/src/lang/no-NO/markdown/amazon-games-parser-input.md
@@ -1,4 +1,4 @@
-# Amazon Games Parser specific inputs
+# Amazon Games Parser Specific Inputs
## Amazon Games Path Override
By default Steam ROM Manager assumes your Amazon Games installation is located at `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`. This field allows you to override that path if your Amazon Games installation is elsewhere.
diff --git a/src/lang/no-NO/markdown/amazon-games-parser.md b/src/lang/no-NO/markdown/amazon-games-parser.md
index cdfda7c283..eb556fcc6e 100644
--- a/src/lang/no-NO/markdown/amazon-games-parser.md
+++ b/src/lang/no-NO/markdown/amazon-games-parser.md
@@ -1,3 +1,3 @@
# Amazon Games Parser
-This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/no-NO/markdown/battle-net-parser-input.md b/src/lang/no-NO/markdown/battle-net-parser-input.md
new file mode 100644
index 0000000000..1f03fae4a6
--- /dev/null
+++ b/src/lang/no-NO/markdown/battle-net-parser-input.md
@@ -0,0 +1,5 @@
+# Battle.net Parser Specific Inputs
+
+## Battle.net.exe Path Override
+
+By default Steam ROM Manager assumes your `Battle.net` executable is located at `C:\Program Files (x86)\Battle.net\Battle.net.exe`. This field allows you to override that if your `Battle.net` is installed elsewhere.
diff --git a/src/lang/no-NO/markdown/battle-net-parser.md b/src/lang/no-NO/markdown/battle-net-parser.md
new file mode 100644
index 0000000000..c3ffb10b67
--- /dev/null
+++ b/src/lang/no-NO/markdown/battle-net-parser.md
@@ -0,0 +1,5 @@
+# Battle.net Parser
+
+This parser imports games from the `Battle.net` app, so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Blizzard has altered the structure of their database files, in which case please let the developers of SRM know and we will resolve the issue.
+
+The `Battle.net` parser is somewhat special in that it uses a shell script at `${srmDir}/scripts/bnet.ps1` in order to launch `Battle.net`, wait an appropriate amount of time, and only then launch the actual title.
diff --git a/src/lang/no-NO/markdown/config-title.md b/src/lang/no-NO/markdown/config-title.md
index ed2eeef493..abadc31951 100644
--- a/src/lang/no-NO/markdown/config-title.md
+++ b/src/lang/no-NO/markdown/config-title.md
@@ -1,3 +1,5 @@
-# Configuration title
+# Parser title
-Title to save user configuration as. Does not have to be unique, but is required.
\ No newline at end of file
+Title of the parser. Does not have to be unique, but is required.
+
+This field will not affect what is added to `Steam` in any way.
diff --git a/src/lang/no-NO/markdown/controller-templates.md b/src/lang/no-NO/markdown/controller-templates.md
index 37c943f370..686b3ba13a 100644
--- a/src/lang/no-NO/markdown/controller-templates.md
+++ b/src/lang/no-NO/markdown/controller-templates.md
@@ -17,10 +17,10 @@ In the SRM parser:
Currently, SRM pulls all of the default (Valve made) templates for each controller as well as all of the user defined templates that end in `(SRM)`.
-* Select your templates and save the parser. The controller configsets will be applied once you hit `Save App List` in the preview.
+* Select your templates and save the parser. The controller configsets will be applied once you hit `Save to Steam` in the Add Games.
* To unset controller configs, you may either `Remove All Added App Entries` from global settings (this deletes all SRM made changes to your steam data) or hit `Unset All Controllers` in the parser (this only removes controller settings for the steam directory and user specified in that parser).
-Once this is done you can generate and save the preview as usual, and the template will be applied to all the titles in the parser.
+Once this is done you can parse and add games to steam as usual, and the templates will be applied to all the titles in the parser.
diff --git a/src/lang/no-NO/markdown/default-image.md b/src/lang/no-NO/markdown/default-image.md
index 47e3f9261e..7bf4e6413d 100644
--- a/src/lang/no-NO/markdown/default-image.md
+++ b/src/lang/no-NO/markdown/default-image.md
@@ -1,4 +1,4 @@
-# Default image (optional) `[supports variables]`{.noWrap}
+# Default image `[supports variables]`{.noWrap}
Allows one to use an image, stored locally, as a default/fallback image. A [special glob input](#special-glob-input) string is used to retrieve images. Only the first retrieved image is used.
diff --git a/src/lang/no-NO/markdown/ea-desktop-parser-input.md b/src/lang/no-NO/markdown/ea-desktop-parser-input.md
index 7990efb5b5..355ba68c8e 100644
--- a/src/lang/no-NO/markdown/ea-desktop-parser-input.md
+++ b/src/lang/no-NO/markdown/ea-desktop-parser-input.md
@@ -1,4 +1,4 @@
-# EA Desktop Parser specific inputs
+# EA Desktop Parser Specific Inputs
## EA Games Directory Override
By default Steam ROM Manager assumes your `EA Desktop` games are installed at ``C:\Program Files\EA Games\`. This field allows you to change that to wherever your games are installed, e.g.``D:\Games\EA Games`.
diff --git a/src/lang/no-NO/markdown/epic-parser-input.md b/src/lang/no-NO/markdown/epic-parser-input.md
index 88b5bd915c..c175be5c5e 100644
--- a/src/lang/no-NO/markdown/epic-parser-input.md
+++ b/src/lang/no-NO/markdown/epic-parser-input.md
@@ -1,4 +1,4 @@
-# Epic Games Store specific inputs
+# Epic Games Store Specific Inputs
## Manifests Directory Override
diff --git a/src/lang/no-NO/markdown/executable-arguments.md b/src/lang/no-NO/markdown/executable-arguments.md
index 8b5121722a..c19b665402 100644
--- a/src/lang/no-NO/markdown/executable-arguments.md
+++ b/src/lang/no-NO/markdown/executable-arguments.md
@@ -1,4 +1,4 @@
-# Command line arguments (optional) `[supports variables]`{.noWrap}
+# Command line arguments `[supports variables]`{.noWrap}
Arguments which are appended to executable to produce final shortcut. Most of the time you will want to set it using provided parser variables.
@@ -49,7 +49,7 @@ Arguments which are appended to executable to produce final shortcut. Most of th
### Nestopia (NES/Famicom)
```
-"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
+"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
```
### higan (NES/Famicom, SNES/Famicom, Gameboy, Gameboy Color, Gameboy Advance)
@@ -126,13 +126,13 @@ This setting is used to influence Steam's APP ID.
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -187,6 +187,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -196,7 +197,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/no-NO/markdown/executable-location.md b/src/lang/no-NO/markdown/executable-location.md
index b13f57494f..36fbbc9a46 100644
--- a/src/lang/no-NO/markdown/executable-location.md
+++ b/src/lang/no-NO/markdown/executable-location.md
@@ -1,4 +1,4 @@
-# Executable (optional) `[supports environment variables]`
+# Executable `[supports env variables]`
Path to emulator's executable. Can be a file or any valid system path.
@@ -6,6 +6,8 @@ Path to emulator's executable. Can be a file or any valid system path.
In some cases you might want to run game from a some kind batch file which will also automatically run the emulator itself. If that is the case, then providing executable is unnecessary.
+The final shortcut will just be `"${filePath}" --command-line-args`.
+
### So, how do I add files to Steam without default executable?
All files retrieved by a parser will be treated as executables instead.
diff --git a/src/lang/no-NO/markdown/executable-modifier.md b/src/lang/no-NO/markdown/executable-modifier.md
index c3c5739e86..2131f6964d 100644
--- a/src/lang/no-NO/markdown/executable-modifier.md
+++ b/src/lang/no-NO/markdown/executable-modifier.md
@@ -1,102 +1,23 @@
# Executable modifier `[supports variables]`{.noWrap}
-Default value is `"${exePath}"`{.noWrap}. This setting can be used to prepend or append desired characters to an executable which will be added to Steam (`Target` property). For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you can add `"cmd" /k start /min` to it by setting value to:
+Defaults to `"${exePath}"`{.noWrap} if unset. This field can be used to prepend or append desired characters to the executable which will be added to the Steam shortcut's `Target` property. For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you could start `Retroarch` minimized by setting the `Executable Modifier` "cmd" to:
+
```
"cmd" /k start /min "${exePath}"
```
-You can use any other variable to construct the final executable.
-
-This setting influences Steam's APP ID.
-
-
-## Shortcut Passthrough
-If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the target of that shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser.
-
-## Directory variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
-
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
-
-## Name variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------------------------------- |
-| `${exeName}` | Name of executable (without extension) |
-| `${fileName}` | Name of file which was returned by a parser (without extension) |
-
-In case executable directory input is left **empty**, `${exeName}`{.noWrap} is equal to `${fileName}`{.noWrap}.
-
-## Extension variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------------------- |
-| `${exeExt}` | Extension of executable (with a dot) |
-| `${fileExt}` | Extension of file which was returned by a parser (with a dot) |
-In case executable directory input is left **empty**, `${exeExt}`{.noWrap} is equal to `${fileExt}`{.noWrap}.
+In this case the `Target` property would begin with:
-## Path variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:-------------------------------------------------- |
-| `${exePath}` | Full path to an executable |
-| `${filePath}` | Full path to a file which was returned by a parser |
-
-In case executable directory input is left **empty**, `${exePath}`{.noWrap} is equal to `${filePath}`{.noWrap}.
-
-## Parser variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------ |
-| `${title}` | Extracted title |
-| `${fuzzyTitle}` | Fuzzy matched title |
-| `${finalTitle}` | Title which was the end result of title modifier |
-
-In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
+```
+"cmd" /k start /min "C:\RetroArch\retroarch.exe"
+```
-## Function variables
+followed by whatever launch arguments you choose in the `Command Line Arguments` field.
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+You can use any other variable to construct the final executable.
-### Function variable example
+This setting influences Steam's APP ID.
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
-```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
-```
-will be replaced with these:
-```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+## Shortcut Passthrough
---On linux:
-file.so
---On Windows:
-file.dll
---On Mac OS:
-file
-```
+If you enable `Follow .lnk/.desktop to destination` and the glob search finds a `.lnk` or `.desktop` file, ie a shortcut, then the `${filePath}` variable will contain the target of the shortcut rather than the path to the shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the `Command Line Arguments` field in the parser.
diff --git a/src/lang/no-NO/markdown/glob-parser-input.md b/src/lang/no-NO/markdown/glob-parser-input.md
index 996ae77ce1..2a43592892 100644
--- a/src/lang/no-NO/markdown/glob-parser-input.md
+++ b/src/lang/no-NO/markdown/glob-parser-input.md
@@ -1,4 +1,4 @@
-# Glob Parser specific inputs
+# Glob Parser Specific Inputs
## User's glob
diff --git a/src/lang/no-NO/markdown/glob-regex-parser-input.md b/src/lang/no-NO/markdown/glob-regex-parser-input.md
index 22c1f5cea6..6491148a25 100644
--- a/src/lang/no-NO/markdown/glob-regex-parser-input.md
+++ b/src/lang/no-NO/markdown/glob-regex-parser-input.md
@@ -1,4 +1,4 @@
-# Glob-regex Parser specific inputs
+# Glob-regex Parser Specific Inputs
## User's glob-regex
@@ -6,7 +6,7 @@ This is where you create your glob for extracting title from file path. Please r
## How does it work?
-In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
+In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
| User's glob | Position |
| --------------------- | --------------------------- |
diff --git a/src/lang/no-NO/markdown/gog-parser-input.md b/src/lang/no-NO/markdown/gog-parser-input.md
index 756fa3de77..bf185f2c23 100644
--- a/src/lang/no-NO/markdown/gog-parser-input.md
+++ b/src/lang/no-NO/markdown/gog-parser-input.md
@@ -1,10 +1,20 @@
-# Unique inputs for GOG Galaxy Parser
+# GOG Galaxy Parser Specific Inputs
## Galaxy Path Override
-By default Steam ROM Manager assumes your Galaxy Client is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe`. This field allows you to override that path if your GOG Galaxy installation is elsewhere.
-This field is actually only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of the Galaxy Client.
+By default Steam ROM Manager assumes your GOG Galaxy executable is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe` on Windows and `/Applications/GOG Galaxy.app/Contents/MacOS/GOG Galaxy` on Mac. This field allows you to override that path if your GOG Galaxy executable is elsewhere.
-## Launch Via GOG Galaxy `[Recommend disabled]`
+Specifying the correct location of GOG Galaxy's executable is only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of GOG Galaxy's executable.
-What it sounds like, this toggle let's you set whether games will launch via GOG Galaxy or directly. Note that for some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+## Launch via GOG Galaxy `[Recommend disabled]`
+
+What it sounds like, this toggle determines whether games launch via GOG Galaxy or directly. For some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+
+## Parse Linked Executables from GOG Galaxy
+
+If enabled, SRM will pull in not only GOG games aquired from GOG Galaxy's store, but also those you have manually linked executables for in GOG Galaxy. This is desirable if those games are not being parsed into SRM elsewhere.
+
+A caveat is that because GOG Galaxy does not store the names linked executables in its database, SRM will use the directory name of the executable on Windows (e.g. `C:\\path\\to\\Hoa\\LaunchHoa.exe` would be assigned the title `Hoa`) and the executable name on Mac (e.g. `/Applications/Symphonia.app` would be assigned the title `Symphonia`).
+
+## Parse using Registry instead of Galaxy DB `[Windows only] [Recommend disabled]`
+This option will parse the Windows Registry for installed GOG games instead of GOG Galaxy's SQL database, allowing the parser to work even if GOG Galaxy is not installed. If this is enabled, `Parse Linked Executables` will of have no effect, but `Launch via GOG Galaxy` will work as normal.
\ No newline at end of file
diff --git a/src/lang/no-NO/markdown/image-pool.md b/src/lang/no-NO/markdown/image-pool.md
index 8b54cf72d9..0b4e4a94fb 100644
--- a/src/lang/no-NO/markdown/image-pool.md
+++ b/src/lang/no-NO/markdown/image-pool.md
@@ -1,3 +1,5 @@
-# Image pool `[supports variables]`{.noWrap}
+# Artwork pool `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting is used to allow different apps share the same images -- same "image pool", or allow unique image pool per app. To use unique image pool per app just set it to something unique. For example `${fuzzyTitle} SNES`{.noWrap}.
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset.
+
+This field is used to allow games from different parsers to share the same images (i.e. the same "image pool") if they have the same title. If you want different parsers not to share images for games with the same title, just set this field to something unique, for example `${fuzzyTitle} SNES`{.noWrap} or `${fuzzyTitle} ${parserTitle}`{.noWrap}.
diff --git a/src/lang/no-NO/markdown/image-providers.md b/src/lang/no-NO/markdown/image-providers.md
index 0b778780c6..f70a9275f6 100644
--- a/src/lang/no-NO/markdown/image-providers.md
+++ b/src/lang/no-NO/markdown/image-providers.md
@@ -1,7 +1,7 @@
-# Image providers
+# Artwork providers
-Here you can select image providers that are used to retrieve images. This option is for this configuration only.
+Here you can select artwork providers (online sources of game art) that are used by SRM to get art for your games.
## Similar option in "Settings" menu
-Settings menu has "Enabled providers" which enable image providers globally -- if it's not enabled in Settings, it won't work.
+Settings menu has "Enabled providers" which enable artwork providers globally -- if it's not enabled in Settings, it won't work.
diff --git a/src/lang/no-NO/markdown/intro.md b/src/lang/no-NO/markdown/intro.md
index f8d5fcabda..a6d65c0059 100644
--- a/src/lang/no-NO/markdown/intro.md
+++ b/src/lang/no-NO/markdown/intro.md
@@ -8,8 +8,8 @@ Also, don't forget to check FAQ. If you still got questions about setting up con
After saving parser configuration, **1** of **3** colors will be shown next to its title:
- -- Enabled configuration. This configuration will be used when generating a list in **preview** page.
+ -- Enabled configuration. This configuration will be used when generating a list in **Add Games** page.
- -- Unsaved changes. This configuration will not be used when generating a list in **preview** page, however earlier **saved** version will be used instead.
+ -- Unsaved changes. This configuration will not be used when generating a list in **Add Games** page, however earlier **saved** version will be used instead.
- -- Disabled configuration. This configuration will not be used when generating a list in **preview** page.
\ No newline at end of file
+ -- Disabled configuration. This configuration will not be used when generating a list in **Add Games** page.
\ No newline at end of file
diff --git a/src/lang/no-NO/markdown/itch-io-parser-input.md b/src/lang/no-NO/markdown/itch-io-parser-input.md
index 4b0057c170..ffa409af96 100644
--- a/src/lang/no-NO/markdown/itch-io-parser-input.md
+++ b/src/lang/no-NO/markdown/itch-io-parser-input.md
@@ -1,4 +1,4 @@
-# itch.io Parser specific inputs
+# itch.io Parser Specific Inputs
## itch.io AppData Path Override
By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere.
diff --git a/src/lang/no-NO/markdown/itch-io-parser.md b/src/lang/no-NO/markdown/itch-io-parser.md
index 7f29ffc42d..accb8b5ad2 100644
--- a/src/lang/no-NO/markdown/itch-io-parser.md
+++ b/src/lang/no-NO/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
# itch.io Parser
-This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/no-NO/markdown/legendary-parser-input.md b/src/lang/no-NO/markdown/legendary-parser-input.md
index 80ca0bcbbc..4a826e43da 100644
--- a/src/lang/no-NO/markdown/legendary-parser-input.md
+++ b/src/lang/no-NO/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
-# Legendary Parser specific inputs
+# Legendary Parser Specific Inputs
+
+## Legendary Path Override
+
+By default Steam ROM Manager uses `(Get-Command legendary).Path` on Windows and `which legendary` on Linux and Mac to determine the location of your Legendary executable. This field allows you to override that path.
+
+Specifying the correct location of the Legendary executable is only necessary if you enable launch via Legendary (see below), as otherwise SRM has no need of the location of Legendary's executable.
## Legendary `installed.json` Path Override
Most users shouldn't use this, as they use the standard `Legendary` installation where installed games manifest will be located at `~/.config/legendary/installed.json`.
If, however, for some reason your installed games manifest is located in a non-typical location then you can specify the correct manifest path here.
+
+## Launch via Legendary `[Recommend enabled]`
+
+What it sounds like, this toggle determines whether games launch via Legendary or directly. Launching via Legendary provides access to Epic's online services.
diff --git a/src/lang/no-NO/markdown/local-images.md b/src/lang/no-NO/markdown/local-images.md
index cff60e5674..5da2e5ae4c 100644
--- a/src/lang/no-NO/markdown/local-images.md
+++ b/src/lang/no-NO/markdown/local-images.md
@@ -1,4 +1,4 @@
-# Local images (optional) `[supports variables]`{.noWrap}
+# Local images `[supports variables]`{.noWrap}
Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
diff --git a/src/lang/no-NO/markdown/manual-parser-input.md b/src/lang/no-NO/markdown/manual-parser-input.md
index bc1848d45a..65265ebd32 100644
--- a/src/lang/no-NO/markdown/manual-parser-input.md
+++ b/src/lang/no-NO/markdown/manual-parser-input.md
@@ -1,4 +1,4 @@
-# Manual Parser specific inputs
+# Manual Parser Specific Inputs
## Manifests Directory `[Supports Environment Variables]`{.noWrap}
@@ -17,7 +17,8 @@ The names of the files do not matter. What does matter is that each `manifest.js
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args",
+ "appendArgsToExecutable": false
}
```
Or a list of titles, like so:
@@ -27,15 +28,19 @@ Or a list of titles, like so:
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args".
+ "appendArgsToExecutable": true
},
{
"title": "gameTitle2",
"target": "game2/path/target.sh",
"startIn": "game2/path",
- "launchOptions": "--args2"
+ "launchOptions": "--args2",
+ "appendArgsToExecutable": false
}
]
```
A typical use case would be to use a single json file per game type, or per year, etc.
+
+Just like for ROM parsers, `appendArgsToExecutable` determines whether `launchOptions` are appended to the shortcut `target` or appear separately as launch options in steam.
diff --git a/src/lang/no-NO/markdown/non-srm-shortcuts-parser.md b/src/lang/no-NO/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..4485008a1a
--- /dev/null
+++ b/src/lang/no-NO/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,29 @@
+# Non-SRM Shortcut Parser
+
+This parser imports non SRM steam shortcuts into SRM so their artowrk can be managed. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
+
+## User accounts
+
+Used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
+
+```
+${...}
+```
+
+You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
+
+ {.fitImage .center}
+
+For example, this is how you specify account for "Banana" and "Apple":
+
+```
+${Banana}${Apple}
+```
+
+You can also limit accounts by specifying their ids directly. For example:
+
+```
+${56489124}${21987424}
+```
+
+Would limit the search to `steam/userdata/56489124` and `steam/userdata/21987424`.
diff --git a/src/lang/no-NO/markdown/parser-env-variables.md b/src/lang/no-NO/markdown/parser-env-variables.md
index 3b186a70f7..e95baf9137 100644
--- a/src/lang/no-NO/markdown/parser-env-variables.md
+++ b/src/lang/no-NO/markdown/parser-env-variables.md
@@ -13,3 +13,5 @@ These variables are pre parsed and can be used even in the Rom Directory, Steam
The utility of the environment variable `${srmdir}` is to make SRM fully portable, eg if you wanted to have the directory layout `D:\Games\Roms` and `D:\Games\PortableSRM\SRM.exe` then setting the field Roms Directory to be `${srmdir}${/}..${/}Roms` would allow you to move the Games directory somewhere else without breaking your setup.
+
+Function variables can also be used in fields that permit environment variables (e.g. `${os:win|C:\path\to\startdir|${os:linux|/path/to/startdir}}`)
diff --git a/src/lang/no-NO/markdown/parser-variables.md b/src/lang/no-NO/markdown/parser-variables.md
index 7e9eb636ff..7c164a55bc 100644
--- a/src/lang/no-NO/markdown/parser-variables.md
+++ b/src/lang/no-NO/markdown/parser-variables.md
@@ -4,13 +4,13 @@ Here are tables of variables that can be used with options that have `[supports
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -48,6 +48,7 @@ In case executable directory input is left **empty**, `${exePath}`{.noWrap} is e
| `${title}` | Extracted title |
| `${fuzzyTitle}` | Fuzzy matched title |
| `${finalTitle}` | Title which was the end result of title modifier |
+| `${parserTitle}` | The value of the `Parser Title` field |
In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
@@ -65,6 +66,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -74,7 +76,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/no-NO/markdown/parsers-list.md b/src/lang/no-NO/markdown/parsers-list.md
index 1e5e43f80f..6ab3846611 100644
--- a/src/lang/no-NO/markdown/parsers-list.md
+++ b/src/lang/no-NO/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# Parsers
-In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**
diff --git a/src/lang/no-NO/markdown/rom-directory.md b/src/lang/no-NO/markdown/rom-directory.md
index 555452224f..5b15d2e2b7 100644
--- a/src/lang/no-NO/markdown/rom-directory.md
+++ b/src/lang/no-NO/markdown/rom-directory.md
@@ -1,3 +1,3 @@
-# ROMs directory `[supports environment variables]`
+# ROMs directory `[supports env variables]`
Starting directory for game or app files.
diff --git a/src/lang/no-NO/markdown/settings.md b/src/lang/no-NO/markdown/settings.md
index c35d49e806..dd35c64609 100644
--- a/src/lang/no-NO/markdown/settings.md
+++ b/src/lang/no-NO/markdown/settings.md
@@ -1,31 +1,51 @@
## General Settings
+### Check for updates on start `[Recommend enabled]`
+Check if an update for SRM is available and prompt to update each time SRM launches.
+### Auto kill Steam `[Recommend enabled]`
+SRM will attempt to kill all running instances of Steam whenever it needs to read/write collections information (specifically when saving to steam from `Add Games` and when removing all games from `Settings`).
+### Auto restart Steam `[Recommend enabled]`
+SRM will attempt to restart Steam after killing it and completing whatever collections related task required killing Steam in the first place. Requires `Auto kill Steam` to be enabled.
### Offline mode `[Recommend disabled]`
-
When enabled SRM makes no network requests, useful if you only want to use SRM for local images.
### Automatically clear log before testing parsers `[Recommend enabled]`
When enabled the log is cleared each time a parser is tested.
+## Add Games
### Show current steam images by default `[Recommend enabled]`
When enabled this setting tells SRM to default to whatever artwork is currently in steam for a given app. If it is disabled, then every time SRM is run (and saved) all artwork will be reset.
### Remove shortcuts for disabled parsers `[Recommend disabled]`
When enabled disabling a parser and running SRM will remove all added entries and artwork for the disabled parser. Useful if you want your steam library to be in 1-1 correspondence with enabled parsers.
-
+### Disable saving of steam categories `[Recommend disabled]`
+SRM will not write any collections information when saving to Steam. This allows SRM to perform its tasks while Steam is still running, at the obvious cost that added games will not be categorized.
+### Hide Steam username from Add Games
+Steam does not allow user's to alter their Steam usernames. In some cases (childish names, dead names, etc), users may no longer wish to see their Steam usernames. This setting hides it from `Add Games`.
+### Remove all added games and controllers
+Undo all SRM added changes from Steam.
+### Remove all controllers only
+Undo all SRM added controller settings from Steam.
## Fuzzy Matcher Settings
### Log matching results `[Recommend disabled]`
When enabled more verbose logs appear for the fuzzy title matcher in the `Event log`. Useful for debugging incorrect fuzzy matches.
-
### Reset fuzzy list
Resets the stored list of titles used for fuzzy matching to the list of titles returned by `SteamGridDB` (removes any user added titles).
### Reset fuzzy cache
Clears the cache of titles that fuzzy matching has already seen (try this if changes you make to fuzzy list are not resulting in changes to titles in SRM).
-
## Image provider settings
-### Preload retrieved images `[Recommend disabled]`
-When enabled, SRM will pull all available artwork for every game, rather than pulling one piece of artwork at a time as the user flips through the images. Don't enable this unless you have a good reason and a very small library of games, otherwise it could result in very large (slow) network requests.
+### Artwork loading strategy `[Recommend Load artwork lazily]`
+This is the strategy SRM uses to pull artwork thumbnails for the `Add Games` UI. If you are parsing a lot of games, `Load artwork lazily` is recommended. `Preload first artwork` will try to pull the first piece of artwork for each game in each artwork category, and `Preload all artwork` will try to pull all available artwork for each game in each artwork category. `Preload all artwork` will cause network and performance issues unless the number of games is quite small (less than `30` or so).
### Enabled providers
-Global setting to disable certain providers. Currently the only image provider is `SteamGridDB` since ConsoleGrid and RetroGaming.cloud are defunct.
-
+Global setting to enable/disable particular image providers. Current options are `SteamGridDB` and `Steam Official`.
+### DNS manual override
+Set this if you want SRM to do DNS resolution internally, as opposed to relying on your system's default DNS server. This solves many timeout issues on the Steam Deck.
+### Batch size for image downloads
+Number of images SRM will attempt to download at once when saving to Steam. May help to lower this if you are receiving timeout errors from SGDB.
+### Nuke artwork choice cache
+SRM attempts to remember your artwork choices, this button forcibly forgets all of them.
+### Nuke local artwork backups
+This deletes all artwork backups created for parsers with `Backup artwork locally` enabled.
## Community Variables and Presets
### Force download custom variables.
Resets the custom variables JSON file that is used for certain presets to whatever its current state is on the SRM github. Useful if the custom variables JSON file has been corrupted.
### Force download custom presets.
Resets the JSON files for parser presets to whatever is on the SRM github. Useful if your presets list is not automatically updating for some reason, or has become corrupted.
+### Force download shell scripts
+Re fetches the shell scripts SRM uses to perform certain tasks.
diff --git a/src/lang/no-NO/markdown/sgdb-api-input.md b/src/lang/no-NO/markdown/sgdb-api-input.md
index 553f4fda77..7651927a64 100644
--- a/src/lang/no-NO/markdown/sgdb-api-input.md
+++ b/src/lang/no-NO/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
This set of options are direct inputs into the APIs of image providers, for example SteamGridDB's [API](https://www.steamgriddb.com/api/v2).
-An interesting quirk of these settings is that re-generating the preview (hitting the `Generate App List` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove App List` button in preview before hitting `Generate App List`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the preview with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
+An interesting quirk of these settings is that re-generating the game list in Add Games (hitting the `Refresh` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove from Steam` button in Add Games before hitting `Refresh`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the game list with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
## SteamGridDB
diff --git a/src/lang/no-NO/markdown/start-in-directory.md b/src/lang/no-NO/markdown/start-in-directory.md
index 86cf962c23..df84a987d5 100644
--- a/src/lang/no-NO/markdown/start-in-directory.md
+++ b/src/lang/no-NO/markdown/start-in-directory.md
@@ -1,6 +1,6 @@
-# "Start In" directory (optional) `[supports environment variables]`{.noWrap}
+# "Start In" directory `[supports env variables]`
-By default "Start In" directory is set to executable's directory:
+If `"Start In" Directory` is unset it defaults to the executable's directory. If not executable is set, it defaults to the directory of the ${filePath} variable:
 {.fitImage.center}
@@ -11,4 +11,5 @@ This option allows you to specify any directory you want as a "Start In" directo
It is useful when you're using batch files to start emulator and a game, but emulator requires a specific "Start In" directory to work properly.
## Shortcut Passthrough
+
If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the directory of the target of that shortcut. In the future, it will be overridden with the start in directory of that shortcut.
diff --git a/src/lang/no-NO/markdown/steam-category.md b/src/lang/no-NO/markdown/steam-category.md
index 079073dab9..677ea3d0ef 100644
--- a/src/lang/no-NO/markdown/steam-category.md
+++ b/src/lang/no-NO/markdown/steam-category.md
@@ -1,21 +1,13 @@
-# Steam category (optional) `[supports variables]`{.noWrap}
+# Steam category`{.noWrap}
+
+Hit the little plus sign to add your first category.
-Also known as "tags", can be used to group apps in Steam. In order to set Steam category, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify categories for "WII" and "GBA" (paired with "ROMS") category:
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
This how "WII" category will look like in Steam:

## Emojis and non-Standard Unicode Characters
+
Please not that this field works just fine with emojis like `🎮` work just fine in category names.
You can find a list of them here: [https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/no-NO/markdown/steam-directory.md b/src/lang/no-NO/markdown/steam-directory.md
index b15010e819..bb82bc6a97 100644
--- a/src/lang/no-NO/markdown/steam-directory.md
+++ b/src/lang/no-NO/markdown/steam-directory.md
@@ -1,4 +1,4 @@
-# Steam directory `[supports environment variables]`{.noWrap}
+# Steam directory `[supports env variables]`
Must be a valid Steam directory which contains Steam executable. In order for Steam account to be detected, user must have logged in at least once.
diff --git a/src/lang/no-NO/markdown/steam-parser-input.md b/src/lang/no-NO/markdown/steam-parser-input.md
index 75f21d380d..1174b71b64 100644
--- a/src/lang/no-NO/markdown/steam-parser-input.md
+++ b/src/lang/no-NO/markdown/steam-parser-input.md
@@ -1,4 +1,4 @@
-# Steam Parser specific inputs
+# Steam Parser Specific Inputs
## Find artwork for games only
If enabled SRM will filter out any Steam applications that are not full games, such as demos and tools like `3DMark` or `Wallpaper Engine`.
diff --git a/src/lang/no-NO/markdown/steam-parser.md b/src/lang/no-NO/markdown/steam-parser.md
index b158f676a8..5b93d8bc77 100644
--- a/src/lang/no-NO/markdown/steam-parser.md
+++ b/src/lang/no-NO/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Steam parser
-This parser imports steam games into SRM. It does not add shortcuts, but it allows you to set the artwork for your steam games. By default the parser will get games from all user accounts in the steam directory specified — if you would prefer to only get the games for a subset of the accounts then specify them in the `User accounts` field.
-
-## Limitations
-Unfortunately for the time being this parser only works for steam games **that are in at least one category**. The reason for this is that Steam only stores your full list of games locally if they are categorized. Sometimes, for unknown reasons, games will be stored locally regardless and the parser will work, but to be safe the easiest thing to do is just **create a Steam Category** that has all of your Steam games in it.
-
-## User accounts (Optional)
-
-Can be used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
-```
-${...}
-```
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
-
- {.fitImage.center}
-
-For example, this is how you specify account for "Banana" and "Apple":
-
-```
-${Banana}${Apple}
-```
-
-In case the [use account credentials](#what-does-use-account-credentials-do) is disabled, you can still limit accounts by specifying their ids directly:
-
-```
-${56489124}${21987424}
-```
-
-## What does "Skip found accounts with missing data directories" do?
-
-Sometimes Steam's file that contains logins, may contain users that do not have data directory created (might have been manually deleted, etc.). You can specify to skip those accounts by enabling this option.
-
-## What does "Use account credentials" do?
-
-Tries to look for account credentials in Steam directory. In other words -- username. Username then can be used to filter accounts without actually having to know their ids.
-
-### Warning!
-
-If Steam has credential saving disabled, this option will prevent finding user accounts.
+This parser imports steam games into SRM so you can manage their artwork. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
\ No newline at end of file
diff --git a/src/lang/no-NO/markdown/title-from-variable.md b/src/lang/no-NO/markdown/title-from-variable.md
index bb6e4a52a2..6aa467e98c 100644
--- a/src/lang/no-NO/markdown/title-from-variable.md
+++ b/src/lang/no-NO/markdown/title-from-variable.md
@@ -1,43 +1,40 @@
-# Title from custom variable (optional)
+# Title from custom variable
-Allows to overwrite extracted title with a custom variable. This is done right after title extraction, meaning that the replaced title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+Allows one to overwrite the extracted title with a custom variable, pulled from the `json` files described below. This happens right after title extraction, meaning that the new title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+
+Title matching is limited to specific groups of custom variables. For example, this is how you specify groups "FBN" and "PSN":
-Title matching can be limited to specific groups of custom variables. In order to specify groups, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify groups for "RPCS3" and "rpcs3":
```
-${RPCS3}${rpcs3}
+${RPCS3}${PSN}
```
-Make sure you **toggle enable to on**.
-
-
-## Case-insensitive option
-
-If this option is enabled, case-insensitive matching will be done and first matched custom variable will be used.
-
-## Note. This feature is **experimental**
+# How it works
-Basically, it might change in the future release (very unlikelly). Furthermore, currently the only way to add variables is to create/edit `customVariables.json` used by SRM directly.
+There are two variable files, `customVariables.json` which is maintained by SRM (don't change this one, your changes will be overwritten every time SRM restarts) and `userVariables.json` which is where you should put your own variables. Both files are located in SRM's `Config Directory`.
-This file is/shoud be located in SRM's `userData` directory.
-
-SRM will throw error unless the following JSON structure is used:
+Both `customVariables.json` and `userVariables.json` have the same JSON structure. SRM will throw an error unless the following JSON structure is used:
```
{
- "RPCS3": {
+ "Group1": {
"NPUB30698": "Catherine",
"NPUB30024": "1942: Joint Strike",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
+ "Group2": {
+ "The Legend Of Zelda": "The Legend Of Link",
+ ...
},
...
}
```
-Then if your user glob were `MyDir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `MyDir`, you would set the title from custom variable field to `${Custom Stuff}` to obtain a final title of "The Legend of Link".
+Then if your user glob were `romsdir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `romsdir`, you would set the title from custom variable field to `${Group2}` to obtain a title of "The Legend of Link".
+
+## Case-insensitive variables
+
+If enabled, case-insensitive matching will be done and first matched custom variable will be used.
+
+## Skip file if variable not found
+
+If enabled, titles that don't match a variable will be excluded.
diff --git a/src/lang/no-NO/markdown/title-modifier.md b/src/lang/no-NO/markdown/title-modifier.md
index 791e000e27..4ecb2d02db 100644
--- a/src/lang/no-NO/markdown/title-modifier.md
+++ b/src/lang/no-NO/markdown/title-modifier.md
@@ -1,9 +1,11 @@
# Title modifier `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting can be used to prepend or append desired characters to a title which will be added to Steam. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset. This setting can be used to prepend or append desired characters to a Steam shortcut's `Title`. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+
```
${fuzzyTitle} (1.7.5)
```
+
You can use `${title}`{.noWrap} or any other variable to construct the final title.
This setting influences Steam's APP ID.
diff --git a/src/lang/no-NO/markdown/uplay-parser-input.md b/src/lang/no-NO/markdown/uplay-parser-input.md
index f40bbcd928..3a54e84b1a 100644
--- a/src/lang/no-NO/markdown/uplay-parser-input.md
+++ b/src/lang/no-NO/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# Unique inputs for UPlay Parser
+# UPlay Parser Specific Inputs
+
## Ubisoft Directory Override
By default Steam ROM Manager assumes your UPlay install is located in `C:\Program Files (x86)\Ubisoft`. This field allows you to override that path if your UPlay installation is elsewhere.
## Launch Via UPlay `[Recommend disabled]`
-
What it sounds like, this toggle let's you set whether games will launch via UPlay or directly from the game's executable.
For UPlay this doesn't matter too much as UPlay games will automatically launch UPlay in the background even when launched from the executable. Steam Overlay will not work when `Launch via UPlay` is enabled, whereas both Steam and Ubisoft overlays work when `Launch via UPlay` is disabled.
diff --git a/src/lang/no-NO/markdown/user-accounts.md b/src/lang/no-NO/markdown/user-accounts.md
index 90a49b84f6..c0101b5f74 100644
--- a/src/lang/no-NO/markdown/user-accounts.md
+++ b/src/lang/no-NO/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# User accounts (Optional)
+# User accounts
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
-
-`${XXX}${YYY}`
-
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either:
-
-* An `Account ID` (the number that appears as the directory name of your account directory in `/path/to/steam/userdata/`). For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
+This field is used to limit SRM's effects to specific user accounts. It can be set to `Global` or over ridden per parser.
## Warning
-If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and **you must only use** `Account IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and `Choose Accounts` will only be able to pull your `Steam IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Settings` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
diff --git a/src/lang/no-NO/markdown/user-exceptions.md b/src/lang/no-NO/markdown/user-exceptions.md
index a53dd0d6d9..a6e47de497 100644
--- a/src/lang/no-NO/markdown/user-exceptions.md
+++ b/src/lang/no-NO/markdown/user-exceptions.md
@@ -12,7 +12,7 @@ The `Extracted Title` field matches in two ways:
Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`.
-Exceptions generated from `Preview` will always be in the form `Extracted Title ${id:XXXXXX}`.
+Exceptions generated from `Add Games` will always be in the form `Extracted Title ${id:XXXXXX}`.
## New Display Title
diff --git a/src/lang/pl-PL/langStrings.json b/src/lang/pl-PL/langStrings.json
index d42bc546d5..60484346ba 100644
--- a/src/lang/pl-PL/langStrings.json
+++ b/src/lang/pl-PL/langStrings.json
@@ -14,17 +14,17 @@
"games": "All Artwork"
},
"by": "by",
- "refreshImages": "Refresh images",
- "saveImage": "Save image to file",
- "addLocalImages": "Add local images",
- "retryDownload": "Retry download",
- "generateAppList": "Parse",
+ "refreshImages": "Refresh artwork",
+ "saveImage": "Save artwork to file",
+ "addLocalImages": "Add local artwork",
+ "retryDownload": "Retry artwork download",
+ "generateAppList": "Refresh",
"saveAppList": "Save to Steam",
"removeAppList": "Remove from Steam",
"remainingImages": "Retrieving urls:",
"stopUrlRetrieving": "Stop",
- "exportSelections": "Export",
- "importSelections": "Import",
+ "exportSelections": "Export art",
+ "importSelections": "Import art",
"backButton": "Back",
"logButton": "Log"
},
@@ -44,46 +44,46 @@
"removingFromCategories": "Removing all added category information",
"writingVDF_entries__i": "Writing VDF files and downloading high res images in batches of ${batchSize}.",
"updatingKnownSteamDirList": "Updating a list of known Steam directories.",
- "retryingDownload__i": "Retrying image download from \"${imageUrl}\" for \"${appTitle}\".",
- "disabledConfigurations__i": "${count} user configuration(s) was/were skipped (disabled by user).",
- "invalidConfigurations__i": "${count} user configuration(s) was/were skipped (invalid).",
+ "retryingDownload__i": "Retrying artwork download from \"${imageUrl}\" for \"${appTitle}\".",
+ "disabledConfigurations__i": "${count} user parser(s) was/were skipped (disabled by user).",
+ "invalidConfigurations__i": "${count} user parser(s) was/were skipped (invalid).",
"executingParsers": "Executing parsers.",
- "shutdownSteam": "Please shutdown Steam if it is running.",
- "noParserConfigurations": "Please create parser configuration in \"Parsers\" menu first.",
+ "shutdownSteam": "If Steam is running, exit Steam.",
+ "noParserConfigurations": "Please create parser in \"Parsers\" menu first.",
"parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
- "allImagesRetrieved": "All available image urls retrieved.",
+ "allImagesRetrieved": "All available artwork urls retrieved.",
"providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
"noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
- "preparingExport": "Preparing export of image choices.",
- "exportProgress__i": "Saving image choices ${progress}.",
- "readingSelections": "Applying imported image choices."
+ "preparingExport": "Preparing export of artwork choices.",
+ "exportProgress__i": "Saving artwork choices ${progress}.",
+ "readingSelections": "Applying imported artwork choices."
},
"errors": {
- "fatalError": "Fatal error occurred in Preview. See event log for details.",
- "fatalError__i": "Fatal Preview Error ${error}",
+ "fatalError": "Fatal error occurred in Add Games. See event log for details.",
+ "fatalError__i": "Fatal Add Games error: ${error}",
"knownSteamDirListIsEmpty": "A list of known Steam directories is empty.",
"steamIsRunning": "Cannot make changes while steam is running!",
"categorySaveError": "Error updating categories. See event log for details.",
"categorySaveError__i": "Category error (shortcuts and artwork will still be added): ${error}",
"controllerSaveError": "Error updating controller templates. See event log for details.",
"controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
- "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
+ "retryingDownload__i": "Artwork download from \"${imageUrl}\" failed for \"${appTitle}\".",
"providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
"unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
"exportError__i": "Could not save selections package folder: ${error}",
"importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
- "importFailError__i": "Could not import image choices: ${error}"
+ "importFailError__i": "Could not import artwork choices: ${error}"
},
"success": {
"writingVDF_entries": "Done adding/removing entries.",
"removingVDF_entries": "Entries have been removed.",
- "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
- "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
+ "exportSuccess__i": "Artwork choices folder successfully saved to \"${path}\"!",
+ "importSelectionsSuccess__i": "Successfully imported ${count} artwork choices!"
}
}
},
"steamParser": {
- "onlyGamesTitle": "Find artwork for games only (no tools)",
+ "onlyGamesTitle": "Find artwork for games only (no tools or demos)",
"onlyInstalledTitle": "Find artwork for installed titles only",
"sourceModsTitle": "Find artwork for unofficial source mods",
"errors": {
@@ -93,16 +93,30 @@
"fatalError__i": "> Steam parser failed with fatal error:\n ${error}"
}
},
+ "nonSRMShortcutsParser": {
+ "errors": {
+ "noSteamAccounts": "> Steam directory specified has no accounts.",
+ "fatalError__i": "> Non-SRM Shortcuts parser failed with fatal error:\n ${error}"
+ }
+ },
"manualParser": {
"manifestsInputTitle": "Manifests Directory",
- "manifestsInputPlaceholder": "/path/to/your/manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"errors": {
"fatalError__i": "> Manual parser failed with fatal error:\n ${error}"
}
},
"epicParser": {
"manifestsInputTitle": "Epic Manifests Directory Override",
- "manifestsInputPlaceholder": "/path/to/Manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"launcherModeInputTitle": "Launch games via Epic for online services",
"errors": {
"invalidManifestsOverride": "> Manifests Override is not a valid directory.",
@@ -112,25 +126,56 @@
}
},
"legendaryParser": {
+ "launcherModeInputTitle": "Launch games via Legendary for online services",
"legendaryInstalledFileTitle": "Legendary installed.json Path Override",
- "legendaryInstalledFilePlaceholder": "/path/to/legendary/installed.json",
+ "legendaryInstalledFilePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary\\installed.json",
+ "Darwin": "/path/to/legendary/installed.json",
+ "Linux": "/path/to/legendary/installed.json"
+ },
+ "legendaryExeOverrideTitle": "Legendary Path Override",
+ "legendaryExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary.exe",
+ "Darwin": "/path/to/legendary",
+ "Linux": "/path/to/legendary"
+ },
"errors": {
"legendaryNotInstalled": "> Legendary installed.json not found",
- "fatalError__i": "> Legendary parser failed with fatal error: \n ${error}"
+ "fatalError__i": "> Legendary parser failed with fatal error:\n ${error}"
+ }
+ },
+ "battleNetParser": {
+ "battleExeOverrideTitle": "Battle.net.exe Path Override",
+ "battleExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Battle.net\\Battle.net.exe",
+ "Darwin": "/path/to/Battle.net.app/Contents/MacOS/Battle.net",
+ "Linux": "/path/to/Battle.net"
+ },
+ "errors": {
+ "battleNotCompatible": "> Battle.net parser is only available on Windows.",
+ "fatalError__i": "> Battle.net parser failed with fatal error:\n ${error}"
}
},
"UWPParser": {
"UWPDirTitle": "XboxGames Directory Override",
- "UWPDirPlaceholder": "/path/to/XboxGames or /path/to/WindowsApps",
+ "UWPDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\XboxGames\\ or C:\\path\\to\\WindowsApps\\",
+ "Darwin": "/path/to/XboxGames/ or /path/to/WindowsApps/",
+ "Linux": "/path/to/XboxGames/ or /path/to/WindowsApps/"
+ },
"UWPLauncherModeTitle": "Launch game as UWP instead of launcher helper",
"errors": {
"fatalError__i": "> UWP parser is not compatible in this platform.",
- "UWPNotCompatible": "> UWP parser failed with fatal error:\n ${error}"
+ "UWPNotCompatible": "> UWP parser is only available on Windows."
}
},
"uplayParser": {
"uplayDirTitle": "Ubisoft Directory Override",
- "uplayDirPlaceholder": "/path/to/Ubisoft/",
+ "uplayDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Ubisoft\\",
+ "Darwin": "/path/to/Ubisoft/",
+ "Linux": "/path/to/Ubisoft/"
+ },
"launcherModeInputTitle": "Launch games via UPlay for online services",
"errors": {
"invalidManifestsOverride": "> Uplay Directory Override is not a valid directory.",
@@ -142,8 +187,14 @@
},
"gogParser": {
"galaxyExeOverrideTitle": "Galaxy Path Override",
- "galaxyExeOverridePlaceholder": "/path/to/GalaxyClient.exe",
+ "galaxyExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\GalaxyClient.exe",
+ "Darwin": "/path/to/GOG Galaxy.app/Contents/MacOS/GOG Galaxy",
+ "Linux": "/path/to/GalaxyClient"
+ },
"launcherModeInputTitle": "Launch games via GOG Galaxy",
+ "parseLinkedExecsTitle": "Parse linked executables from GOG Galaxy",
+ "parseRegistryEntries": "Parse using Registry instead of Galaxy DB",
"errors": {
"invalidGalaxyExeOverride": "> Galaxy Client Override is not a valid path.",
"fatalError__i": "> GOG Galaxy parser failed with fatal error:\n ${error}",
@@ -153,7 +204,11 @@
},
"amazonGamesParser": {
"exeOverrideTitle": "Amazon Games Path Override",
- "exeOverridePlaceholder": "/path/to/Amazon Games.exe",
+ "exeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Amazon Games.exe",
+ "Darwin": "/path/to/Amazon Games.app/Contents/MacOS/Amazon Games",
+ "Linux": "/path/to/Amazon Games"
+ },
"launcherModeInputTitle": "Launch games via Amazon Games",
"errors": {
"invalidExeOverride": "> Amazon Games Installation Override is not a valid directory.",
@@ -164,7 +219,11 @@
},
"itchIoParser": {
"itchIoAppDataOverrideTitle": "itch.io AppData Directory Override",
- "itchIoAppDataOverridePlaceholder": "/path/to/itch",
+ "itchIoAppDataOverridePlaceholder": {
+ "Windows_NT": "C:\\AppData\\itch\\",
+ "Darwin": "~/Library/Application Support/itch/",
+ "Linux": "~/.config/itch/"
+ },
"itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Windows-on-Linux Install Drive Redirect",
"itchIoWindowsOnLinuxInstallDriveRedirectPlaceholder": "/mnt/d/",
"errors": {
@@ -177,7 +236,11 @@
},
"eaDesktopParser": {
"eaGamesDirTitle": "EA Games Directory Override",
- "eaGamesDirPlaceholder": "/path/to/EA Games/",
+ "eaGamesDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\EA Games\\",
+ "Darwin": "/path/to/EA Games/",
+ "Linux": "/path/to/EA Games/"
+ },
"eaLauncherModeTitle": "Launch games via EA Desktop",
"errors": {
"fatalError__i": "> EA Desktop parser failed with fatal error:\n ${error}",
@@ -186,7 +249,7 @@
}
},
"globParser": {
- "inputTitle": "User's glob",
+ "inputTitle": "Search glob",
"inputPlaceholder": "${title}.@(iso|ISO)",
"errors": {
"noTitle__md": "> File glob must contain `${title}`!",
@@ -203,7 +266,7 @@
}
},
"globRegexParser": {
- "inputTitle": "User's glob-regex",
+ "inputTitle": "Search glob-regex",
"inputPlaceholder": "${/valid regex/}",
"errors": {
"noRegex__md": "> File glob must contain `${regex}` where **regex** is your regular expression!",
@@ -226,18 +289,22 @@
"stylesTitle": "Allowed grid styles",
"stylesHeroTitle": "Allowed hero styles",
"stylesLogoTitle": "Allowed logo styles",
- "stylesIconTitle": "Allowed icon styles"
+ "stylesIconTitle": "Allowed icon styles",
+ "sizesTitle": "Allowed banner dimensions",
+ "sizesHeroTitle": "Allowed hero dimensions",
+ "sizesTallTitle": "Allowed portrait dimensions",
+ "sizesIconTitle": "Allowed icon dimensions"
},
"logger": {
"component": {
"noMessages": "No messages are available",
- "error": "ERROR",
- "info": "INFO",
- "success": "SUCCESS",
- "fuzzy": "FUZZY",
- "textWrap": "TEXT-WRAP",
- "autoscroll": "AUTOSCROLL",
- "clearLog": "Clear log",
+ "error": "Error messages",
+ "info": "Info messages",
+ "success": "Success messages",
+ "fuzzy": "Fuzzy messages",
+ "textWrap": "Wrap text",
+ "autoscroll": "Autoscroll",
+ "clearLog": "Clear",
"issueDescription": "Thorough issue description with passable spelling.",
"handleExample": "CoolHandle#1234"
}
@@ -251,40 +318,42 @@
"corruptedVariables__i": "Saved custom variables are invalid!\r\nPermanent variable saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "Custom variables file has been downloaded."
+ "downloaded": "Custom variables file has been updated."
}
}
},
"configPresets": {
"service": {
"error": {
- "failedToDownload__i": "Failed to download configuration presets file. Status: ${error}.",
+ "failedToDownload__i": "Failed to download configuration presets file from commit ${commit}. Status: ${error}.",
"writingError": "Error occurred while saving configuration presets.",
"loadingError": "Error occurred while loading configuration presets.",
"corruptedVariables__i": "Saved configuration presets are invalid!\r\nPermanent file saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "New config presets have been downloaded."
+ "downloaded": "Community presets have been updated."
}
}
},
"settings": {
"component": {
"label": {
- "general": "General settings",
- "imageProviders": "Image provider settings",
- "fuzzy": "Fuzzy matcher settings",
- "environmentVariables": "Environment variable settings",
- "communityPresets": "Community variable/preset settings"
+ "general": "General",
+ "imageProviders": "Artwork Providers",
+ "fuzzy": "Fuzzy Matcher",
+ "environmentVariables": "Environment Variables",
+ "communityPresets": "Community Presets and Custom Variables"
},
"text": {
+ "autoUpdate": "Check for updates on start",
"offlineMode": "Offline mode",
- "removeApps_desc": "all added app entries and controllers",
+ "removeApps_desc": "all added games and controllers",
"removeApps_btn": "Remove",
- "preloadImages": "Preload retrieved images immediately",
+ "preloadImages": "Artwork loading strategy",
"fuzzy_verbose": "Log matching results",
- "fuzzy_filter": "Filter images",
+ "fuzzy_filter": "Filter artwork",
"enabledProviders": "Enabled image providers",
+ "dnsServers": "DNS manual override",
"selectLanguage": "Select language",
"selectTheme": "Select theme",
"resetFuzzy_desc": "fuzzy list",
@@ -292,28 +361,38 @@
"resetFuzzy_btn": "Reset",
"customVariables_desc": "custom variables",
"configPresets_desc": "config presets",
- "showSteamImages": "Show current Steam images by default",
+ "showSteamImages": "Show current Steam artwork by default",
"deleteDisabledShortcuts": "Remove shortcuts for disabled parsers",
"clearLogOnTest": "Automatically clear log before testing parsers",
- "configDir": "Open Config Directory"
+ "configDir": "Config Directory",
+ "steamDir": "Steam Directory"
},
"placeholder": {
"noProviders": "None",
- "steamDirectoryWin": "Typically C:\\Program Files (x86)\\Steam",
- "steamDirectoryMac": "Typically ~/Library/Application Support/Steam",
- "steamDirectoryLinux": "Typically /home/user/.steam/steam",
"userAccounts": "For example ${steamlogin}",
- "romsDirectoryWin": "For example D:\\ROMs",
- "romsDirectoryMac": "For example ~/ROMs",
- "romsDirectoryLinux": "For example ~/ROMs",
- "retroarchPathWin": "For example C:\\Path\\To\\retroarch.exe",
- "retroarchPathLinux": "For example /path/to/retroarch",
- "retroarchPathMac": "For example /path/to/retroarch",
- "raCoresDirectoryWin": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores",
- "raCoresDirectoryLinux": "Typically /lib/x86_64-linux-gnu/libretro/cores",
- "raCoresDirectoryMac": "Typically /Applications/Retroarch.app/Contents/Resources/cores",
- "localImagesDirectoryWin": "For example C:\\Path\\To\\LocalArtwork",
- "localImagesDirectoryUnix": "For example ~/path/to/localartwork"
+ "bySystem": {
+ "Windows_NT": {
+ "steamDirectory": "Typically C:\\Program Files (x86)\\Steam\\",
+ "romsDirectory": "For example D:\\ROMs\\",
+ "retroarchPath": "For example C:\\Path\\To\\Retroarch.exe",
+ "raCoresDirectory": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores\\",
+ "localImagesDirectory": "For example C:\\Path\\To\\LocalArtwork\\"
+ },
+ "Darwin": {
+ "steamDirectory": "Typically ~/Library/Application Support/Steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /Applications/Retroarch.app/Contents/Resources/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ },
+ "Linux": {
+ "steamDirectory": "Typically /home/user/.steam/steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /lib/x86_64-linux-gnu/libretro/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ }
+ }
}
},
"service": {
@@ -331,6 +410,7 @@
"component": {
"about": "About",
"preview": "Preview",
+ "view": "View Games",
"logger": "Log",
"settings": "Settings",
"parsers": "Create Parser",
@@ -352,6 +432,9 @@
"title": "User Exceptions",
"exclude": "Exclude Title",
"excludeArtwork": "Local Artwork Only"
+ },
+ "placeholder": {
+ "sortBy": "Sort By"
}
},
"service": {
@@ -366,8 +449,8 @@
"component": {
"buttons": {
"save": "Save",
- "copy": "Copy",
- "testParser": "Test parser",
+ "copy": "Clone",
+ "testParser": "Test",
"delete": "Delete",
"moveUp": "Move up",
"moveDown": "Move down",
@@ -381,23 +464,23 @@
"opSys__i": "Operating system is \"${os}\"",
"testCompleted": "Parser test is completed.",
"nothingWasFound": "Parser found nothing.",
- "copiedToClipboard": "Configuration copied to clipboard",
+ "copiedToClipboard": "Parser copied to clipboard",
"userExclusions": "User excluded:",
- "excludedFileInfo__i": "[${index}/${total}]: ${filename}",
+ "excludedFileInfo__i": "[${index}/${total}]: ${filename}\n Excluded by \"${exceptionKey}\"",
"removingControllers__i": "Removing controller templates for parser: ${configTitle}",
"fetchingControllerTemplates": "Fetching controller templates"
},
"error": {
"missingAccounts__i": "Following ${count} user account(s) were not found (user must to login to Steam at least once):",
"missingAccountInfo__i": " ${name}",
- "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials (\"Show advanced options -> User accounts -> Use account credentials\").\r\nIf you're seeing this, preview won't be generated for this configuration.",
+ "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials.\r\nIf you're seeing this, Add Games will skip this configuration.",
"cannotParseUserIDs": "Error parsing user accounts:",
"failedToMatch": "Failed to match:",
"failedFileInfo__i": "[${index}/${total}]: ${filename}",
"testFailed": "Testing failed",
"cannotTestInvalid": "Can not test invalid configuration!",
"cannotCopyInvalid": "Can not copy invalid configuration!",
- "failedToCopy": "Failed to copy to clipbard!",
+ "failedToCopy": "Failed to copy to clipboard!",
"cannotFetchTemplates": "Can not fetch controller templates for invalid steam directory!",
"errorRemovingControllers": "Error removing controllers:",
"cannotRemoveControllers": "Can not remove controllers from invalid steam directory!"
@@ -405,8 +488,8 @@
"success": {
"foundAccounts__i": "Found ${count} available user account(s):",
"foundAccountInfo__i": " ${name} (steamID64: ${steamID64}, accountID: ${accountID})",
- "steamCategory__i": "[${index}/${total}]: Steam categories - ${steamCategory}",
- "steamCategoryInfo__i": "[${index}/${total}]: ${steamCategory}",
+ "steamCategories__i": "[${index}/${total}]: Steam categories - ${steamCategories}",
+ "steamCategoriesInfo__i": "[${index}/${total}]: ${steamCategories}",
"exceptionKey__i": "[${index}/${total}]: Exception ID - ${appid}",
"appId__i": "[${index}/${total}]: Legacy App ID - ${appid}",
"shortAppId__i": "[${index}/${total}]: App ID - ${appid}",
@@ -416,20 +499,21 @@
"filePath__i": "[${index}/${total}]: File path - ${filePath}",
"startDir__i": "[${index}/${total}]: Start dir - ${startDir}",
"completeShortcut__i": "[${index}/${total}]: Complete shortcut - ${shortcut}",
- "firstImageQuery__i": "[${index}/${total}]: Image queries - ${query}",
+ "firstImageQuery__i": "[${index}/${total}]: Artwork queries - ${query}",
+ "imagePool__i": "[${index}/${total}]: Artwork pool - ${imagePool}",
"imageQueries__i": "[${index}/${total}]: ${query}",
"defaultImage__i": "[${index}/${total}]: Resolved fallback ${artworkType}:\r\n[${index}/${total}]: ${image}",
"resolvedDefaultImage__i": "[${index}/${total}]: Fallback ${artworkType}:",
- "localImages__i": "[${index}/${total}]: Resolved ${artworkType}:",
- "resolvedLocalImages__i": "[${index}/${total}]: ${artworkType} glob:",
+ "localImages__i": "[${index}/${total}]: Resolved local ${artworkType}:",
+ "resolvedLocalImages__i": "[${index}/${total}]: Local ${artworkType} glob:",
"indexInfo__i": "[${index}/${total}]: ${indexed}",
"removedControllers__i": "Succesfully removed controllers for parser: ${configTitle}",
"fetchedTemplates": "Fetched all controller templates"
},
"label": {
"parserType": "Parser type",
- "configTitle": "Configuration title",
- "steamCategory": "Steam category",
+ "configTitle": "Parser title",
+ "steamCategories": "Steam collections",
"executableModifier": "Executable modifier",
"executableLocation": "Executable",
"romDirectory": "ROMs directory",
@@ -440,33 +524,56 @@
"titleModifier": "Title modifier",
"fuzzyMatch": "Fuzzy matching",
"executableArgs": "Command line arguments",
- "onlineImageQueries": "Online image query",
- "imagePool": "Image pool",
- "imageProviders": "Image providers",
+ "onlineImageQueries": "Artwork provider search queries",
+ "imagePool": "Artwork pool",
+ "imageProviders": "Artwork providers",
"defaultImage__i": "Fallback ${artworkType}",
"localImages__i": "Local ${artworkType} glob"
},
"placeholder": {
"parserType": "Select parser...",
"configTitle": "My Awesome Parser",
- "steamCategory": "${cat1}${cat2}",
- "steamDirectory": "${steamdirglobal} or /path/to/steam",
- "userAccounts": "${steamuser1}${steamuser2} or ${${accountsglobal}}",
- "titleFromVariable": "${myvariable}",
+ "steamDirectory": {
+ "Windows_NT": "${steamdirglobal} or C:\\path\\to\\Steam\\",
+ "Darwin": "${steamdirglobal} or /path/to/Steam/",
+ "Linux": "${steamdirglobal} or /path/to/Steam/"
+ },
+ "titleFromVariable": "${variableGroup1}${variableGroup2}",
"titleModifier": "${fuzzyTitle} or ${title}",
- "defaultImage__i": "/path/to/fallback_${artworkType}.png",
- "localImages__i": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
- "romDirectory": "/path/to/games/",
+ "defaultImage__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\fallback_${artworkType}.png",
+ "Darwin": "/path/to/fallback_${artworkType}.png",
+ "Linux": "/path/to/fallback_${artworkType}"
+ },
+ "localImages__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\art\\\\${artworkType}\\\\\\${title}.@(png|jpg)",
+ "Darwin": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
+ "Linux": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)"
+ },
+ "onlineImageQueries": "${${fuzzyTitle}} or ${${title}}${${fuzzyTitle}}",
+ "imagePool": "${fuzzyTitle}",
+ "romDirectory": {
+ "Windows_NT": "C:\\path\\to\\games\\",
+ "Darwin": "/path/to/games/",
+ "Linux": "/path/to/games/"
+ },
"glob": "${title}.@(iso|ISO)",
- "executableLocation": "Example: /path/to/emulator.exe",
- "executableArgs": "--arg1 --arg2",
+ "executableLocation": {
+ "Windows_NT": "C:\\path\\to\\emulator.exe",
+ "Darwin": "/path/to/emulator.app",
+ "Linux": "/path/to/emulator"
+ },
+ "executableArgs": "--arg1 --arg2 --launch \"${filePath}\"",
"executableModifier": "\"${exePath}\"",
- "startInDirectory": "/path/to/start/in/dir",
+ "startInDirectory": {
+ "Windows_NT": "C:\\path\\to\\start-in-dir\\",
+ "Darwin": "/path/to/start-in-dir/",
+ "Linux": "/path/to/start-in-dir/"
+ },
"imageProviders": "None",
"multiAPIPlaceholder": "No Filter"
},
"text": {
- "tryToMatchTitle": "Enable Title from Custom Variable",
"skipFileIfVariableWasNotFound": "Skip file if variable was not found",
"caseInsensitiveVariables": "Case-insensitive variables",
"shortcut_passthrough": "Follow .lnk or .desktop to destination (Windows and Linux only)",
@@ -482,18 +589,18 @@
},
"service": {
"info": {
- "updatingConfigurations": "Updating user configurations with new fields"
+ "updatingConfigurations": "Updating user's parsers with new fields"
},
"error": {
- "savingConfiguration": "Error encountered while saving user configurations!",
- "readingConfiguration": "Error encountered while reading user configurations!",
+ "savingConfiguration": "Error encountered while saving user's parsers!",
+ "readingConfiguration": "Error encountered while loading user's parsers!",
"parserTypeMissing": "Cannot save without specifying parser type",
- "corruptedConfiguration__i": "One or more saved parser configurations are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
- "fetcingTemplates": "Error encountered while fetching controllers templates!"
+ "corruptedConfiguration__i": "One or more saved parsers are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
+ "fetchingTemplates": "Error encountered while fetching controllers templates!"
},
"validationErrors": {
"parserType__md": "> Incorrect parser type!",
- "configTitle__md": "> Configuration title is required!",
+ "configTitle__md": "> Parser title field cannot be blank!",
"parserId__md": "> Parser Id is missing, something is horribly wrong.",
"parserInput": {
"noInput": "No inputs are available!",
@@ -501,19 +608,15 @@
"incorrectParser": "Incorrect parser!"
},
"romDir__md": "> ROMs directory is invalid!",
- "userAccounts__md": "> Steam parser requires `User Accounts` field",
+ "userAccounts__md": "> User accounts field is required!",
"steamDir__md": "> Steam directory is invalid!",
"startInDir__md": "> \"Start In\" directory is invalid!",
"executable__md": "> Executable is invalid!",
- "imagePool__md": "> Image pool must not be empty!",
- "defaultImage__md": "> Default image is an invalid path!",
- "titleModifier__md": "> Title modifier must not be empty!",
- "executableModifier__md": "> Executable modifier must not be empty!",
- "variableString__md": "> Uneven number of `${` and `}` pairs. Use `\\` to escape `${` or `}` if you want to use them as characters.",
- "imageProviders__md": "> Incorrect image providers type!",
- "unhandledValidationKey__md": "> Input's validation is unhandled",
- "genericDir__md": "> Directory is invalid",
- "genericPath__md": "> Path is invalid"
+ "defaultImage__md": "> Fallback artwork is an invalid path!",
+ "variableString__md": "> Uneven number of `${` and `}` pairs! Use `\\` to escape `${` or `}` if you want to use them as characters.",
+ "unhandledValidationKey__md": "> Input's validation is unhandled!",
+ "genericDir__md": "> Directory is invalid!",
+ "genericPath__md": "> Path is invalid!"
},
"text": {
"noTitle": "No title!"
@@ -540,7 +643,7 @@
"error": {
"parserNotFound__i": "Parser \"${name}\" not found!",
"tooManyFieldGlobs__md": "> Only one `$(...)$` set is allowed per input.",
- "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** ir **Glob-regex** field.",
+ "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** in **Glob-regex** field.",
"noWinSlashes__md": "> Windows directory character `\\` is not allowed! Use `/` instead."
}
},
@@ -567,11 +670,11 @@
"error": {
"readingVdf__i": "Failed to read from \"${filePath}\".\n ${error}",
"writingVdf__i": "Failed to write to \"${filePath}\".\n ${error}",
- "skippingDMCA__i": "Skipping DMCA'd image for ${title}",
+ "skippingDMCA__i": "Skipping DMCA'd artwork for ${title}",
"corruptedVdf__i": "\"${filePath}\" is corrupted.\n ${error}",
"creatingBackup__i": "Could not create backup for \"${filePath}\".\n ${error}",
"unsupportedMimeType__i": "Mime type (${type}) is unsupported (title - \"${title}\").",
- "imageError__i": "Error occurred while saving/downloading image for \"${title}\". Url: ${url}.\n ${error}"
+ "imageError__i": "Error occurred while saving/downloading artwork for \"${title}\". Url: ${url}.\n ${error}"
}
},
"helpers": {
diff --git a/src/lang/pl-PL/markdown/UWP-parser-input.md b/src/lang/pl-PL/markdown/UWP-parser-input.md
index 1a3f20be1d..8c045eea77 100644
--- a/src/lang/pl-PL/markdown/UWP-parser-input.md
+++ b/src/lang/pl-PL/markdown/UWP-parser-input.md
@@ -1,4 +1,4 @@
-# Unique inputs for UWP Parser
+# UWP Parser Specific Inputs
## Games directory
@@ -8,4 +8,4 @@ Set it to `C:\Program Files\WindowsApps` to grab all UWP applications -- you'll
## Launch as UWP or from GameLaunchHelper.exe
-Gamepass games can be launched both ways, although UWP is preffered.
+Gamepass games can be launched both ways, although UWP is preferred.
diff --git a/src/lang/pl-PL/markdown/UWP-parser.md b/src/lang/pl-PL/markdown/UWP-parser.md
index bfb5a847f3..af4fee0f84 100644
--- a/src/lang/pl-PL/markdown/UWP-parser.md
+++ b/src/lang/pl-PL/markdown/UWP-parser.md
@@ -4,4 +4,4 @@ This parser imports `UWP` games in your Windows OS, having a games library path
## Compatibility
-This parser should only work on `Windows 10` and `Windows 11`.
\ No newline at end of file
+This parser should only work on `Windows 10` and `Windows 11`.
diff --git a/src/lang/pl-PL/markdown/about.md b/src/lang/pl-PL/markdown/about.md
index 7be859a40d..a36fb6ca24 100644
--- a/src/lang/pl-PL/markdown/about.md
+++ b/src/lang/pl-PL/markdown/about.md
@@ -1,22 +1,22 @@
## Informacje o systemie
-In case you're having trouble with SRM, feel free to visit the [discord](https://discord.gg/bnSVJrz) or the [subreddit](https://www.reddit.com/r/SteamRomManager/) and ask for our help. In order for us to help you, we would like you to provide this info:
+Jeśli masz problemy z SRM, możesz odwiedzić [discord](https://discord.gg/bnSVJrz) lub [subreddit](https://www.reddit.com/r/SteamRomManager/) i poprosić o naszą pomoc. Abyśmy mogli Ci pomóc, chcielibyśmy, abyś podał następujące informacje:
-* SRM version: **#{APP[version]}**
-* Operating System: **#{APP[os]}**
+* Wersja SRM: **#{APP[version]}** emudeckText
+* System operacyjny: **#{APP[os]}**
## Przydatne odnośniki
-* [SRM Releases](https://github.com/SteamGridDB/steam-rom-manager/releases)
-* [Discord Server](https://discord.gg/bnSVJrz)
+* [Wydania SRM](https://github.com/SteamGridDB/steam-rom-manager/releases)
+* [Serwer Discord](https://discord.gg/bnSVJrz)
* [r/SteamRomManager](https://www.reddit.com/r/SteamRomManager/)
-* [Steam Group](https://steamcommunity.com/groups/steamrommanager)
-* [Github Repo](https://github.com/SteamGridDB/steam-rom-manager)
-* [Crowdin Translation Project](https://crowdin.com/project/steam-rom-manager)
+* [Grupa na Steam](https://steamcommunity.com/groups/steamrommanager)
+* [Repozytorium na GitHub](https://github.com/SteamGridDB/steam-rom-manager)
+* [Projekt Tłumaczeń Crowdin](https://crowdin.com/project/steam-rom-manager)
## Pomoc techniczna
-Help support continued progress on Steam ROM Manager at:
+Wesprzyj ciągłe postępy w Steam ROM Manager na:
@@ -28,26 +28,27 @@ Help support continued progress on Steam ROM Manager at:
-## Contributions
-* `FrogTheFrog`{.noWrap} - Creator of SRM, no longer active on SRM but currently working on the [MoonDeck Plugin](https://github.com/FrogTheFrog/moondeck)
-
-### Current Maintainers
-* `lontanadascienza`{.noWrap} - Updated SRM to handle heroes, posters, logos, and icons. Added the exception manager, controller management, platform parsers (Epic, GOG, Steam, etc), among many other things. Squashes bugs almost as fast as he introduces them.
-* `Zennn`{.noWrap} - Added category support, langauge localization, and the bug report server among many other things. Big boss over at [SteamGridDB](https://www.steamgriddb.com/).
-* `KenCinder`{.noWrap} - Manages and creates community parser presets and helps user setup SRM in [Discord](https://discord.gg/bnSVJrz).
-
-### Feature Contributions
-* `dragoonDorise`{.noWrap} - Added new themes to SRM. Creator and current maintainer of [EmuDeck](https://www.emudeck.com/).
-* `alvaromunoz`{.noWrap} - Added Game Pass parser to SRM.
-* `lexarvn`{.noWrap} - Added the Amazon Games parser and the itch.io parser.
-* `CarJem`{.noWrap} - Added the manual parser.
-* `MattMckenzy`{.noWrap} - Added ability to import and export image choices.
-* `Apalatn`{.noWrap} - Added an install drive redirect option to the itch.io parser.
-* `OneMoreByte` - Made itch.io parser work on linux and mac.
-* `UndarkAido` - Added shortcut passthrough for Linux's .desktop shortcuts.
-
-### Community
-* `HE Spoke`{.noWrap} - created a community around SRM. Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups. Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
-* `livedeht`{.noWrap} - Helps users setup SRM with and without [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/).
-* `Choko`{.noWrap} - Helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
-* `Xav83`{.noWrap} - Creator and maintainer of SRM's [Chocolatey package](https://community.chocolatey.org/packages/steam-rom-manager)
+## Składki
+* `FrogTheFrog`{.noWrap} - Twórca SRM, nie jest już aktywny na SRM, ale aktualnie pracuje nad wtyczką [MoonDeck](https://github.com/FrogTheFrog/moondeck)
+
+### Bieżący Opiekun
+* `lontanadascienza`{.noWrap} - Zaktualizowano SRM do obsługi bohaterów, plakatów, logów i ikon. Dodano menedżera wyjątków, zarządzanie kontrolerem, analizatory platformy (Epic, GOG, Steam itp.), między innymi wiele innych rzeczy. Squashuje błędy prawie tak szybko, jak je wprowadza.
+* `Zennn`{.noWrap} - Dodano obsługę kategorii, lokalizację langauge i serwer raportów o błędzie wśród wielu innych rzeczy. Duży szef w [SteamGridDB](https://www.steamgriddb.com/).
+* `KenCinder`{.noWrap} - Zarządzaj i tworzy ustawienia parsera społeczności i pomaga użytkownikowi skonfigurować SRM w [Discord](https://discord.gg/bnSVJrz).
+
+### Wkłady funkcji
+* `dragoonDorise`{.noWrap} - Dodano nowe motywy do SRM. Twórca i aktualny opiekun [EmuDeck](https://www.emudeck.com/).
+* `alvaromunoz`{.noWrap} - Dodano analizator partii gry do SRM.
+* `lexarvn`{.noWrap} - Dodano parser gier Amazon i parser kuchni.
+* `CarJem`{.noWrap} - Dodano ręczny analizator.
+* `MattMckenzy`{.noWrap} - Dodano możliwość importowania i eksportowania obrazów.
+* `Apalatn`{.noWrap} - Dodano opcję przekierowania napędu instalacyjnego do analizatora itch.io.
+* `OneMoreByte`{.noWrap} - Wykonano parser itch.io na linux i mac.
+* `UndarkAido`{.noWrap} - Dodano skrót do skrótów .desktop Linuxa.
+* `HazardousBackup`{.noWrap} - Dodano opcję do parsera GOG aby przetworzyć rejestr zamiast DB GOG.
+
+### Społeczność
+* `HE Spoke`{.noWrap} - stworzył społeczność wokół SRM. Twórca grupy [Steam](https://steamcommunity.com/groups/steamrommanager) i [Discord](https://discord.gg/bnSVJrz). Pomaga również użytkownikom skonfigurować SRM w [Discord](https://discord.gg/bnSVJrz).
+* `livedeht`{.noWrap} - Pomaga użytkownikom skonfigurować SRM z i bez [EmuDeck](https://www.emudeck.com/). Obecny opiekun [EmuDeck](https://www.emudeck.com/).
+* `Choko`{.noWrap} - Pomaga użytkownikom skonfigurować SRM w [Discord](https://discord.gg/bnSVJrz).
+* `Xav83`{.noWrap} - Twórca i opiekun SRM [Pakiet Czekoladowy](https://community.chocolatey.org/packages/steam-rom-manager)
diff --git a/src/lang/pl-PL/markdown/amazon-games-parser-input.md b/src/lang/pl-PL/markdown/amazon-games-parser-input.md
index d40eb79982..5a348f0cae 100644
--- a/src/lang/pl-PL/markdown/amazon-games-parser-input.md
+++ b/src/lang/pl-PL/markdown/amazon-games-parser-input.md
@@ -1,4 +1,4 @@
-# Amazon Games Parser specific inputs
+# Amazon Games Parser Specific Inputs
## Amazon Games Path Override
By default Steam ROM Manager assumes your Amazon Games installation is located at `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`. This field allows you to override that path if your Amazon Games installation is elsewhere.
diff --git a/src/lang/pl-PL/markdown/amazon-games-parser.md b/src/lang/pl-PL/markdown/amazon-games-parser.md
index cdfda7c283..eb556fcc6e 100644
--- a/src/lang/pl-PL/markdown/amazon-games-parser.md
+++ b/src/lang/pl-PL/markdown/amazon-games-parser.md
@@ -1,3 +1,3 @@
# Amazon Games Parser
-This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/pl-PL/markdown/battle-net-parser-input.md b/src/lang/pl-PL/markdown/battle-net-parser-input.md
new file mode 100644
index 0000000000..1f03fae4a6
--- /dev/null
+++ b/src/lang/pl-PL/markdown/battle-net-parser-input.md
@@ -0,0 +1,5 @@
+# Battle.net Parser Specific Inputs
+
+## Battle.net.exe Path Override
+
+By default Steam ROM Manager assumes your `Battle.net` executable is located at `C:\Program Files (x86)\Battle.net\Battle.net.exe`. This field allows you to override that if your `Battle.net` is installed elsewhere.
diff --git a/src/lang/pl-PL/markdown/battle-net-parser.md b/src/lang/pl-PL/markdown/battle-net-parser.md
new file mode 100644
index 0000000000..c3ffb10b67
--- /dev/null
+++ b/src/lang/pl-PL/markdown/battle-net-parser.md
@@ -0,0 +1,5 @@
+# Battle.net Parser
+
+This parser imports games from the `Battle.net` app, so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Blizzard has altered the structure of their database files, in which case please let the developers of SRM know and we will resolve the issue.
+
+The `Battle.net` parser is somewhat special in that it uses a shell script at `${srmDir}/scripts/bnet.ps1` in order to launch `Battle.net`, wait an appropriate amount of time, and only then launch the actual title.
diff --git a/src/lang/pl-PL/markdown/config-title.md b/src/lang/pl-PL/markdown/config-title.md
index ed2eeef493..abadc31951 100644
--- a/src/lang/pl-PL/markdown/config-title.md
+++ b/src/lang/pl-PL/markdown/config-title.md
@@ -1,3 +1,5 @@
-# Configuration title
+# Parser title
-Title to save user configuration as. Does not have to be unique, but is required.
\ No newline at end of file
+Title of the parser. Does not have to be unique, but is required.
+
+This field will not affect what is added to `Steam` in any way.
diff --git a/src/lang/pl-PL/markdown/controller-templates.md b/src/lang/pl-PL/markdown/controller-templates.md
index 2de0fdf925..850ded9616 100644
--- a/src/lang/pl-PL/markdown/controller-templates.md
+++ b/src/lang/pl-PL/markdown/controller-templates.md
@@ -17,10 +17,10 @@ In the SRM parser:
Currently, SRM pulls all of the default (Valve made) templates for each controller as well as all of the user defined templates that end in `(SRM)`.
-* Select your templates and save the parser. The controller configsets will be applied once you hit `Save App List` in the preview.
+* Select your templates and save the parser. The controller configsets will be applied once you hit `Save to Steam` in the Add Games.
* To unset controller configs, you may either `Remove All Added App Entries` from global settings (this deletes all SRM made changes to your steam data) or hit `Unset All Controllers` in the parser (this only removes controller settings for the steam directory and user specified in that parser).
-Once this is done you can generate and save the preview as usual, and the template will be applied to all the titles in the parser.
+Once this is done you can parse and add games to steam as usual, and the templates will be applied to all the titles in the parser.
diff --git a/src/lang/pl-PL/markdown/default-image.md b/src/lang/pl-PL/markdown/default-image.md
index 47e3f9261e..7bf4e6413d 100644
--- a/src/lang/pl-PL/markdown/default-image.md
+++ b/src/lang/pl-PL/markdown/default-image.md
@@ -1,4 +1,4 @@
-# Default image (optional) `[supports variables]`{.noWrap}
+# Default image `[supports variables]`{.noWrap}
Allows one to use an image, stored locally, as a default/fallback image. A [special glob input](#special-glob-input) string is used to retrieve images. Only the first retrieved image is used.
diff --git a/src/lang/pl-PL/markdown/ea-desktop-parser-input.md b/src/lang/pl-PL/markdown/ea-desktop-parser-input.md
index 7990efb5b5..355ba68c8e 100644
--- a/src/lang/pl-PL/markdown/ea-desktop-parser-input.md
+++ b/src/lang/pl-PL/markdown/ea-desktop-parser-input.md
@@ -1,4 +1,4 @@
-# EA Desktop Parser specific inputs
+# EA Desktop Parser Specific Inputs
## EA Games Directory Override
By default Steam ROM Manager assumes your `EA Desktop` games are installed at ``C:\Program Files\EA Games\`. This field allows you to change that to wherever your games are installed, e.g.``D:\Games\EA Games`.
diff --git a/src/lang/pl-PL/markdown/epic-parser-input.md b/src/lang/pl-PL/markdown/epic-parser-input.md
index 32214f8a51..864269924c 100644
--- a/src/lang/pl-PL/markdown/epic-parser-input.md
+++ b/src/lang/pl-PL/markdown/epic-parser-input.md
@@ -1,4 +1,4 @@
-# Epic Games Store specific inputs
+# Epic Games Store Specific Inputs
## Manifests Directory Override
diff --git a/src/lang/pl-PL/markdown/executable-arguments.md b/src/lang/pl-PL/markdown/executable-arguments.md
index 8b5121722a..c19b665402 100644
--- a/src/lang/pl-PL/markdown/executable-arguments.md
+++ b/src/lang/pl-PL/markdown/executable-arguments.md
@@ -1,4 +1,4 @@
-# Command line arguments (optional) `[supports variables]`{.noWrap}
+# Command line arguments `[supports variables]`{.noWrap}
Arguments which are appended to executable to produce final shortcut. Most of the time you will want to set it using provided parser variables.
@@ -49,7 +49,7 @@ Arguments which are appended to executable to produce final shortcut. Most of th
### Nestopia (NES/Famicom)
```
-"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
+"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
```
### higan (NES/Famicom, SNES/Famicom, Gameboy, Gameboy Color, Gameboy Advance)
@@ -126,13 +126,13 @@ This setting is used to influence Steam's APP ID.
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -187,6 +187,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -196,7 +197,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/pl-PL/markdown/executable-location.md b/src/lang/pl-PL/markdown/executable-location.md
index 31168a5f47..595d33c379 100644
--- a/src/lang/pl-PL/markdown/executable-location.md
+++ b/src/lang/pl-PL/markdown/executable-location.md
@@ -1,4 +1,4 @@
-# Executable (optional) `[supports environment variables]`
+# Executable `[supports env variables]`
Path to emulator's executable. Can be a file or any valid system path.
@@ -6,6 +6,8 @@ Path to emulator's executable. Can be a file or any valid system path.
In some cases you might want to run game from a some kind batch file which will also automatically run the emulator itself. If that is the case, then providing executable is unnecessary.
+The final shortcut will just be `"${filePath}" --command-line-args`.
+
### So, how do I add files to Steam without default executable?
All files retrieved by a parser will be treated as executables instead.
diff --git a/src/lang/pl-PL/markdown/executable-modifier.md b/src/lang/pl-PL/markdown/executable-modifier.md
index c3c5739e86..2131f6964d 100644
--- a/src/lang/pl-PL/markdown/executable-modifier.md
+++ b/src/lang/pl-PL/markdown/executable-modifier.md
@@ -1,102 +1,23 @@
# Executable modifier `[supports variables]`{.noWrap}
-Default value is `"${exePath}"`{.noWrap}. This setting can be used to prepend or append desired characters to an executable which will be added to Steam (`Target` property). For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you can add `"cmd" /k start /min` to it by setting value to:
+Defaults to `"${exePath}"`{.noWrap} if unset. This field can be used to prepend or append desired characters to the executable which will be added to the Steam shortcut's `Target` property. For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you could start `Retroarch` minimized by setting the `Executable Modifier` "cmd" to:
+
```
"cmd" /k start /min "${exePath}"
```
-You can use any other variable to construct the final executable.
-
-This setting influences Steam's APP ID.
-
-
-## Shortcut Passthrough
-If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the target of that shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser.
-
-## Directory variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
-
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
-
-## Name variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------------------------------- |
-| `${exeName}` | Name of executable (without extension) |
-| `${fileName}` | Name of file which was returned by a parser (without extension) |
-
-In case executable directory input is left **empty**, `${exeName}`{.noWrap} is equal to `${fileName}`{.noWrap}.
-
-## Extension variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------------------- |
-| `${exeExt}` | Extension of executable (with a dot) |
-| `${fileExt}` | Extension of file which was returned by a parser (with a dot) |
-In case executable directory input is left **empty**, `${exeExt}`{.noWrap} is equal to `${fileExt}`{.noWrap}.
+In this case the `Target` property would begin with:
-## Path variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:-------------------------------------------------- |
-| `${exePath}` | Full path to an executable |
-| `${filePath}` | Full path to a file which was returned by a parser |
-
-In case executable directory input is left **empty**, `${exePath}`{.noWrap} is equal to `${filePath}`{.noWrap}.
-
-## Parser variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------ |
-| `${title}` | Extracted title |
-| `${fuzzyTitle}` | Fuzzy matched title |
-| `${finalTitle}` | Title which was the end result of title modifier |
-
-In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
+```
+"cmd" /k start /min "C:\RetroArch\retroarch.exe"
+```
-## Function variables
+followed by whatever launch arguments you choose in the `Command Line Arguments` field.
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+You can use any other variable to construct the final executable.
-### Function variable example
+This setting influences Steam's APP ID.
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
-```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
-```
-will be replaced with these:
-```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+## Shortcut Passthrough
---On linux:
-file.so
---On Windows:
-file.dll
---On Mac OS:
-file
-```
+If you enable `Follow .lnk/.desktop to destination` and the glob search finds a `.lnk` or `.desktop` file, ie a shortcut, then the `${filePath}` variable will contain the target of the shortcut rather than the path to the shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the `Command Line Arguments` field in the parser.
diff --git a/src/lang/pl-PL/markdown/glob-parser-input.md b/src/lang/pl-PL/markdown/glob-parser-input.md
index 4309cabc6d..4123719b71 100644
--- a/src/lang/pl-PL/markdown/glob-parser-input.md
+++ b/src/lang/pl-PL/markdown/glob-parser-input.md
@@ -1,4 +1,4 @@
-# Glob Parser specific inputs
+# Glob Parser Specific Inputs
## User's glob
diff --git a/src/lang/pl-PL/markdown/glob-regex-parser-input.md b/src/lang/pl-PL/markdown/glob-regex-parser-input.md
index 655a669cf4..4aff2effd8 100644
--- a/src/lang/pl-PL/markdown/glob-regex-parser-input.md
+++ b/src/lang/pl-PL/markdown/glob-regex-parser-input.md
@@ -1,4 +1,4 @@
-# Glob-regex Parser specific inputs
+# Glob-regex Parser Specific Inputs
## User's glob-regex
@@ -6,7 +6,7 @@ This is where you create your glob for extracting title from file path. Please r
## How does it work?
-In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
+In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
| User's glob | Położenie |
| --------------------- | --------------------------- |
diff --git a/src/lang/pl-PL/markdown/gog-parser-input.md b/src/lang/pl-PL/markdown/gog-parser-input.md
index 756fa3de77..bf185f2c23 100644
--- a/src/lang/pl-PL/markdown/gog-parser-input.md
+++ b/src/lang/pl-PL/markdown/gog-parser-input.md
@@ -1,10 +1,20 @@
-# Unique inputs for GOG Galaxy Parser
+# GOG Galaxy Parser Specific Inputs
## Galaxy Path Override
-By default Steam ROM Manager assumes your Galaxy Client is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe`. This field allows you to override that path if your GOG Galaxy installation is elsewhere.
-This field is actually only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of the Galaxy Client.
+By default Steam ROM Manager assumes your GOG Galaxy executable is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe` on Windows and `/Applications/GOG Galaxy.app/Contents/MacOS/GOG Galaxy` on Mac. This field allows you to override that path if your GOG Galaxy executable is elsewhere.
-## Launch Via GOG Galaxy `[Recommend disabled]`
+Specifying the correct location of GOG Galaxy's executable is only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of GOG Galaxy's executable.
-What it sounds like, this toggle let's you set whether games will launch via GOG Galaxy or directly. Note that for some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+## Launch via GOG Galaxy `[Recommend disabled]`
+
+What it sounds like, this toggle determines whether games launch via GOG Galaxy or directly. For some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+
+## Parse Linked Executables from GOG Galaxy
+
+If enabled, SRM will pull in not only GOG games aquired from GOG Galaxy's store, but also those you have manually linked executables for in GOG Galaxy. This is desirable if those games are not being parsed into SRM elsewhere.
+
+A caveat is that because GOG Galaxy does not store the names linked executables in its database, SRM will use the directory name of the executable on Windows (e.g. `C:\\path\\to\\Hoa\\LaunchHoa.exe` would be assigned the title `Hoa`) and the executable name on Mac (e.g. `/Applications/Symphonia.app` would be assigned the title `Symphonia`).
+
+## Parse using Registry instead of Galaxy DB `[Windows only] [Recommend disabled]`
+This option will parse the Windows Registry for installed GOG games instead of GOG Galaxy's SQL database, allowing the parser to work even if GOG Galaxy is not installed. If this is enabled, `Parse Linked Executables` will of have no effect, but `Launch via GOG Galaxy` will work as normal.
\ No newline at end of file
diff --git a/src/lang/pl-PL/markdown/image-pool.md b/src/lang/pl-PL/markdown/image-pool.md
index 8b54cf72d9..0b4e4a94fb 100644
--- a/src/lang/pl-PL/markdown/image-pool.md
+++ b/src/lang/pl-PL/markdown/image-pool.md
@@ -1,3 +1,5 @@
-# Image pool `[supports variables]`{.noWrap}
+# Artwork pool `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting is used to allow different apps share the same images -- same "image pool", or allow unique image pool per app. To use unique image pool per app just set it to something unique. For example `${fuzzyTitle} SNES`{.noWrap}.
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset.
+
+This field is used to allow games from different parsers to share the same images (i.e. the same "image pool") if they have the same title. If you want different parsers not to share images for games with the same title, just set this field to something unique, for example `${fuzzyTitle} SNES`{.noWrap} or `${fuzzyTitle} ${parserTitle}`{.noWrap}.
diff --git a/src/lang/pl-PL/markdown/image-providers.md b/src/lang/pl-PL/markdown/image-providers.md
index 0b778780c6..f70a9275f6 100644
--- a/src/lang/pl-PL/markdown/image-providers.md
+++ b/src/lang/pl-PL/markdown/image-providers.md
@@ -1,7 +1,7 @@
-# Image providers
+# Artwork providers
-Here you can select image providers that are used to retrieve images. This option is for this configuration only.
+Here you can select artwork providers (online sources of game art) that are used by SRM to get art for your games.
## Similar option in "Settings" menu
-Settings menu has "Enabled providers" which enable image providers globally -- if it's not enabled in Settings, it won't work.
+Settings menu has "Enabled providers" which enable artwork providers globally -- if it's not enabled in Settings, it won't work.
diff --git a/src/lang/pl-PL/markdown/intro.md b/src/lang/pl-PL/markdown/intro.md
index f8d5fcabda..a6d65c0059 100644
--- a/src/lang/pl-PL/markdown/intro.md
+++ b/src/lang/pl-PL/markdown/intro.md
@@ -8,8 +8,8 @@ Also, don't forget to check FAQ. If you still got questions about setting up con
After saving parser configuration, **1** of **3** colors will be shown next to its title:
- -- Enabled configuration. This configuration will be used when generating a list in **preview** page.
+ -- Enabled configuration. This configuration will be used when generating a list in **Add Games** page.
- -- Unsaved changes. This configuration will not be used when generating a list in **preview** page, however earlier **saved** version will be used instead.
+ -- Unsaved changes. This configuration will not be used when generating a list in **Add Games** page, however earlier **saved** version will be used instead.
- -- Disabled configuration. This configuration will not be used when generating a list in **preview** page.
\ No newline at end of file
+ -- Disabled configuration. This configuration will not be used when generating a list in **Add Games** page.
\ No newline at end of file
diff --git a/src/lang/pl-PL/markdown/itch-io-parser-input.md b/src/lang/pl-PL/markdown/itch-io-parser-input.md
index 4b0057c170..ffa409af96 100644
--- a/src/lang/pl-PL/markdown/itch-io-parser-input.md
+++ b/src/lang/pl-PL/markdown/itch-io-parser-input.md
@@ -1,4 +1,4 @@
-# itch.io Parser specific inputs
+# itch.io Parser Specific Inputs
## itch.io AppData Path Override
By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere.
diff --git a/src/lang/pl-PL/markdown/itch-io-parser.md b/src/lang/pl-PL/markdown/itch-io-parser.md
index 7f29ffc42d..accb8b5ad2 100644
--- a/src/lang/pl-PL/markdown/itch-io-parser.md
+++ b/src/lang/pl-PL/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
# itch.io Parser
-This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/pl-PL/markdown/legendary-parser-input.md b/src/lang/pl-PL/markdown/legendary-parser-input.md
index 80ca0bcbbc..4a826e43da 100644
--- a/src/lang/pl-PL/markdown/legendary-parser-input.md
+++ b/src/lang/pl-PL/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
-# Legendary Parser specific inputs
+# Legendary Parser Specific Inputs
+
+## Legendary Path Override
+
+By default Steam ROM Manager uses `(Get-Command legendary).Path` on Windows and `which legendary` on Linux and Mac to determine the location of your Legendary executable. This field allows you to override that path.
+
+Specifying the correct location of the Legendary executable is only necessary if you enable launch via Legendary (see below), as otherwise SRM has no need of the location of Legendary's executable.
## Legendary `installed.json` Path Override
Most users shouldn't use this, as they use the standard `Legendary` installation where installed games manifest will be located at `~/.config/legendary/installed.json`.
If, however, for some reason your installed games manifest is located in a non-typical location then you can specify the correct manifest path here.
+
+## Launch via Legendary `[Recommend enabled]`
+
+What it sounds like, this toggle determines whether games launch via Legendary or directly. Launching via Legendary provides access to Epic's online services.
diff --git a/src/lang/pl-PL/markdown/local-images.md b/src/lang/pl-PL/markdown/local-images.md
index cff60e5674..5da2e5ae4c 100644
--- a/src/lang/pl-PL/markdown/local-images.md
+++ b/src/lang/pl-PL/markdown/local-images.md
@@ -1,4 +1,4 @@
-# Local images (optional) `[supports variables]`{.noWrap}
+# Local images `[supports variables]`{.noWrap}
Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
diff --git a/src/lang/pl-PL/markdown/manual-parser-input.md b/src/lang/pl-PL/markdown/manual-parser-input.md
index bc1848d45a..65265ebd32 100644
--- a/src/lang/pl-PL/markdown/manual-parser-input.md
+++ b/src/lang/pl-PL/markdown/manual-parser-input.md
@@ -1,4 +1,4 @@
-# Manual Parser specific inputs
+# Manual Parser Specific Inputs
## Manifests Directory `[Supports Environment Variables]`{.noWrap}
@@ -17,7 +17,8 @@ The names of the files do not matter. What does matter is that each `manifest.js
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args",
+ "appendArgsToExecutable": false
}
```
Or a list of titles, like so:
@@ -27,15 +28,19 @@ Or a list of titles, like so:
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args".
+ "appendArgsToExecutable": true
},
{
"title": "gameTitle2",
"target": "game2/path/target.sh",
"startIn": "game2/path",
- "launchOptions": "--args2"
+ "launchOptions": "--args2",
+ "appendArgsToExecutable": false
}
]
```
A typical use case would be to use a single json file per game type, or per year, etc.
+
+Just like for ROM parsers, `appendArgsToExecutable` determines whether `launchOptions` are appended to the shortcut `target` or appear separately as launch options in steam.
diff --git a/src/lang/pl-PL/markdown/non-srm-shortcuts-parser.md b/src/lang/pl-PL/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..4485008a1a
--- /dev/null
+++ b/src/lang/pl-PL/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,29 @@
+# Non-SRM Shortcut Parser
+
+This parser imports non SRM steam shortcuts into SRM so their artowrk can be managed. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
+
+## User accounts
+
+Used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
+
+```
+${...}
+```
+
+You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
+
+ {.fitImage .center}
+
+For example, this is how you specify account for "Banana" and "Apple":
+
+```
+${Banana}${Apple}
+```
+
+You can also limit accounts by specifying their ids directly. For example:
+
+```
+${56489124}${21987424}
+```
+
+Would limit the search to `steam/userdata/56489124` and `steam/userdata/21987424`.
diff --git a/src/lang/pl-PL/markdown/parser-env-variables.md b/src/lang/pl-PL/markdown/parser-env-variables.md
index 3b186a70f7..e95baf9137 100644
--- a/src/lang/pl-PL/markdown/parser-env-variables.md
+++ b/src/lang/pl-PL/markdown/parser-env-variables.md
@@ -13,3 +13,5 @@ These variables are pre parsed and can be used even in the Rom Directory, Steam
The utility of the environment variable `${srmdir}` is to make SRM fully portable, eg if you wanted to have the directory layout `D:\Games\Roms` and `D:\Games\PortableSRM\SRM.exe` then setting the field Roms Directory to be `${srmdir}${/}..${/}Roms` would allow you to move the Games directory somewhere else without breaking your setup.
+
+Function variables can also be used in fields that permit environment variables (e.g. `${os:win|C:\path\to\startdir|${os:linux|/path/to/startdir}}`)
diff --git a/src/lang/pl-PL/markdown/parser-variables.md b/src/lang/pl-PL/markdown/parser-variables.md
index 7e9eb636ff..7c164a55bc 100644
--- a/src/lang/pl-PL/markdown/parser-variables.md
+++ b/src/lang/pl-PL/markdown/parser-variables.md
@@ -4,13 +4,13 @@ Here are tables of variables that can be used with options that have `[supports
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -48,6 +48,7 @@ In case executable directory input is left **empty**, `${exePath}`{.noWrap} is e
| `${title}` | Extracted title |
| `${fuzzyTitle}` | Fuzzy matched title |
| `${finalTitle}` | Title which was the end result of title modifier |
+| `${parserTitle}` | The value of the `Parser Title` field |
In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
@@ -65,6 +66,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -74,7 +76,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/pl-PL/markdown/parsers-list.md b/src/lang/pl-PL/markdown/parsers-list.md
index 1e5e43f80f..6ab3846611 100644
--- a/src/lang/pl-PL/markdown/parsers-list.md
+++ b/src/lang/pl-PL/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# Parsers
-In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**
diff --git a/src/lang/pl-PL/markdown/rom-directory.md b/src/lang/pl-PL/markdown/rom-directory.md
index 555452224f..5b15d2e2b7 100644
--- a/src/lang/pl-PL/markdown/rom-directory.md
+++ b/src/lang/pl-PL/markdown/rom-directory.md
@@ -1,3 +1,3 @@
-# ROMs directory `[supports environment variables]`
+# ROMs directory `[supports env variables]`
Starting directory for game or app files.
diff --git a/src/lang/pl-PL/markdown/settings.md b/src/lang/pl-PL/markdown/settings.md
index c35d49e806..dd35c64609 100644
--- a/src/lang/pl-PL/markdown/settings.md
+++ b/src/lang/pl-PL/markdown/settings.md
@@ -1,31 +1,51 @@
## General Settings
+### Check for updates on start `[Recommend enabled]`
+Check if an update for SRM is available and prompt to update each time SRM launches.
+### Auto kill Steam `[Recommend enabled]`
+SRM will attempt to kill all running instances of Steam whenever it needs to read/write collections information (specifically when saving to steam from `Add Games` and when removing all games from `Settings`).
+### Auto restart Steam `[Recommend enabled]`
+SRM will attempt to restart Steam after killing it and completing whatever collections related task required killing Steam in the first place. Requires `Auto kill Steam` to be enabled.
### Offline mode `[Recommend disabled]`
-
When enabled SRM makes no network requests, useful if you only want to use SRM for local images.
### Automatically clear log before testing parsers `[Recommend enabled]`
When enabled the log is cleared each time a parser is tested.
+## Add Games
### Show current steam images by default `[Recommend enabled]`
When enabled this setting tells SRM to default to whatever artwork is currently in steam for a given app. If it is disabled, then every time SRM is run (and saved) all artwork will be reset.
### Remove shortcuts for disabled parsers `[Recommend disabled]`
When enabled disabling a parser and running SRM will remove all added entries and artwork for the disabled parser. Useful if you want your steam library to be in 1-1 correspondence with enabled parsers.
-
+### Disable saving of steam categories `[Recommend disabled]`
+SRM will not write any collections information when saving to Steam. This allows SRM to perform its tasks while Steam is still running, at the obvious cost that added games will not be categorized.
+### Hide Steam username from Add Games
+Steam does not allow user's to alter their Steam usernames. In some cases (childish names, dead names, etc), users may no longer wish to see their Steam usernames. This setting hides it from `Add Games`.
+### Remove all added games and controllers
+Undo all SRM added changes from Steam.
+### Remove all controllers only
+Undo all SRM added controller settings from Steam.
## Fuzzy Matcher Settings
### Log matching results `[Recommend disabled]`
When enabled more verbose logs appear for the fuzzy title matcher in the `Event log`. Useful for debugging incorrect fuzzy matches.
-
### Reset fuzzy list
Resets the stored list of titles used for fuzzy matching to the list of titles returned by `SteamGridDB` (removes any user added titles).
### Reset fuzzy cache
Clears the cache of titles that fuzzy matching has already seen (try this if changes you make to fuzzy list are not resulting in changes to titles in SRM).
-
## Image provider settings
-### Preload retrieved images `[Recommend disabled]`
-When enabled, SRM will pull all available artwork for every game, rather than pulling one piece of artwork at a time as the user flips through the images. Don't enable this unless you have a good reason and a very small library of games, otherwise it could result in very large (slow) network requests.
+### Artwork loading strategy `[Recommend Load artwork lazily]`
+This is the strategy SRM uses to pull artwork thumbnails for the `Add Games` UI. If you are parsing a lot of games, `Load artwork lazily` is recommended. `Preload first artwork` will try to pull the first piece of artwork for each game in each artwork category, and `Preload all artwork` will try to pull all available artwork for each game in each artwork category. `Preload all artwork` will cause network and performance issues unless the number of games is quite small (less than `30` or so).
### Enabled providers
-Global setting to disable certain providers. Currently the only image provider is `SteamGridDB` since ConsoleGrid and RetroGaming.cloud are defunct.
-
+Global setting to enable/disable particular image providers. Current options are `SteamGridDB` and `Steam Official`.
+### DNS manual override
+Set this if you want SRM to do DNS resolution internally, as opposed to relying on your system's default DNS server. This solves many timeout issues on the Steam Deck.
+### Batch size for image downloads
+Number of images SRM will attempt to download at once when saving to Steam. May help to lower this if you are receiving timeout errors from SGDB.
+### Nuke artwork choice cache
+SRM attempts to remember your artwork choices, this button forcibly forgets all of them.
+### Nuke local artwork backups
+This deletes all artwork backups created for parsers with `Backup artwork locally` enabled.
## Community Variables and Presets
### Force download custom variables.
Resets the custom variables JSON file that is used for certain presets to whatever its current state is on the SRM github. Useful if the custom variables JSON file has been corrupted.
### Force download custom presets.
Resets the JSON files for parser presets to whatever is on the SRM github. Useful if your presets list is not automatically updating for some reason, or has become corrupted.
+### Force download shell scripts
+Re fetches the shell scripts SRM uses to perform certain tasks.
diff --git a/src/lang/pl-PL/markdown/sgdb-api-input.md b/src/lang/pl-PL/markdown/sgdb-api-input.md
index 553f4fda77..7651927a64 100644
--- a/src/lang/pl-PL/markdown/sgdb-api-input.md
+++ b/src/lang/pl-PL/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
This set of options are direct inputs into the APIs of image providers, for example SteamGridDB's [API](https://www.steamgriddb.com/api/v2).
-An interesting quirk of these settings is that re-generating the preview (hitting the `Generate App List` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove App List` button in preview before hitting `Generate App List`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the preview with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
+An interesting quirk of these settings is that re-generating the game list in Add Games (hitting the `Refresh` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove from Steam` button in Add Games before hitting `Refresh`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the game list with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
## SteamGridDB
diff --git a/src/lang/pl-PL/markdown/start-in-directory.md b/src/lang/pl-PL/markdown/start-in-directory.md
index 86cf962c23..df84a987d5 100644
--- a/src/lang/pl-PL/markdown/start-in-directory.md
+++ b/src/lang/pl-PL/markdown/start-in-directory.md
@@ -1,6 +1,6 @@
-# "Start In" directory (optional) `[supports environment variables]`{.noWrap}
+# "Start In" directory `[supports env variables]`
-By default "Start In" directory is set to executable's directory:
+If `"Start In" Directory` is unset it defaults to the executable's directory. If not executable is set, it defaults to the directory of the ${filePath} variable:
 {.fitImage.center}
@@ -11,4 +11,5 @@ This option allows you to specify any directory you want as a "Start In" directo
It is useful when you're using batch files to start emulator and a game, but emulator requires a specific "Start In" directory to work properly.
## Shortcut Passthrough
+
If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the directory of the target of that shortcut. In the future, it will be overridden with the start in directory of that shortcut.
diff --git a/src/lang/pl-PL/markdown/steam-category.md b/src/lang/pl-PL/markdown/steam-category.md
index 079073dab9..677ea3d0ef 100644
--- a/src/lang/pl-PL/markdown/steam-category.md
+++ b/src/lang/pl-PL/markdown/steam-category.md
@@ -1,21 +1,13 @@
-# Steam category (optional) `[supports variables]`{.noWrap}
+# Steam category`{.noWrap}
+
+Hit the little plus sign to add your first category.
-Also known as "tags", can be used to group apps in Steam. In order to set Steam category, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify categories for "WII" and "GBA" (paired with "ROMS") category:
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
This how "WII" category will look like in Steam:

## Emojis and non-Standard Unicode Characters
+
Please not that this field works just fine with emojis like `🎮` work just fine in category names.
You can find a list of them here: [https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/pl-PL/markdown/steam-directory.md b/src/lang/pl-PL/markdown/steam-directory.md
index b15010e819..bb82bc6a97 100644
--- a/src/lang/pl-PL/markdown/steam-directory.md
+++ b/src/lang/pl-PL/markdown/steam-directory.md
@@ -1,4 +1,4 @@
-# Steam directory `[supports environment variables]`{.noWrap}
+# Steam directory `[supports env variables]`
Must be a valid Steam directory which contains Steam executable. In order for Steam account to be detected, user must have logged in at least once.
diff --git a/src/lang/pl-PL/markdown/steam-parser-input.md b/src/lang/pl-PL/markdown/steam-parser-input.md
index 75f21d380d..1174b71b64 100644
--- a/src/lang/pl-PL/markdown/steam-parser-input.md
+++ b/src/lang/pl-PL/markdown/steam-parser-input.md
@@ -1,4 +1,4 @@
-# Steam Parser specific inputs
+# Steam Parser Specific Inputs
## Find artwork for games only
If enabled SRM will filter out any Steam applications that are not full games, such as demos and tools like `3DMark` or `Wallpaper Engine`.
diff --git a/src/lang/pl-PL/markdown/steam-parser.md b/src/lang/pl-PL/markdown/steam-parser.md
index b158f676a8..5b93d8bc77 100644
--- a/src/lang/pl-PL/markdown/steam-parser.md
+++ b/src/lang/pl-PL/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Steam parser
-This parser imports steam games into SRM. It does not add shortcuts, but it allows you to set the artwork for your steam games. By default the parser will get games from all user accounts in the steam directory specified — if you would prefer to only get the games for a subset of the accounts then specify them in the `User accounts` field.
-
-## Limitations
-Unfortunately for the time being this parser only works for steam games **that are in at least one category**. The reason for this is that Steam only stores your full list of games locally if they are categorized. Sometimes, for unknown reasons, games will be stored locally regardless and the parser will work, but to be safe the easiest thing to do is just **create a Steam Category** that has all of your Steam games in it.
-
-## User accounts (Optional)
-
-Can be used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
-```
-${...}
-```
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
-
- {.fitImage.center}
-
-For example, this is how you specify account for "Banana" and "Apple":
-
-```
-${Banana}${Apple}
-```
-
-In case the [use account credentials](#what-does-use-account-credentials-do) is disabled, you can still limit accounts by specifying their ids directly:
-
-```
-${56489124}${21987424}
-```
-
-## What does "Skip found accounts with missing data directories" do?
-
-Sometimes Steam's file that contains logins, may contain users that do not have data directory created (might have been manually deleted, etc.). You can specify to skip those accounts by enabling this option.
-
-## What does "Use account credentials" do?
-
-Tries to look for account credentials in Steam directory. In other words -- username. Username then can be used to filter accounts without actually having to know their ids.
-
-### Warning!
-
-If Steam has credential saving disabled, this option will prevent finding user accounts.
+This parser imports steam games into SRM so you can manage their artwork. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
\ No newline at end of file
diff --git a/src/lang/pl-PL/markdown/title-from-variable.md b/src/lang/pl-PL/markdown/title-from-variable.md
index bb6e4a52a2..6aa467e98c 100644
--- a/src/lang/pl-PL/markdown/title-from-variable.md
+++ b/src/lang/pl-PL/markdown/title-from-variable.md
@@ -1,43 +1,40 @@
-# Title from custom variable (optional)
+# Title from custom variable
-Allows to overwrite extracted title with a custom variable. This is done right after title extraction, meaning that the replaced title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+Allows one to overwrite the extracted title with a custom variable, pulled from the `json` files described below. This happens right after title extraction, meaning that the new title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+
+Title matching is limited to specific groups of custom variables. For example, this is how you specify groups "FBN" and "PSN":
-Title matching can be limited to specific groups of custom variables. In order to specify groups, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify groups for "RPCS3" and "rpcs3":
```
-${RPCS3}${rpcs3}
+${RPCS3}${PSN}
```
-Make sure you **toggle enable to on**.
-
-
-## Case-insensitive option
-
-If this option is enabled, case-insensitive matching will be done and first matched custom variable will be used.
-
-## Note. This feature is **experimental**
+# How it works
-Basically, it might change in the future release (very unlikelly). Furthermore, currently the only way to add variables is to create/edit `customVariables.json` used by SRM directly.
+There are two variable files, `customVariables.json` which is maintained by SRM (don't change this one, your changes will be overwritten every time SRM restarts) and `userVariables.json` which is where you should put your own variables. Both files are located in SRM's `Config Directory`.
-This file is/shoud be located in SRM's `userData` directory.
-
-SRM will throw error unless the following JSON structure is used:
+Both `customVariables.json` and `userVariables.json` have the same JSON structure. SRM will throw an error unless the following JSON structure is used:
```
{
- "RPCS3": {
+ "Group1": {
"NPUB30698": "Catherine",
"NPUB30024": "1942: Joint Strike",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
+ "Group2": {
+ "The Legend Of Zelda": "The Legend Of Link",
+ ...
},
...
}
```
-Then if your user glob were `MyDir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `MyDir`, you would set the title from custom variable field to `${Custom Stuff}` to obtain a final title of "The Legend of Link".
+Then if your user glob were `romsdir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `romsdir`, you would set the title from custom variable field to `${Group2}` to obtain a title of "The Legend of Link".
+
+## Case-insensitive variables
+
+If enabled, case-insensitive matching will be done and first matched custom variable will be used.
+
+## Skip file if variable not found
+
+If enabled, titles that don't match a variable will be excluded.
diff --git a/src/lang/pl-PL/markdown/title-modifier.md b/src/lang/pl-PL/markdown/title-modifier.md
index 791e000e27..4ecb2d02db 100644
--- a/src/lang/pl-PL/markdown/title-modifier.md
+++ b/src/lang/pl-PL/markdown/title-modifier.md
@@ -1,9 +1,11 @@
# Title modifier `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting can be used to prepend or append desired characters to a title which will be added to Steam. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset. This setting can be used to prepend or append desired characters to a Steam shortcut's `Title`. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+
```
${fuzzyTitle} (1.7.5)
```
+
You can use `${title}`{.noWrap} or any other variable to construct the final title.
This setting influences Steam's APP ID.
diff --git a/src/lang/pl-PL/markdown/uplay-parser-input.md b/src/lang/pl-PL/markdown/uplay-parser-input.md
index f40bbcd928..3a54e84b1a 100644
--- a/src/lang/pl-PL/markdown/uplay-parser-input.md
+++ b/src/lang/pl-PL/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# Unique inputs for UPlay Parser
+# UPlay Parser Specific Inputs
+
## Ubisoft Directory Override
By default Steam ROM Manager assumes your UPlay install is located in `C:\Program Files (x86)\Ubisoft`. This field allows you to override that path if your UPlay installation is elsewhere.
## Launch Via UPlay `[Recommend disabled]`
-
What it sounds like, this toggle let's you set whether games will launch via UPlay or directly from the game's executable.
For UPlay this doesn't matter too much as UPlay games will automatically launch UPlay in the background even when launched from the executable. Steam Overlay will not work when `Launch via UPlay` is enabled, whereas both Steam and Ubisoft overlays work when `Launch via UPlay` is disabled.
diff --git a/src/lang/pl-PL/markdown/user-accounts.md b/src/lang/pl-PL/markdown/user-accounts.md
index 99e4ea0bee..c0101b5f74 100644
--- a/src/lang/pl-PL/markdown/user-accounts.md
+++ b/src/lang/pl-PL/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# User accounts (Optional)
+# User accounts
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
-
-`${...}`
-
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either:
-
-* The account id is the name of the account directory that appears in `/path/to/steam/userdata`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
+This field is used to limit SRM's effects to specific user accounts. It can be set to `Global` or over ridden per parser.
## Warning
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and `Choose Accounts` will only be able to pull your `Steam IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Settings` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
diff --git a/src/lang/pl-PL/markdown/user-exceptions.md b/src/lang/pl-PL/markdown/user-exceptions.md
index a53dd0d6d9..a6e47de497 100644
--- a/src/lang/pl-PL/markdown/user-exceptions.md
+++ b/src/lang/pl-PL/markdown/user-exceptions.md
@@ -12,7 +12,7 @@ The `Extracted Title` field matches in two ways:
Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`.
-Exceptions generated from `Preview` will always be in the form `Extracted Title ${id:XXXXXX}`.
+Exceptions generated from `Add Games` will always be in the form `Extracted Title ${id:XXXXXX}`.
## New Display Title
diff --git a/src/lang/pt-BR/langStrings.json b/src/lang/pt-BR/langStrings.json
index 41f4be2dbb..f98b1462ea 100644
--- a/src/lang/pt-BR/langStrings.json
+++ b/src/lang/pt-BR/langStrings.json
@@ -1,8 +1,8 @@
{
"preview": {
"component": {
- "filter": "Search for game",
- "selectType": "Artwork Type",
+ "filter": "Buscar por um jogo",
+ "selectType": "Tipo de Artwork",
"selectCategories": "Steam Category",
"selectParsers": "Parser Title",
"selectTypeOptions": {
@@ -14,19 +14,19 @@
"games": "Toda a arte"
},
"by": "por",
- "refreshImages": "Atualizar imagens",
- "saveImage": "Salvar imagem no arquivo",
- "addLocalImages": "Adicionar imagens locais",
- "retryDownload": "Repetir download",
- "generateAppList": "Parse",
- "saveAppList": "Save to Steam",
- "removeAppList": "Remove from Steam",
- "remainingImages": "Retrieving urls:",
- "stopUrlRetrieving": "Stop",
- "exportSelections": "Export",
- "importSelections": "Import",
- "backButton": "Back",
- "logButton": "Log"
+ "refreshImages": "Atualizar a arte",
+ "saveImage": "Salvar a arte como arquivo",
+ "addLocalImages": "Adicionar uma arte local",
+ "retryDownload": "Repetir o download da arte",
+ "generateAppList": "Recarregar",
+ "saveAppList": "Salvar na Steam",
+ "removeAppList": "Remover da Steam",
+ "remainingImages": "Recuperando urls:",
+ "stopUrlRetrieving": "Parar",
+ "exportSelections": "Exportar arte",
+ "importSelections": "Importar arte",
+ "backButton": "Voltar",
+ "logButton": "Registro"
},
"service": {
"info": {
@@ -39,53 +39,53 @@
"readingVDF_Files": "Lendo arquivos VDF.",
"mergingVDF_entries": "Mesclando entradas VDF.",
"removingVDF_entries": "Removendo referências e arquivos de imagem do VDF.",
- "savingCategories": "Saving category information to localconfig.vdf.",
- "savingControllers": "Saving controller information.",
+ "savingCategories": "Salvando informações de categoria em localconfig.vdf.",
+ "savingControllers": "Salvando informações do controle.",
"removingFromCategories": "Removendo todas as informações da categoria adicionada",
"writingVDF_entries__i": "Writing VDF files and downloading high res images in batches of ${batchSize}.",
"updatingKnownSteamDirList": "Atualizando uma lista dos diretórios Steam conhecidos.",
- "retryingDownload__i": "Tentando baixar a imagem de \"${imageUrl}\" para \"${appTitle}\".",
+ "retryingDownload__i": "Retentando o download da arte de \"${imageUrl}\" para \"${appTitle}\".",
"disabledConfigurations__i": "${count} configuração(ões) de usuário foi/foram ignoradas (desabilitadas pelo usuário).",
"invalidConfigurations__i": "${count} configuração(ões) de usuário foi/foram ignoradas (inválidas).",
"executingParsers": "Executando analisadores.",
- "shutdownSteam": "Por favor, desligue o Steam se ele estiver em execução.",
+ "shutdownSteam": "Se a Steam estiver rodando, saia da Steam.",
"noParserConfigurations": "Por favor, crie a configuração do analisador no menu \"Analisadores\" primeiro.",
"parserFoundNoFiles": "Analisador(es) não foram encontrados arquivos correspondentes à configuração do usuário.",
- "allImagesRetrieved": "Todas as urls de imagem disponíveis foram recuperadas.",
+ "allImagesRetrieved": "Todas as urls das artes disponíveis recuperadas.",
"providerTimeout__i": "Tempo limite foi solicitado por \"${provider}\" por ${time} segundo(s).",
"noAccountsWarning": "Contas de usuário não encontradas. Diretório Steam incorreto?",
"preparingExport": "Preparando exportação de opções de imagem.",
- "exportProgress__i": "Salvando opções de imagem ${progress}.",
- "readingSelections": "Aplicando opções de imagens importadas."
+ "exportProgress__i": "",
+ "readingSelections": ""
},
"errors": {
- "fatalError": "Ocorreu um erro fatal na pré-visualização. Consulte o log de eventos para obter detalhes.",
- "fatalError__i": "Erro fatal de visualização ${error}",
+ "fatalError": "Ocorreu um erro fatal ao Adicionar os Jogos. Consulte o log de eventos para obter detalhes.",
+ "fatalError__i": "Erro fatal ao adicionar jogos: ${error}",
"knownSteamDirListIsEmpty": "Uma lista dos diretórios conhecidos da Steam está vazia.",
"steamIsRunning": "Não é possível fazer alterações enquanto o Steam está sendo executado!",
"categorySaveError": "Erro ao atualizar categorias. Consulte o log de eventos para obter detalhes.",
"categorySaveError__i": "Erro de categoria (atalhos e arte ainda serão adicionados): ${error}",
"controllerSaveError": "Erro ao atualizar categorias. Consulte o log de eventos para obter detalhes.",
"controllerSaveError__i": "Erro de categoria (atalhos e arte ainda serão adicionados): ${error}",
- "retryingDownload__i": "Tentando baixar a imagem de \"${imageUrl}\" para \"${appTitle}\".",
+ "retryingDownload__i": "",
"providerError__i": "Erro recebido do \"${provider}\" para \"${title}\":\n (${url ? `${code}: ${url}` : código}).",
"unknownProviderError__i": "Erro recebido de \"${provider}\" para \"${title}\":\n ${error}",
"exportError__i": "Não foi possível salvar a pasta do pacote de seleções: ${error}",
"importJSONFailError__i": "Não foi possível importar as seleções, o JSON estava malformado: ${error}",
- "importFailError__i": "Não foi possível importar opções de imagem: ${error}"
+ "importFailError__i": ""
},
"success": {
"writingVDF_entries": "Adicionar/remover registros completos.",
"removingVDF_entries": "Todos os itens foram removidos.",
- "exportSuccess__i": "Pasta de opções de imagem salva com sucesso em \"${path}\"!",
+ "exportSuccess__i": "Pasta escolhida para as imagens salva com sucesso em \"${path}\"!",
"importSelectionsSuccess__i": "${count} opções de imagem importadas com sucesso!"
}
}
},
"steamParser": {
- "onlyGamesTitle": "Find artwork for games only (no tools)",
- "onlyInstalledTitle": "Find artwork for installed titles only",
- "sourceModsTitle": "Find artwork for unofficial source mods",
+ "onlyGamesTitle": "",
+ "onlyInstalledTitle": "Localizar arte para apenas títulos instalados",
+ "sourceModsTitle": "",
"errors": {
"directoryInvalid": "> diretório Steam inválido.",
"noSteamAccounts": "> O diretório Steam especificado não possui contas.",
@@ -93,16 +93,30 @@
"fatalError__i": "> O analisador da falhou com erro fatal:\n ${error}"
}
},
+ "nonSRMShortcutsParser": {
+ "errors": {
+ "noSteamAccounts": "> O diretório Steam especificado não possui contas.",
+ "fatalError__i": ""
+ }
+ },
"manualParser": {
"manifestsInputTitle": "Diretório de Manifests",
- "manifestsInputPlaceholder": "/path/to/your/manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "",
+ "Darwin": "",
+ "Linux": ""
+ },
"errors": {
"fatalError__i": "> O analisador da falhou com erro fatal:\n ${error}"
}
},
"epicParser": {
- "manifestsInputTitle": "Epic Manifests Directory Override",
- "manifestsInputPlaceholder": "/path/to/Manifests/",
+ "manifestsInputTitle": "",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": ""
+ },
"launcherModeInputTitle": "Inicie jogos via Epic para serviços online",
"errors": {
"invalidManifestsOverride": "> Manifestas Override não é um diretório válido.",
@@ -112,25 +126,56 @@
}
},
"legendaryParser": {
- "legendaryInstalledFileTitle": "Legendary installed.json Path Override",
- "legendaryInstalledFilePlaceholder": "/path/to/legendary/installed.json",
+ "launcherModeInputTitle": "",
+ "legendaryInstalledFileTitle": "",
+ "legendaryInstalledFilePlaceholder": {
+ "Windows_NT": "",
+ "Darwin": "",
+ "Linux": ""
+ },
+ "legendaryExeOverrideTitle": "",
+ "legendaryExeOverridePlaceholder": {
+ "Windows_NT": "",
+ "Darwin": "",
+ "Linux": ""
+ },
"errors": {
- "legendaryNotInstalled": "> Legendary installed.json not found",
- "fatalError__i": "> Legendary parser failed with fatal error: \n ${error}"
+ "legendaryNotInstalled": "",
+ "fatalError__i": ""
+ }
+ },
+ "battleNetParser": {
+ "battleExeOverrideTitle": "Substituição do Caminho Battle.net.exe",
+ "battleExeOverridePlaceholder": {
+ "Windows_NT": "",
+ "Darwin": "",
+ "Linux": "/path/to/Battle.net/Battle"
+ },
+ "errors": {
+ "battleNotCompatible": "> O analisador Battle.net está disponível apenas no Windows.",
+ "fatalError__i": "> O analisador Battle.net falhou com erro fatal:\n ${error}"
}
},
"UWPParser": {
"UWPDirTitle": "XboxGames Directory Override",
- "UWPDirPlaceholder": "/path/to/XboxGames or /path/to/WindowsApps",
+ "UWPDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\XboxGames\\ or C:\\path\\to\\WindowsApps\\",
+ "Darwin": "/path/to/XboxGames/ or /path/to/WindowsApps/",
+ "Linux": "/path/to/XboxGames/ or /path/to/WindowsApps/"
+ },
"UWPLauncherModeTitle": "Launch game as UWP instead of launcher helper",
"errors": {
"fatalError__i": "> UWP parser is not compatible in this platform.",
- "UWPNotCompatible": "> UWP parser failed with fatal error:\n ${error}"
+ "UWPNotCompatible": "> UWP parser is only available on Windows."
}
},
"uplayParser": {
"uplayDirTitle": "Ubisoft Directory Override",
- "uplayDirPlaceholder": "/path/to/Ubisoft/",
+ "uplayDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Ubisoft\\",
+ "Darwin": "/path/to/Ubisoft/",
+ "Linux": "/path/to/Ubisoft/"
+ },
"launcherModeInputTitle": "Inicie jogos via Epic para serviços online",
"errors": {
"invalidManifestsOverride": "> Manifestas Override não é um diretório válido.",
@@ -142,8 +187,14 @@
},
"gogParser": {
"galaxyExeOverrideTitle": "Sobrescrever caminho da Galáxia",
- "galaxyExeOverridePlaceholder": "/path/to/GalaxyClient.exe",
+ "galaxyExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\GalaxyClient.exe",
+ "Darwin": "/path/to/GOG Galaxy.app/Contents/MacOS/GOG Galaxy",
+ "Linux": "/path/to/GalaxyClient"
+ },
"launcherModeInputTitle": "Inicie jogos via GOG Galaxy",
+ "parseLinkedExecsTitle": "Parse linked executables from GOG Galaxy",
+ "parseRegistryEntries": "Parse using Registry instead of Galaxy DB",
"errors": {
"invalidGalaxyExeOverride": "> Substituição do Cliente Galaxy não é um caminho válido.",
"fatalError__i": "> O analisador da falhou com erro fatal:\n ${error}",
@@ -153,7 +204,11 @@
},
"amazonGamesParser": {
"exeOverrideTitle": "Substituição de caminho para Amazon Games",
- "exeOverridePlaceholder": "/path/to/Amazon Games.exe",
+ "exeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Amazon Games.exe",
+ "Darwin": "/path/to/Amazon Games.app/Contents/MacOS/Amazon Games",
+ "Linux": "/path/to/Amazon Games"
+ },
"launcherModeInputTitle": "Inicie via Amazon Games",
"errors": {
"invalidExeOverride": "> Substituição de instalação da Amazon Games não é um diretório válido.",
@@ -164,7 +219,11 @@
},
"itchIoParser": {
"itchIoAppDataOverrideTitle": "itch.io AppData Directory Override",
- "itchIoAppDataOverridePlaceholder": "/path/to/itch",
+ "itchIoAppDataOverridePlaceholder": {
+ "Windows_NT": "C:\\AppData\\itch\\",
+ "Darwin": "~/Library/Application Support/itch/",
+ "Linux": "~/.config/itch/"
+ },
"itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Redirecionamento de unidade Windows-on-Linux",
"itchIoWindowsOnLinuxInstallDriveRedirectPlaceholder": "/mnt/d/",
"errors": {
@@ -177,8 +236,12 @@
},
"eaDesktopParser": {
"eaGamesDirTitle": "EA Games Directory Override",
- "eaGamesDirPlaceholder": "/path/to/EA Games/",
- "eaLauncherModeTitle": "Launch games via EA Desktop",
+ "eaGamesDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\EA Games\\",
+ "Darwin": "/path/to/EA Games/",
+ "Linux": "/path/to/EA Games/"
+ },
+ "eaLauncherModeTitle": "Iniciar jogos via EA Desktop",
"errors": {
"fatalError__i": "> EA Desktop parser failed with fatal error:\n ${error}",
"invalidXML__i": "> Invalid XML file ${dataFile}",
@@ -186,7 +249,7 @@
}
},
"globParser": {
- "inputTitle": "Global do usuário",
+ "inputTitle": "Search glob",
"inputPlaceholder": "${title}.@(iso|ISO)",
"errors": {
"noTitle__md": "> Globo de arquivos deve conter `${title}`!",
@@ -203,7 +266,7 @@
}
},
"globRegexParser": {
- "inputTitle": "Regex do usuário global",
+ "inputTitle": "Search glob-regex",
"inputPlaceholder": "${/valid regex/}",
"errors": {
"noRegex__md": "> Gráfico do arquivo deve conter `${regex}` onde **regex** é sua expressão regular!",
@@ -226,18 +289,22 @@
"stylesTitle": "Estilos de grade permitidos",
"stylesHeroTitle": "Estilos de herói permitidos",
"stylesLogoTitle": "Estilos de logotipo permitidos",
- "stylesIconTitle": "Estilos de ícones permitidos"
+ "stylesIconTitle": "Estilos de ícones permitidos",
+ "sizesTitle": "Allowed banner dimensions",
+ "sizesHeroTitle": "Allowed hero dimensions",
+ "sizesTallTitle": "Allowed portrait dimensions",
+ "sizesIconTitle": "Allowed icon dimensions"
},
"logger": {
"component": {
"noMessages": "Não há mensagens disponíveis",
- "error": "ERRO",
- "info": "INFO",
- "success": "SUCESSO",
- "fuzzy": "FUZZY",
- "textWrap": "TEXT-WRAP",
- "autoscroll": "AUTOSCROLA",
- "clearLog": "Limpar Log",
+ "error": "Error messages",
+ "info": "Info messages",
+ "success": "Success messages",
+ "fuzzy": "Fuzzy messages",
+ "textWrap": "Wrap text",
+ "autoscroll": "Autoscroll",
+ "clearLog": "Clear",
"issueDescription": "Thorough issue description with passable spelling.",
"handleExample": "CoolHandle#1234"
}
@@ -251,40 +318,42 @@
"corruptedVariables__i": "Variáveis personalizadas salvas são inválidas!\nO salvamento permanente de variáveis está desabilitado até que o problema seja resolvido.\nTente corrigir manualmente os erros (arquivo - ${file})\nou procure ajuda no github ou no nosso canal oficial do discord: ${error}"
},
"info": {
- "downloaded": "O arquivo de variáveis personalizadas foi baixado."
+ "downloaded": "Custom variables file has been updated."
}
}
},
"configPresets": {
"service": {
"error": {
- "failedToDownload__i": "Falha ao baixar o arquivo de variáveis personalizadas. Status: ${error}.",
+ "failedToDownload__i": "Failed to download configuration presets file from commit ${commit}. Status: ${error}.",
"writingError": "Erro ao salvar arquivos de configuração.",
"loadingError": "Ocorreu um erro ao carregar as predefinições de configuração.",
"corruptedVariables__i": "Variáveis personalizadas salvas são inválidas!\nO salvamento permanente de variáveis está desabilitado até que o problema seja resolvido.\nTente corrigir manualmente os erros (arquivo - ${file})\nou procure ajuda no github ou no nosso canal oficial do discord: ${error}"
},
"info": {
- "downloaded": "New config presets have been downloaded."
+ "downloaded": "Community presets have been updated."
}
}
},
"settings": {
"component": {
"label": {
- "general": "Configurações gerais",
- "imageProviders": "Configurações de visualização de imagem",
- "fuzzy": "Configurações difusas do matcher",
- "environmentVariables": "Variáveis de ambiente",
- "communityPresets": "Configurações de variável/predefinição da comunidade"
+ "general": "General",
+ "imageProviders": "Artwork Providers",
+ "fuzzy": "Fuzzy Matcher",
+ "environmentVariables": "Environment Variables",
+ "communityPresets": "Community Presets and Custom Variables"
},
"text": {
+ "autoUpdate": "Check for updates on start",
"offlineMode": "Modo Offline",
- "removeApps_desc": "todas as entradas e controles adicionados pelo app",
+ "removeApps_desc": "all added games and controllers",
"removeApps_btn": "Remover",
- "preloadImages": "Pré-carregar imagens recuperadas imediatamente",
+ "preloadImages": "Artwork loading strategy",
"fuzzy_verbose": "Nenhum resultado correspondente",
- "fuzzy_filter": "Filtrar imagens",
+ "fuzzy_filter": "Filter artwork",
"enabledProviders": "Enabled image providers",
+ "dnsServers": "DNS manual override",
"selectLanguage": "Select language",
"selectTheme": "Select theme",
"resetFuzzy_desc": "fuzzy list",
@@ -292,28 +361,38 @@
"resetFuzzy_btn": "Redefinir",
"customVariables_desc": "custom variables",
"configPresets_desc": "predefinições de configuração",
- "showSteamImages": "Mostrar imagens atuais do Steam por padrão",
+ "showSteamImages": "Show current Steam artwork by default",
"deleteDisabledShortcuts": "Remover atalhos para analisadores desativados",
"clearLogOnTest": "Limpar log automaticamente antes de testar os analisadores",
- "configDir": "Diretório de configuração"
+ "configDir": "Config Directory",
+ "steamDir": "Steam Directory"
},
"placeholder": {
"noProviders": "Nenhum",
- "steamDirectoryWin": "Normalmente C:\\Programas arquivos (x86)\\Steam",
- "steamDirectoryMac": "Normalmente ~/Library/Application Support/Steam",
- "steamDirectoryLinux": "Normalmente /home/user/.steam/steam",
"userAccounts": "For example ${steamlogin}",
- "romsDirectoryWin": "Por exemplo D:\\ROMs",
- "romsDirectoryMac": "Por exemplo, ~/ROMs",
- "romsDirectoryLinux": "Por exemplo, ~/ROMs",
- "retroarchPathWin": "Por exemplo C:\\Path\\To\\retroarch.exe",
- "retroarchPathLinux": "Por exemplo, /path/to/retroarch",
- "retroarchPathMac": "Por exemplo, /path/to/retroarch",
- "raCoresDirectoryWin": "Normalmente C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores",
- "raCoresDirectoryLinux": "Normalmente /lib/x86_64-linux-gnu/libretro/cores",
- "raCoresDirectoryMac": "Normalmente /Applications/Retroarch.app/Contents/Resources/cores",
- "localImagesDirectoryWin": "Por exemplo C:\\Path\\To\\LocalArtwork",
- "localImagesDirectoryUnix": "Por exemplo, ~/caminho/para/localartwork"
+ "bySystem": {
+ "Windows_NT": {
+ "steamDirectory": "Typically C:\\Program Files (x86)\\Steam\\",
+ "romsDirectory": "For example D:\\ROMs\\",
+ "retroarchPath": "For example C:\\Path\\To\\Retroarch.exe",
+ "raCoresDirectory": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores\\",
+ "localImagesDirectory": "For example C:\\Path\\To\\LocalArtwork\\"
+ },
+ "Darwin": {
+ "steamDirectory": "Typically ~/Library/Application Support/Steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /Applications/Retroarch.app/Contents/Resources/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ },
+ "Linux": {
+ "steamDirectory": "Typically /home/user/.steam/steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /lib/x86_64-linux-gnu/libretro/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ }
+ }
}
},
"service": {
@@ -331,6 +410,7 @@
"component": {
"about": "&Sobre",
"preview": "Pré-visualizar",
+ "view": "View Games",
"logger": "Log",
"settings": "Confirgurações",
"parsers": "Create Parser",
@@ -352,6 +432,9 @@
"title": "Exceções do Usuário",
"exclude": "Excluir Título",
"excludeArtwork": "Apenas Arte Local"
+ },
+ "placeholder": {
+ "sortBy": "Sort By"
}
},
"service": {
@@ -366,8 +449,8 @@
"component": {
"buttons": {
"save": "Salvar",
- "copy": "Copiar",
- "testParser": "Analisador de teste",
+ "copy": "Clone",
+ "testParser": "Test",
"delete": "Deletar",
"moveUp": "Mover para cima",
"moveDown": "Mover para baixo",
@@ -381,16 +464,16 @@
"opSys__i": "Sistema operacional é \"${os}\"",
"testCompleted": "O teste do analisador foi concluído.",
"nothingWasFound": "Analisador não encontrou nada.",
- "copiedToClipboard": "Configuração copiada para área de transferência",
+ "copiedToClipboard": "Parser copied to clipboard",
"userExclusions": "Usuário excluído:",
- "excludedFileInfo__i": "[${index}/${total}]: ${filename}",
+ "excludedFileInfo__i": "[${index}/${total}]: ${filename}\n Excluded by \"${exceptionKey}\"",
"removingControllers__i": "Removendo modelos de controle para analisador: ${configTitle}",
"fetchingControllerTemplates": "Buscando modelos de controle"
},
"error": {
"missingAccounts__i": "Após ${count} conta(s) de usuário não foram encontrados (o usuário deve se conectar ao Steam pelo menos uma vez):",
"missingAccountInfo__i": " ${name}",
- "noAccountsWarning": "Aviso! Nenhuma conta de usuário encontrada, pode ser devido a uma das razões abaixo:\n - diretório incorreto do Steam;\n - nenhum usuário jamais logou;\n - O Steam não salva as credenciais do usuário (\"Mostrar opções avançadas-> Contas de usuário -> usar as credenciais da conta\").\nSe você estiver vendo isso, a pré-visualização não será gerada para esta configuração.",
+ "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials.\r\nIf you're seeing this, Add Games will skip this configuration.",
"cannotParseUserIDs": "Erro ao analisar as contas de usuário:",
"failedToMatch": "Falha ao iniciar:",
"failedFileInfo__i": "[${index}/${total}]: ${filename}",
@@ -405,8 +488,8 @@
"success": {
"foundAccounts__i": "${count} conta de usuário disponível encontrada(s):",
"foundAccountInfo__i": " ${name} (steamID64: ${steamID64}, accountID: ${accountID})",
- "steamCategory__i": "[${index}/${total}]: Categorias Steam - ${steamCategory}",
- "steamCategoryInfo__i": "[${index}/${total}]: ${steamCategory}",
+ "steamCategories__i": "[${index}/${total}]: Steam categories - ${steamCategories}",
+ "steamCategoriesInfo__i": "[${index}/${total}]: ${steamCategories}",
"exceptionKey__i": "[${index}/${total}]: Exception ID - ${appid}",
"appId__i": "[${index}/${total}]: Legacy App ID - ${appid}",
"shortAppId__i": "[${index}/${total}]: App ID - ${appid}",
@@ -416,20 +499,21 @@
"filePath__i": "[${index}/${total}]: AppID - ${filePath}",
"startDir__i": "[${index}/${total}]: AppID - ${startDir}",
"completeShortcut__i": "[${index}/${total}]: Atalho completo - ${shortcut}",
- "firstImageQuery__i": "[${index}/${total}]: Consultas de imagem - ${query}",
+ "firstImageQuery__i": "[${index}/${total}]: Artwork queries - ${query}",
+ "imagePool__i": "[${index}/${total}]: Artwork pool - ${imagePool}",
"imageQueries__i": "[${index}/${total}]: ${query}",
"defaultImage__i": "[${index}/${total}]: Resolved fallback ${artworkType}:\r\n[${index}/${total}]: ${image}",
"resolvedDefaultImage__i": "[${index}/${total}]: Fallback ${artworkType}:",
- "localImages__i": "[${index}/${total}]: Resolved ${artworkType}:",
- "resolvedLocalImages__i": "[${index}/${total}]: ${artworkType} glob:",
- "indexInfo__i": "[${index}/${total}]: ${indexed}",
+ "localImages__i": "[${index}/${total}]: Resolved local ${artworkType}:",
+ "resolvedLocalImages__i": ":",
+ "indexInfo__i": "",
"removedControllers__i": "Controladores do analisador removidos com sucesso: ${configTitle}",
"fetchedTemplates": "Buscando modelos de controle"
},
"label": {
"parserType": "Parser type",
- "configTitle": "Título de configuração",
- "steamCategory": "Categoria do Steam",
+ "configTitle": "Parser title",
+ "steamCategories": "",
"executableModifier": "Modificador executável",
"executableLocation": "Executar",
"romDirectory": "Diretório ROMs",
@@ -440,33 +524,56 @@
"titleModifier": "Title modifier",
"fuzzyMatch": "Correspondência difusa de Tm",
"executableArgs": "Parâmetros da linha de comando",
- "onlineImageQueries": "Consulta de imagens online",
- "imagePool": "Banco de imagens",
- "imageProviders": "Provedores de imagem",
+ "onlineImageQueries": "",
+ "imagePool": "Artwork pool",
+ "imageProviders": "Artwork providers",
"defaultImage__i": "Fallback ${artworkType}",
"localImages__i": "Local ${artworkType} glob"
},
"placeholder": {
"parserType": "Selecione o analisador...",
"configTitle": "My Awesome Parser",
- "steamCategory": "${cat1}${cat2}",
- "steamDirectory": "${steamdirglobal} or /path/to/steam",
- "userAccounts": "${steamuser1}${steamuser2} or ${${accountsglobal}}",
- "titleFromVariable": "${myvariable}",
+ "steamDirectory": {
+ "Windows_NT": "${steamdirglobal} or C:\\path\\to\\Steam\\",
+ "Darwin": "${steamdirglobal} or /path/to/Steam/",
+ "Linux": "${steamdirglobal} or /path/to/Steam/"
+ },
+ "titleFromVariable": "${variableGroup1}${variableGroup2}",
"titleModifier": "${fuzzyTitle} or ${title}",
- "defaultImage__i": "/path/to/fallback_${artworkType}.png",
- "localImages__i": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
- "romDirectory": "/path/to/games/",
+ "defaultImage__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\fallback_${artworkType}.png",
+ "Darwin": "/path/to/fallback_${artworkType}.png",
+ "Linux": "/path/to/fallback_${artworkType}"
+ },
+ "localImages__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\art\\\\${artworkType}\\\\\\${title}.@(png|jpg)",
+ "Darwin": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
+ "Linux": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)"
+ },
+ "onlineImageQueries": "${${fuzzyTitle}} or ${${title}}${${fuzzyTitle}}",
+ "imagePool": "${fuzzyTitle}",
+ "romDirectory": {
+ "Windows_NT": "C:\\path\\to\\games\\",
+ "Darwin": "/path/to/games/",
+ "Linux": "/path/to/games/"
+ },
"glob": "${title}.@(iso|ISO)",
- "executableLocation": "Example: /path/to/emulator.exe",
- "executableArgs": "--arg1 --arg2",
+ "executableLocation": {
+ "Windows_NT": "C:\\path\\to\\emulator.exe",
+ "Darwin": "/path/to/emulator.app",
+ "Linux": "/path/to/emulator"
+ },
+ "executableArgs": "--arg1 --arg2 --launch \"${filePath}\"",
"executableModifier": "\"${exePath}\"",
- "startInDirectory": "/path/to/start/in/dir",
+ "startInDirectory": {
+ "Windows_NT": "C:\\path\\to\\start-in-dir\\",
+ "Darwin": "/path/to/start-in-dir/",
+ "Linux": "/path/to/start-in-dir/"
+ },
"imageProviders": "Nenhum",
"multiAPIPlaceholder": "Sem filtro"
},
"text": {
- "tryToMatchTitle": "Título da variável personalizada",
"skipFileIfVariableWasNotFound": "Ignorar o arquivo se a variável não foi encontrada",
"caseInsensitiveVariables": "Variáveis insensiveis",
"shortcut_passthrough": "Siga .lnk ou .desktop para destino (apenas para Windows e Linux)",
@@ -482,18 +589,18 @@
},
"service": {
"info": {
- "updatingConfigurations": "Atualizando configurações de usuário com novos campos"
+ "updatingConfigurations": "Updating user's parsers with new fields"
},
"error": {
- "savingConfiguration": "Ocorreu um erro ao salvar a configuração!",
- "readingConfiguration": "Ocorreu um erro ao salvar a configuração!",
+ "savingConfiguration": "Error encountered while saving user's parsers!",
+ "readingConfiguration": "Error encountered while loading user's parsers!",
"parserTypeMissing": "Não é possível salvar sem especificar o tipo de analisador",
- "corruptedConfiguration__i": "Variáveis personalizadas salvas são inválidas!\nO salvamento permanente de variáveis está desabilitado até que o problema seja resolvido.\nTente corrigir manualmente os erros (arquivo - ${file})\nou procure ajuda no github ou no nosso canal oficial do discord: ${error}",
- "fetcingTemplates": "Erro encontrado ao buscar modelos de controladores!"
+ "corruptedConfiguration__i": "One or more saved parsers are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
+ "fetchingTemplates": "Error encountered while fetching controllers templates!"
},
"validationErrors": {
"parserType__md": "Tipo de usuário incorreto!",
- "configTitle__md": "A configuração não é necessária!",
+ "configTitle__md": "> Parser title field cannot be blank!",
"parserId__md": "> O Parser Id está faltando, algo está terrivelmente errado.",
"parserInput": {
"noInput": "Nenhum nódulo está disponível!",
@@ -501,19 +608,15 @@
"incorrectParser": "Tipo de usuário incorreto!"
},
"romDir__md": "> O diretório ROMs é inválido!",
- "userAccounts__md": "> O analisador de Steam requer o campo `Contas de Usuário`",
+ "userAccounts__md": "> User accounts field is required!",
"steamDir__md": "> diretório Steam inválido!",
"startInDir__md": "> \"O diretório Roms é inválido!",
"executable__md": "> O executável é inválido!",
- "imagePool__md": "> O pool de imagens não pode estar em branco!",
- "defaultImage__md": "> A imagem padrão é um caminho inválido!",
- "titleModifier__md": "> Modificador de título não pode estar vazio!",
- "executableModifier__md": "> Modificador de título não pode estar vazio!",
- "variableString__md": "> Número negro de pares `${` e `}`. Use `\\` para escapar `${` ou `}` se quiser usá-los como caracteres.",
- "imageProviders__md": "> Tipo de provedores de imagem incorretos!",
- "unhandledValidationKey__md": "> A validação da Entrada não foi tratada",
- "genericDir__md": "> O diretório Roms é inválido",
- "genericPath__md": "Caminho é inválido"
+ "defaultImage__md": "> Fallback artwork is an invalid path!",
+ "variableString__md": "> Uneven number of `${` and `}` pairs! Use `\\` to escape `${` or `}` if you want to use them as characters.",
+ "unhandledValidationKey__md": "> Input's validation is unhandled!",
+ "genericDir__md": "> Directory is invalid!",
+ "genericPath__md": "> Path is invalid!"
},
"text": {
"noTitle": "Sem título!"
@@ -540,7 +643,7 @@
"error": {
"parserNotFound__i": "Analisador \"${name}\" não encontrado!",
"tooManyFieldGlobs__md": "> Apenas um conjunto `$(...)$` é permitido por entrada.",
- "parserIsRequired__md": "> Primeira parte do `$(...)$` deve conter um campo válido **Glob** ir **Glob-regex**.",
+ "parserIsRequired__md": "> Primeira parte do `$(...)$` deve conter um campo válido **Glob** in **Glob-regex**.",
"noWinSlashes__md": "> Caracter de diretório Windows `\\` não é permitido! Use `/` em vez disso."
}
},
@@ -567,11 +670,11 @@
"error": {
"readingVdf__i": "Failed to read from \"${filePath}\".\n ${error}",
"writingVdf__i": "Failed to write to \"${filePath}\".\n ${error}",
- "skippingDMCA__i": "Skipping DMCA'd image for ${title}",
+ "skippingDMCA__i": "Skipping DMCA'd artwork for ${title}",
"corruptedVdf__i": "\"${filePath}\" is corrupted.\n ${error}",
"creatingBackup__i": "Could not create backup for \"${filePath}\".\n ${error}",
"unsupportedMimeType__i": "Tipo Mime (${type}) não é suportado (título -${title}\").",
- "imageError__i": "Error occurred while saving/downloading image for \"${title}\". Url: ${url}.\n ${error}"
+ "imageError__i": "Error occurred while saving/downloading artwork for \"${title}\". Url: ${url}.\n ${error}"
}
},
"helpers": {
diff --git a/src/lang/pt-BR/markdown/UWP-parser-input.md b/src/lang/pt-BR/markdown/UWP-parser-input.md
index 1a3f20be1d..8c045eea77 100644
--- a/src/lang/pt-BR/markdown/UWP-parser-input.md
+++ b/src/lang/pt-BR/markdown/UWP-parser-input.md
@@ -1,4 +1,4 @@
-# Unique inputs for UWP Parser
+# UWP Parser Specific Inputs
## Games directory
@@ -8,4 +8,4 @@ Set it to `C:\Program Files\WindowsApps` to grab all UWP applications -- you'll
## Launch as UWP or from GameLaunchHelper.exe
-Gamepass games can be launched both ways, although UWP is preffered.
+Gamepass games can be launched both ways, although UWP is preferred.
diff --git a/src/lang/pt-BR/markdown/UWP-parser.md b/src/lang/pt-BR/markdown/UWP-parser.md
index bfb5a847f3..768f05d3fa 100644
--- a/src/lang/pt-BR/markdown/UWP-parser.md
+++ b/src/lang/pt-BR/markdown/UWP-parser.md
@@ -1,7 +1,7 @@
-# UWP Games Parser
+# Analisador de Jogos UWP
-This parser imports `UWP` games in your Windows OS, having a games library path as reference. Useful for PC gamepass!
+Este analisador importa jogos `UWP` no seu sistema operacional Windows, tendo o caminho da biblioteca de jogos como referência. Útil para o gamepass de PC!
-## Compatibility
+## Compatibilidade
-This parser should only work on `Windows 10` and `Windows 11`.
\ No newline at end of file
+Este analisador só deve funcionar no `Windows 10` e `Windows 11`.
diff --git a/src/lang/pt-BR/markdown/about.md b/src/lang/pt-BR/markdown/about.md
index 8656028840..ef22815bb7 100644
--- a/src/lang/pt-BR/markdown/about.md
+++ b/src/lang/pt-BR/markdown/about.md
@@ -2,52 +2,53 @@
Caso você tenha problemas com a SRM, não hesite em visitar o [discord](https://discord.gg/bnSVJrz) ou o [subreddit](https://www.reddit.com/r/SteamRomManager/) e pedir a nossa ajuda. Para que possamos ajudá-lo, gostaríamos que você fornecesse estas informações:
-* Versão SRM: **#{APP[version]}**
+*
* Sistema Operacional: **#{APP[os]}**
## Links Úteis
-* [SRM Releases](https://github.com/SteamGridDB/steam-rom-manager/releases)
-* [Discord Server](https://discord.gg/bnSVJrz)
+* [Versões SRM](https://github.com/SteamGridDB/steam-rom-manager/releases)
+* [Servidor do Discord](https://discord.gg/bnSVJrz)
* [r/SteamRomManager](https://www.reddit.com/r/SteamRomManager/)
-* [Steam Group](https://steamcommunity.com/groups/steamrommanager)
-* [Github Repo](https://github.com/SteamGridDB/steam-rom-manager)
-* [Crowdin Translation Project](https://crowdin.com/project/steam-rom-manager)
+* [Grupo da Steam](https://steamcommunity.com/groups/steamrommanager)
+* [Repositório do Github](https://github.com/SteamGridDB/steam-rom-manager)
+* [➡Projeto de Traduções Crowdin](https://crowdin.com/project/steam-rom-manager)
-## Suporte
+## Atendimento
-Help support continued progress on Steam ROM Manager at:
+Ajude a apoiar o progresso contínuo no Steam ROM Treinador em:
-[SteamGridDB](https://www.steamgriddb.com/) hospeda todas as artes que o gerenciador de ROM usa para fazer de sua biblioteca Steam a inveja da cidade, então devemos provavelmente ajudá-los a manter as luzes acesas. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon.
+Se você gosta do Gerente de ROM Steam e quer que ele continue sendo útil, também considere apoiar o Patreon [SteamGridDB](https://www.steamgriddb.com/). [SteamGridDB](https://www.steamgriddb.com/) hospeda todas as obras de arte que o gerenciador de ROM usa para tornar sua biblioteca Steam a inveja da cidade, então devemos provavelmente ajudá-los a manter as luzes acesas.
-## Contributions
-* `FrogTheFrog`{.noWrap} - Creator of SRM, no longer active on SRM but currently working on the [MoonDeck Plugin](https://github.com/FrogTheFrog/moondeck)
-
-### Current Maintainers
-* `lontanadascienza`{.noWrap} - Updated SRM to handle heroes, posters, logos, and icons. Added the exception manager, controller management, platform parsers (Epic, GOG, Steam, etc), among many other things. Squashes bugs almost as fast as he introduces them.
-* `Zennn`{.noWrap} - Added category support, langauge localization, and the bug report server among many other things. Grande chefe no [SteamGridDB](https://www.steamgriddb.com/).
-* `KenCinder`{.noWrap} - Manages and creates community parser presets and helps user setup SRM in [Discord](https://discord.gg/bnSVJrz).
-
-### Feature Contributions
-* `dragoonDorise`{.noWrap} - Added new themes to SRM. Creator and current maintainer of [EmuDeck](https://www.emudeck.com/). Creator and current maintainer of [EmuDeck](https://www.emudeck.com/).
-* `alvaromunoz`{.noWrap} - Added Game Pass parser to SRM.
-* `lexarvn`{.noWrap} - Added the Amazon Games parser and the itch.io parser.
-* `CarJem`{.noWrap} - Added the manual parser.
-* `MattMckenzy`{.noWrap} - Added ability to import and export image choices.
-* `Apalatn`{.noWrap} - Added an install drive redirect option to the itch.io parser.
-* `OneMoreByte` - Made itch.io parser work on linux and mac.
-* `UndarkAido` - Added shortcut passthrough for Linux's .desktop shortcuts.
-
-### Community
-* `HE Spoke`{.noWrap} - created a community around SRM. `HE Spoke`{.noWrap} - responsável por criar comunidade em torno da SRM. Criador de [grupos Steam](https://steamcommunity.com/groups/steamrommanager) e [Discord](https://discord.gg/bnSVJrz). Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups. Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
-* `dragoonDorise`{.noWrap} - Added new themes to SRM. Creator and current maintainer of [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/).
-* `Choko`{.noWrap} - Helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
-* `Xav83`{.noWrap} - Creator and maintainer of SRM's [Chocolatey package](https://community.chocolatey.org/packages/steam-rom-manager)
+## Contribuições
+* `FrogTheFrog`{.noWrap} - Criador do SRM, não está mais ativo no SRM, mas atualmente está trabalhando no [MoonDeck Plugin](https://github.com/FrogTheFrog/moondeck)
+
+### Mantenedores atuais
+* `lontanadascienza`{.noWrap} - SRM atualizado para lidar com capas, pôsteres, logotipos e ícones. Adicionado o gerenciador de exceções, gerenciamento de controladores, analisadores de plataformas (Epic, GOG, Steam, etc), entre muitas outras coisas. Destrói erros quase tão rápido quanto são introduzidos.
+* `Zennn`{.noWrap} - Adicionado suporte a categoria, localização de idioma e o servidor de relatório de erros, entre muitas outras coisas. Grande chefe no [SteamGridDB](https://www.steamgriddb.com/).
+* `KenCinder`{.noWrap} - Gerencia e cria predefinições de análise de comunidades e ajuda o usuário a configurar o SRM no [Discord](https://discord.gg/bnSVJrz).
+
+### Contribuições de recursos
+* `dragoonDorise`{.noWrap} - Added new themes to SRM. Creator and current maintainer of [EmuDeck](https://www.emudeck.com/). Criador e mantenedor atual da [EmuDeck](https://www.emudeck.com/).
+* {.noWrap}
+* `lexarvn`{.noWrap} - Adicionado o analisador Amazon Games e o analisador itch.io.
+* .
+* .
+* `Apalatn`{.noWrap} - Adicionada uma opção de redirecionamento de unidade de instalação ao analisador itch.io.
+* portuguese
+*
+* .
+
+### Comunidade
+* `HE Spoke`{.noWrap} - created a community around SRM. `HE Spoke`{.noWrap} - responsável por criar comunidade em torno da SRM. Criador de [grupos Steam](https://steamcommunity.com/groups/steamrommanager) e [Discord](https://discord.gg/bnSVJrz). .
+* `dragoonDorise`{.noWrap} - Added new themes to SRM. Creator and current maintainer of [EmuDeck](https://www.emudeck.com/). .
+* .
+*
diff --git a/src/lang/pt-BR/markdown/amazon-games-parser-input.md b/src/lang/pt-BR/markdown/amazon-games-parser-input.md
index 6b690c99d2..e151fe8794 100644
--- a/src/lang/pt-BR/markdown/amazon-games-parser-input.md
+++ b/src/lang/pt-BR/markdown/amazon-games-parser-input.md
@@ -1,8 +1,8 @@
-# Amazon Games Parser specific inputs
+#
## Substituição de caminho para Amazon Games
Por padrão Steam ROM Manager pressupõe que sua instalação da Amazon Games está localizada em `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`. Este campo permite que você substitua esse caminho se sua instalação do Amazon Games estiver em outro lugar.
-## Inicie via Amazon Games
+## Inicie via a Amazon Games
Como parece, este alternador permite que você defina se os jogos serão executados via Amazon Games ou diretamente.
diff --git a/src/lang/pt-BR/markdown/amazon-games-parser.md b/src/lang/pt-BR/markdown/amazon-games-parser.md
index 5b06918c37..9666cc5919 100644
--- a/src/lang/pt-BR/markdown/amazon-games-parser.md
+++ b/src/lang/pt-BR/markdown/amazon-games-parser.md
@@ -1,3 +1,3 @@
# Analisador de Jogos Amazon
-Este analisador importa jogos da `Amazon Games` para que os trabalhos de arte possam ser escolhidos para eles e eles possam ser adicionados ao Steam. Se não funcionar, é porque a Amazon Games alterou a estrutura da base de dados de jogos ou o combustível. filho, neste caso, por favor avise os desenvolvedores da SRM e resolveremos o problema.
\ No newline at end of file
+Este analisador importa jogos da `Amazon Games` para que os trabalhos de arte possam ser escolhidos para eles e eles possam ser adicionados ao Steam. Se não funcionar, é porque a Amazon Games alterou a estrutura da base de dados de jogos ou o combustível. filho, neste caso, por favor avise os desenvolvedores da SRM e resolveremos o problema.
diff --git a/src/lang/pt-BR/markdown/battle-net-parser-input.md b/src/lang/pt-BR/markdown/battle-net-parser-input.md
new file mode 100644
index 0000000000..3b0e4f4950
--- /dev/null
+++ b/src/lang/pt-BR/markdown/battle-net-parser-input.md
@@ -0,0 +1,5 @@
+# Entradas específicas do Parser Battle.net
+
+## Substituição do Caminho Battle.net.exe
+
+Por padrão o Steam ROM Manager assume que seu executável `Battle.net` está localizado em `C:\Program Files (x86)\Battle.net\Battle.net.exe`. Este campo permite que você substitua isso se o seu `Battle.net` estiver instalado em outro lugar.
diff --git a/src/lang/pt-BR/markdown/battle-net-parser.md b/src/lang/pt-BR/markdown/battle-net-parser.md
new file mode 100644
index 0000000000..32a9b22c29
--- /dev/null
+++ b/src/lang/pt-BR/markdown/battle-net-parser.md
@@ -0,0 +1,5 @@
+# Analisador de Battle.net
+
+Este analisador importa jogos do aplicativo `Battle.net`, para que a arte possa ser escolhida para eles e eles possam ser adicionados ao Steam. Se não funcionar, é porque a Blizzard alterou a estrutura de seus arquivos de banco de dados, caso em que por favor avise os desenvolvedores da SRM e resolveremos o problema.
+
+O analisador `Battle.net` é um pouco especial na medida em que usa um script shell em `${srmDir}/scripts/bnet.ps1` para lançar o `Battle.net`, aguarda um tempo apropriado e somente depois disso lança o título real.
diff --git a/src/lang/pt-BR/markdown/config-title.md b/src/lang/pt-BR/markdown/config-title.md
index ea70f4fe64..7c89b40758 100644
--- a/src/lang/pt-BR/markdown/config-title.md
+++ b/src/lang/pt-BR/markdown/config-title.md
@@ -1,3 +1,5 @@
-# Título de configuração
+#
-Título para salvar configurações do usuário como. Não tem de ser único, mas é necessário.
\ No newline at end of file
+.
+
+.
diff --git a/src/lang/pt-BR/markdown/controller-templates.md b/src/lang/pt-BR/markdown/controller-templates.md
index 3d5e259917..a343b529be 100644
--- a/src/lang/pt-BR/markdown/controller-templates.md
+++ b/src/lang/pt-BR/markdown/controller-templates.md
@@ -17,10 +17,10 @@ No analisador SRM:
Atualmente, A SRM puxa todos os modelos padrão (Valve fabricado) para cada controlador, bem como todos os templates definidos pelo usuário que terminam em `(SRM)`.
-* Selecione os seus modelos e salve o analisador. Os controladores de configuração serão aplicados quando você clicar em `Salvar Lista de Apps` na prévia.
+* Selecione os seus modelos e salve o analisador.
* Para desconfigurar as configurações do controlador, você pode `Remover todas as entradas de aplicativos adicionados` das configurações globais (isso exclui todas as alterações SRM feitas em seus dados steam) ou apertar `Desajustar todos os controladores` no analisador (isso só remove as configurações do controlador para o diretório Steam e o usuário especificados nesse analisador).
-Visto que isso for feito, você pode gerar e salvar a pré-visualização como de costume, e o modelo será aplicado a todos os títulos no analisador.
+.
diff --git a/src/lang/pt-BR/markdown/default-image.md b/src/lang/pt-BR/markdown/default-image.md
index b175e3a5fe..8dd6495965 100644
--- a/src/lang/pt-BR/markdown/default-image.md
+++ b/src/lang/pt-BR/markdown/default-image.md
@@ -1,4 +1,4 @@
-# Imagem padrão (opcional) `[suporta variáveis]`{.noWrap}
+#
Permite que uma pessoa use uma imagem armazenada localmente, como uma imagem padrão/fallback. Uma entrada glob [especial](#special-glob-input) string é usada para recuperar imagens. Apenas a primeira imagem recuperada é usada.
diff --git a/src/lang/pt-BR/markdown/ea-desktop-parser-input.md b/src/lang/pt-BR/markdown/ea-desktop-parser-input.md
index 7990efb5b5..718be42709 100644
--- a/src/lang/pt-BR/markdown/ea-desktop-parser-input.md
+++ b/src/lang/pt-BR/markdown/ea-desktop-parser-input.md
@@ -1,9 +1,9 @@
-# EA Desktop Parser specific inputs
+# Entradas específicas do EA Desktop Parser
-## EA Games Directory Override
-By default Steam ROM Manager assumes your `EA Desktop` games are installed at ``C:\Program Files\EA Games\`. This field allows you to change that to wherever your games are installed, e.g.``D:\Games\EA Games`.
+## Sobreposição do diretório EA Games
+Por padrão, Steam ROM Manager assume que seus jogos do ``EA Desktop estão instalados em <0>C:\Program Files\EA Games\`. Esse campo permite que você mude para qualquer dos seus jogos que estão instalados, e.g.``D:\Games\EA Games`.
-## Launch Games Via EA Desktop
-If enabled SRM will add a shortcut to `origin2://game/launch/?offerIds=${gameid}` instead of just the game's executable. This ensures the game launches via EA and will have access to online services.
+## Iniciar jogos via EA Desktop
+Se habilitado, SRM irá adicionar um atalho para`origin2://game/launch/?offerIds=${gameid}` ao invés de apenas o executável do jogo. Isso garante que o jogo inicie via EA e que terá acesso aos serviços online.
-`This is required to add EA Play games. EA Play games will not be detected if this is not toggled on.`
+`Isso é necessário para adicionar jogos EA Play. Jogos EA Play não serão detectados se isso não estiver marcado.`
diff --git a/src/lang/pt-BR/markdown/ea-desktop-parser.md b/src/lang/pt-BR/markdown/ea-desktop-parser.md
index 7c54b483bf..6dc053f17e 100644
--- a/src/lang/pt-BR/markdown/ea-desktop-parser.md
+++ b/src/lang/pt-BR/markdown/ea-desktop-parser.md
@@ -1,3 +1,3 @@
-# EA Desktop Parser
+# Analisador EA Desktop
-This parser imports games from the `EA Desktop` app, so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because EA has altered the structure of their xml files, in which case please let the developers of SRM know and we will resolve the issue.
+Este analisador importa jogos do aplicativo `EA Desktop`, para que a arte possa ser escolhida para eles e adicionada ao Steam. Se não funcionar, é porque a EA alterou a estrutura de seus arquivos XML, caso em que por favor avise os desenvolvedores da SRM e resolveremos o problema.
diff --git a/src/lang/pt-BR/markdown/epic-parser-input.md b/src/lang/pt-BR/markdown/epic-parser-input.md
index 604298a79d..e50daf6077 100644
--- a/src/lang/pt-BR/markdown/epic-parser-input.md
+++ b/src/lang/pt-BR/markdown/epic-parser-input.md
@@ -1,8 +1,8 @@
-# Epic Games Store specific inputs
+#
## Substituir Diretório de Manifests
-Most users shouldn't use this, as they use the standard `Epic Games Store` installation where the game manifests will be located in, for example on Windows, `C:\ProgramData\Epic\EpicGamesLauncher\Data\Manifests`.
+A maioria dos usuários não deve usar isso, pois eles usam a instalação padrão da `Epic Games Store`, onde os manifestos do jogo estarão localizados, por exemplo no Windows, `C:\ProgramData\Epic\EpicGamesLauncher\Data\Manifests`.
No entanto, se por alguma razão o diretório de manifestos estiver localizado em um local não típico você pode especificar aqui o diretório de manifestos.
diff --git a/src/lang/pt-BR/markdown/epic-parser.md b/src/lang/pt-BR/markdown/epic-parser.md
index 182074a9fb..5f5b670115 100644
--- a/src/lang/pt-BR/markdown/epic-parser.md
+++ b/src/lang/pt-BR/markdown/epic-parser.md
@@ -1,12 +1,12 @@
# Epic Games Store
-This parser imports games from the [Epic Games Store](https://store.epicgames.com/en-US/) so that artwork can be chosen for them and they can be added into Steam.
+Este analisador importa jogos da [Epic Games Store](https://store.epicgames.com/en-US/) para que a arte possa ser escolhida para eles e possam ser adicionados ao Steam.
Se não funcionar, é porque a Amazon Games alterou a estrutura da base de dados de jogos ou o combustível. filho, neste caso, por favor avise os desenvolvedores da SRM e resolveremos o problema.
-In order for this parser to work with the open source Epic alternative [Legendary](https://github.com/derrod/legendary), [EGL sync must be enabled in Legendary](https://github.com/derrod/legendary/discussions/276#discussioncomment-709748) (this creates the appropriate files for the parser to read, and does not require the `Epic Games Store` to be installed).
+Para que este analisador funcione com a alternativa de código aberto da Epic [Legendary](https://github.com/derrod/legendary), [ a sincronização do EGL deve estar ativada no Legendary ](https://github.com/derrod/legendary/discussions/276#discussioncomment-709748) (isso cria os arquivos apropriados para o analisador ler e não requer a instalação da ` Epic Games Store `).
-That said, there is also a `Legendary` parser in SRM which works right out of the box.
+Dito isso, há também um analisador `Legendary` no SRM que funciona diretamente da caixa.
## Compatibilidade
Este analisador está atualmente funcional somente nos sistemas `Windows` e `Mac OS`. No `Mac OS` não é possível iniciar a partir da Epic Store, para que o alternador deva permanecer desativado.
diff --git a/src/lang/pt-BR/markdown/executable-arguments.md b/src/lang/pt-BR/markdown/executable-arguments.md
index c6c3ef8c66..0c882c74ee 100644
--- a/src/lang/pt-BR/markdown/executable-arguments.md
+++ b/src/lang/pt-BR/markdown/executable-arguments.md
@@ -1,4 +1,4 @@
-# Imagem de logotipo padrão (opcional) `[suporta variáveis]`{.noWrap}
+#
Argumentos que são anexados ao executável para produzir o atalho final. Na maioria das vezes você vai querer configurá-lo usando as variáveis de análise fornecidas.
@@ -49,7 +49,7 @@ Argumentos que são anexados ao executável para produzir o atalho final. Na mai
### Nestopia (NES/Família)
```
-"${filePath}" -video fullscreen bpp : 16 -video fullscreen largura em tela cheia: 1024 -video fullscreen altura : 768 -preferences fullscreen no inicio : yes -view size fullscreen : esticado
+"${filePath}" -video fullscreen bpp : 16 -video fullscreen largura em tela cheia: 1024 -video fullscreen altura : 768 -preferences fullscreen no inicio : yes -view size fullscreen : esticado
```
### higan (NES/Famicom, SNES/Famicom, Gameboy, Cor do Gameboy, Advance)
@@ -126,13 +126,13 @@ Esta configuração é usada para influenciar o ID APP do Steam.
## Variáveis de diretório
-| Variável (maiúsculas e minúsculas) | Sobreposição correspondente |
-| ----------------------------------:|:-------------------------------------------- |
-| `${exeDir}` | Diretório executável |
-| `${romDir}` | Diretório ROMs |
-| `${steamDir}` | Diretório Steam |
-| `${startInDir}` | Diretório inicial |
-| `${fileDir}` | Arquivo retornado pelo analisador, diretório |
+| Variável (maiúsculas e minúsculas) | Sobreposição correspondente |
+| ----------------------------------:|:--------------------------- |
+| `${exeDir}` | Diretório executável |
+| `${romDir}` | Diretório ROMs |
+| `${steamDir}` | Diretório Steam |
+| `${startInDir}` | Diretório inicial |
+| `${fileDir}` | |
Caso a entrada do diretório executável seja deixada **vazia**, `${exeDir}`{.noWrap} é igual a `${fileDir}`{.noWrap}. Além disso, se o diretório "StartIn" for deixado **vazio**, `${startInDir}`{.noWrap} é igual a `${exeDir}`{.noWrap}.
@@ -187,6 +187,7 @@ No caso de correspondência difusa **falhar** ou está **desabilitado**, `${fuzz
### Exemplo de variável função
Digamos que a variável `${title}` é igual a `Poke├mon (EUA) (Disc 1).iso`. Então essas variáveis:
+
```
${/.*/➲${title}} //Corresponde a tudo
${/(.)/,${title}} //Captura tudo
@@ -196,7 +197,9 @@ ${uccerteza, ${/(\(Disc\s?[0-9]\))/¡${title}}} //Captures "Disco... peça e tra
${rdc├${title}} //Substituir caracteres diacríticos (nesse caso: e├-> e)
arquivo${os:linuxwill.. oive ${os:win|.dll}} //Selects a extensão de arquivo correta para o SO
```
+
será substituído por estes:
+
```
Pokémon (USA) (Disc 1).iso Pokémon (USA) (Disc 1).iso Pokémon.iso
(Disc 1)
diff --git a/src/lang/pt-BR/markdown/executable-location.md b/src/lang/pt-BR/markdown/executable-location.md
index a30ccf07fe..87073e75a9 100644
--- a/src/lang/pt-BR/markdown/executable-location.md
+++ b/src/lang/pt-BR/markdown/executable-location.md
@@ -1,4 +1,4 @@
-# "Diretório de Manifestos `[Suporta Variáveis de Ambiente]`
+# Executável `[aceita variáveis env]`
Caminho para o executável do emulador. Pode ser um arquivo ou qualquer caminho de sistema válido.
@@ -6,6 +6,8 @@ Caminho para o executável do emulador. Pode ser um arquivo ou qualquer caminho
Em alguns casos, você pode querer executar o jogo a partir de um arquivo de lote que também executará automaticamente o emulador. Se for esse o caso, então é desnecessário fornecer executável.
+O atalho final será `"${filePath}" --command-line-args`.
+
### Então, como eu adiciono arquivos ao Steam sem o executável padrão?
Todos os arquivos recuperados por um analisador serão tratados como executáveis em vez disso.
diff --git a/src/lang/pt-BR/markdown/executable-modifier.md b/src/lang/pt-BR/markdown/executable-modifier.md
index 61456c2809..b3668c0aa3 100644
--- a/src/lang/pt-BR/markdown/executable-modifier.md
+++ b/src/lang/pt-BR/markdown/executable-modifier.md
@@ -1,100 +1,20 @@
# Imagem padrão (opcional) `[suporta variáveis]`{.noWrap}
-O valor padrão é `${exePath}`{.noWrap}. Esta configuração pode ser usada para antecipar ou anexar caracteres desejados a um executável que será adicionado à propriedade Steam (`Target`). Por exemplo, dado que `${exePath}`{.noWrap} é `C:\RetroArch\retroarch. xeque`, você pode adicionar `"cmd" /k start /min` definindo o valor para:
-```
-"cmd" /k start /min "${exePath}"
-```
-Você pode usar qualquer outra variável para construir o executável final.
-
-Esta configuração é usada para influenciar o ID APP do Steam.
-
-
-## Mostrar a passagem
-Se você ativar "Seguir .lnk para destino" e o seu executável é um ". arquivo nk", ou seja, um atalho, então tudo o que você colocar neste campo será sobrescrito com o alvo desse atalho. Se você gostaria de adicionar argumentos executáveis adicioná-los ao alvo do atalho ou use o campo "Argumentos de Linha de Comando" no analisador.
-
-## Variáveis de diretório
-
-| Variável (maiúsculas e minúsculas) | Sobreposição correspondente |
-| ----------------------------------:|:-------------------------------------------- |
-| `${exeDir}` | Diretório executável |
-| `${romDir}` | Diretório ROMs |
-| `${steamDir}` | Diretório Steam |
-| `${startInDir}` | Diretório inicial |
-| `${fileDir}` | Arquivo retornado pelo analisador, diretório |
-
-Caso a entrada do diretório executável seja deixada **vazia**, `${exeDir}`{.noWrap} é igual a `${fileDir}`{.noWrap}. Além disso, se o diretório "StartIn" for deixado **vazio**, `${startInDir}`{.noWrap} é igual a `${exeDir}`{.noWrap}.
-
-## Variáveis de nome
-
-| Variável (maiúsculas e minúsculas) | Sobreposição correspondente |
-| ----------------------------------:|:------------------------------------------------------------------ |
-| `${exeName}` | Nome do executável (sem extensão) |
-| `${fileName}` | Nome do arquivo que foi retornado por um analisador (sem extensão) |
-
-Caso a entrada do diretório executável seja deixada **vazia**, `${exeName}`{.noWrap} é igual a `${fileName}`{.noWrap}.
-
-## Variáveis de extensão
-
-| Variável (maiúsculas e minúsculas) | Sobreposição correspondente |
-| ----------------------------------:|:---------------------------------------------------------------------- |
-| `${exeExt}` | Extensão do executável (com um ponto) |
-| `${fileExt}` | Extensão do arquivo que foi retornado por um analisador (com um ponto) |
+. . ::::::
+:::
-Caso a entrada do diretório executável seja deixada **vazia**, `${exeExt}`{.noWrap} é igual a `${fileExt}`{.noWrap}.
-
-## Variáveis de nome
-
-| Variável (maiúsculas e minúsculas) | Sobreposição correspondente |
-| ----------------------------------:|:-------------------------------------------------------------------- |
-| `${exePath}` | Caminho completo para um executável |
-| `${filePath}` | Caminho completo para um arquivo que foi retornado por um analisador |
-
-Caso a entrada do diretório executável seja deixada **vazia**, `${exePath}`{.noWrap} é igual a `${filePath}`{.noWrap}.
-
-## Variáveis de nome
+```
-| Variável (maiúsculas e minúsculas) | Sobreposição correspondente |
-| ----------------------------------:|:----------------------------------------------------------- |
-| `${title}` | Título extraído |
-| `${fuzzyTitle}` | Título difuso correspondente |
-| `${finalTitle}` | O título que foi o resultado final do modificador do título |
+```
-No caso de correspondência difusa **falhar** ou está **desabilitado**, `${fuzzyTitle}`{.noWrap} é igual a `${title}`{.noWrap}.
+:
-## Custom variables
+```
-| Variável (maiúsculas e minúsculas) | Função correspondente |
-| ----------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------------------------------------------- |
-| `${regex\├input\├substitution(opcional)}` | Executa a expressão regex na entrada. Suporta `u`, `g` e `i` bandeiras (grupos capturados se juntam, a menos que a substituição seja fornecida) |
-| `${uc\├input}` | Variável maiúscula. Transformar em maiúsculas |
-| `${uc\├input}` | Variável maiúscula. Transformar em maiúsculas |
-| `${cv:group\├input}` | Alterar entrada com variável personalizada correspondente (grupo é opcional) |
-| `${uc\├input}` | Substituir caracteres diacríticos de entrada com seu equivalente latino |
-| `${os:[win\├mac\├linux]\├na ocorrência\├no match(opcional)}` | Se o SO corresponder, usa `na correspondência valor` ou `não corresponde` caso contrário |
+```
-### Exemplo de variável função
+Você pode usar qualquer outra variável para construir o executável final.
-Digamos que a variável `${title}` é igual a `Poke├mon (EUA) (Disc 1).iso`. Então essas variáveis:
-```
-${/.*/➲${title}} //Corresponde a tudo
-${/(.)/,${title}} //Captura tudo
-${/(\(.?\))/├${title}├} //Captura todos os parênteses e substitutos com nada
-${/(\(Discos?[0-9]\))/├${title}} /Captures "Disco... parte
-${uccerteza, ${/(\(Disc\s?[0-9]\))/¡${title}}} //Captures "Disco... peça e transforma em maiúsculas
-${rdc├${title}} //Substituir caracteres diacríticos (nesse caso: e├-> e)
-arquivo${os:linuxwill.. oive ${os:win|.dll}} //Selects a extensão de arquivo correta para o SO
-```
-será substituído por estes:
-```
-Pokémon (USA) (Disc 1).iso Pokémon (USA) (Disc 1).iso Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+Esta configuração é usada para influenciar o ID APP do Steam.
---On linux:
-file.so
---On Windows:
-file.dll
---On Mac OS:
-file
-```
+##
diff --git a/src/lang/pt-BR/markdown/glob-parser-input.md b/src/lang/pt-BR/markdown/glob-parser-input.md
index 6b55c786a5..2459046cd9 100644
--- a/src/lang/pt-BR/markdown/glob-parser-input.md
+++ b/src/lang/pt-BR/markdown/glob-parser-input.md
@@ -1,4 +1,4 @@
-# Glob Parser specific inputs
+#
## Global do usuário
diff --git a/src/lang/pt-BR/markdown/glob-regex-parser-input.md b/src/lang/pt-BR/markdown/glob-regex-parser-input.md
index ced76b7d86..650ddd3333 100644
--- a/src/lang/pt-BR/markdown/glob-regex-parser-input.md
+++ b/src/lang/pt-BR/markdown/glob-regex-parser-input.md
@@ -1,4 +1,4 @@
-# Glob-regex Parser specific inputs
+#
## Regex do usuário global
@@ -6,7 +6,7 @@ Aqui é onde você cria seu glob para extrair o título do caminho do arquivo. L
## Como funciona?
-Além de caracteres glob especiais, o analisador glob requer que você digite a variável `${title}`{.noWrap}. O analisador localizará sua posição dentro do seu glob, por exemplo:
+Além de caracteres glob especiais, o analisador glob requer que você digite a variável `${title}`{.noWrap}. :
| Global do usuário | Posição |
| --------------------- | -------------------------- |
diff --git a/src/lang/pt-BR/markdown/gog-parser-input.md b/src/lang/pt-BR/markdown/gog-parser-input.md
index afe675fa3e..fc2593e1ef 100644
--- a/src/lang/pt-BR/markdown/gog-parser-input.md
+++ b/src/lang/pt-BR/markdown/gog-parser-input.md
@@ -1,10 +1,11 @@
-# Entradas exclusivas para Amazon Games Parser
+#
## Sobrescrever caminho da Galáxia
-Por padrão Steam ROM Manager pressupõe que seu Galaxy Client está localizado em `C:\ProgramFiles (x86)\GOG GalaxyClient.exe`. Este campo permite que você substitua esse caminho se sua instalação do Amazon Games estiver em outro lugar.
-Este campo só é necessário se você ativar o lançamento via GOG Galaxy (veja abaixo), como de outra forma a SRM não precisa da localização do Cliente Galaxy.
+##
-## Inicie a Via Epic Games loja `[Recomendado ativado]`
+.
-Como parece, este alternador permite que você defina se os jogos serão executados via Amazon Games ou diretamente. Note que para alguns jogos rodando o GOG Galaxy pode falhar, e a sobreposição da Steam provavelmente não funcionará.
+##
+
+##
\ No newline at end of file
diff --git a/src/lang/pt-BR/markdown/image-pool.md b/src/lang/pt-BR/markdown/image-pool.md
index 88a24ce1f8..792d600548 100644
--- a/src/lang/pt-BR/markdown/image-pool.md
+++ b/src/lang/pt-BR/markdown/image-pool.md
@@ -1,3 +1 @@
-# Imagem padrão (opcional) `[suporta variáveis]`{.noWrap}
-
-O valor padrão é `${fuzzyTitle}`{.noWrap}. Esta configuração é usada para permitir que diferentes aplicativos compartilhem as mesmas imagens -- o mesmo "pool de imagens", ou permitir que um pool de imagens único por aplicativo. Para usar um pool de imagens único por aplicativo basta defini-lo para algo único. Por exemplo, `${fuzzyTitle} SNES`{.noWrap}.
+#
diff --git a/src/lang/pt-BR/markdown/image-providers.md b/src/lang/pt-BR/markdown/image-providers.md
index 55b10c8bd3..6db1d74298 100644
--- a/src/lang/pt-BR/markdown/image-providers.md
+++ b/src/lang/pt-BR/markdown/image-providers.md
@@ -1,7 +1,3 @@
-# Provedores de imagem
-
-Aqui você pode selecionar provedores de imagem que são usados para recuperar imagens. Esta opção é apenas para esta configuração.
+#
## Opção similar no menu "Configurações"
-
-O menu de configurações tem "Provedores habilitados" que ativam provedores de imagens globalmente -- se não estiver ativado em Configurações, isso não funcionará.
diff --git a/src/lang/pt-BR/markdown/intro.md b/src/lang/pt-BR/markdown/intro.md
index aa02c519b5..639a468b5e 100644
--- a/src/lang/pt-BR/markdown/intro.md
+++ b/src/lang/pt-BR/markdown/intro.md
@@ -8,8 +8,8 @@ Além disso, não se esqueça de verificar as Perguntas Frequentes. Se você ain
Depois de salvar a configuração do analisador, **1** de **3** cores serão mostradas ao lado do seu título:
- -- Configuração habilitada. Esta configuração será usada quando gerar uma lista na página **pré-visualização**.
+ -- Configuração habilitada.
- Alterações não salvas. Esta configuração não será usada quando gerar uma lista na página **preview**, no entanto a versão **salva** anterior será usada.
+ Alterações não salvas. .
- -- Configuração habilitada. Esta configuração será usada quando gerar uma lista na página **pré-visualização**.
\ No newline at end of file
+ -- Configuração habilitada.
\ No newline at end of file
diff --git a/src/lang/pt-BR/markdown/itch-io-parser-input.md b/src/lang/pt-BR/markdown/itch-io-parser-input.md
index 911ca1ce07..975f3cc217 100644
--- a/src/lang/pt-BR/markdown/itch-io-parser-input.md
+++ b/src/lang/pt-BR/markdown/itch-io-parser-input.md
@@ -1,9 +1,9 @@
-# itch.io Parser specific inputs
+#
## substituição do caminho AppData itch.io
Por padrão, o Gerente de ROM Steam assume seu cochilo. os dados do aplicativo estão localizados em `%APPDATA%\itch` nas janelas `$HOME/. onfig/itch` no linux e `$HOME/Library/Application Support/itch` em macos. Este campo permite que você substitua esse caminho se sua instalação do Amazon Games estiver em outro lugar.
## redirecionamento de unidade Windows-on-Linux
-No Linux, locais de aplicativos Windows são gravados com caminhos Windows, mesmo se executando no Proton/Wine. Se definido, este campo substitui a raiz dos caminhos do jogo. For example, this would change a `C:\\Path\To\Game.exe` to `/Path/To/Game.exe`.
+No Linux, locais de aplicativos Windows são gravados com caminhos Windows, mesmo se executando no Proton/Wine. Se definido, este campo substitui a raiz dos caminhos do jogo.
Este campo só tem efeito nos sistemas Linux.
diff --git a/src/lang/pt-BR/markdown/itch-io-parser.md b/src/lang/pt-BR/markdown/itch-io-parser.md
index 9a7291fb1b..ce1eb962e3 100644
--- a/src/lang/pt-BR/markdown/itch-io-parser.md
+++ b/src/lang/pt-BR/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
# itch.io Parser
-Este analisador importa jogos da `Amazon Games` para que os trabalhos de arte possam ser escolhidos para eles e eles possam ser adicionados ao Steam. Se não funcionar, é porque a Amazon Games alterou a estrutura da base de dados de jogos ou o combustível. filho, neste caso, por favor avise os desenvolvedores da SRM e resolveremos o problema.
\ No newline at end of file
+Este analisador importa jogos da `Amazon Games` para que os trabalhos de arte possam ser escolhidos para eles e eles possam ser adicionados ao Steam. Se não funcionar, é porque a Amazon Games alterou a estrutura da base de dados de jogos ou o combustível. filho, neste caso, por favor avise os desenvolvedores da SRM e resolveremos o problema.
diff --git a/src/lang/pt-BR/markdown/legendary-parser-input.md b/src/lang/pt-BR/markdown/legendary-parser-input.md
index 80ca0bcbbc..a900687560 100644
--- a/src/lang/pt-BR/markdown/legendary-parser-input.md
+++ b/src/lang/pt-BR/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
-# Legendary Parser specific inputs
+# Legendary Parser Specific Inputs
+
+## Legendary Path Override
+
+....... This field allows you to override that path.
+
+Specifying the correct location of the Legendary executable is only necessary if you enable launch via Legendary (see below), as otherwise SRM has no need of the location of Legendary's executable.
## Legendary `installed.json` Path Override
Most users shouldn't use this, as they use the standard `Legendary` installation where installed games manifest will be located at `~/.config/legendary/installed.json`.
If, however, for some reason your installed games manifest is located in a non-typical location then you can specify the correct manifest path here.
+
+## Launch via Legendary `[Recommend enabled]`
+
+What it sounds like, this toggle determines whether games launch via Legendary or directly. Launching via Legendary provides access to Epic's online services.
diff --git a/src/lang/pt-BR/markdown/local-images.md b/src/lang/pt-BR/markdown/local-images.md
index 9309daff64..c91ee0b65b 100644
--- a/src/lang/pt-BR/markdown/local-images.md
+++ b/src/lang/pt-BR/markdown/local-images.md
@@ -1,8 +1,6 @@
-# Ícone padrão (opcional) `[suporta variáveis]`{.noWrap}
+#
-Permite o uso de imagens altas armazenadas localmente. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
-
-Any variable you use in this field that contains special glob characters will have those characters escaped.
+Permite o uso de imagens altas armazenadas localmente.
## Extensões de imagens permitidas
diff --git a/src/lang/pt-BR/markdown/manual-parser-input.md b/src/lang/pt-BR/markdown/manual-parser-input.md
index 7a890299ea..fecbf3e89a 100644
--- a/src/lang/pt-BR/markdown/manual-parser-input.md
+++ b/src/lang/pt-BR/markdown/manual-parser-input.md
@@ -1,4 +1,4 @@
-# Manual Parser specific inputs
+#
## Diretório de Manifestos `[Suporta Variáveis de Ambiente]`{.noWrap}
@@ -13,29 +13,12 @@ A localização dos arquivos json que você quer transformar em atalhos Steam. `
```
Os nomes dos ficheiros não importam. O que importa é que cada arquivo de `manifest.json` seja ou um único título, assim:
```json
-{
- "title": "gameTitle",
- "target": "game/path/target.sh",
- "startIn": "game/path",
- "launchOptions": "--args"
-}
+
```
Ou uma lista de títulos, assim:
```json
-[
- {
- "title": "gameTitle",
- "target": "game/path/targetet. h",
- "startIn": "game/path",
- "launchOptions": "--args"
- },
- {
- "title": "gameTitle2",
- "target": "game2/path/target. h",
- "startIn": "game2/path",
- "launchOptions": "--args2"
- }
-]
+
+
```
Um caso típico de uso seria usar um único arquivo json por tipo de jogo, ou por ano, etc.
diff --git a/src/lang/pt-BR/markdown/non-srm-shortcuts-parser.md b/src/lang/pt-BR/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..4485008a1a
--- /dev/null
+++ b/src/lang/pt-BR/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,29 @@
+# Non-SRM Shortcut Parser
+
+This parser imports non SRM steam shortcuts into SRM so their artowrk can be managed. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
+
+## User accounts
+
+Used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
+
+```
+${...}
+```
+
+You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
+
+ {.fitImage .center}
+
+For example, this is how you specify account for "Banana" and "Apple":
+
+```
+${Banana}${Apple}
+```
+
+You can also limit accounts by specifying their ids directly. For example:
+
+```
+${56489124}${21987424}
+```
+
+Would limit the search to `steam/userdata/56489124` and `steam/userdata/21987424`.
diff --git a/src/lang/pt-BR/markdown/parser-env-variables.md b/src/lang/pt-BR/markdown/parser-env-variables.md
index 4a48773e89..8114d403f0 100644
--- a/src/lang/pt-BR/markdown/parser-env-variables.md
+++ b/src/lang/pt-BR/markdown/parser-env-variables.md
@@ -5,7 +5,7 @@ Essas variáveis são pré-analisadas e podem ser usadas até nos campos Rom Dir
| `${/}` | Separador de diretório específico do sistema: `\` ou `/` |
| `${srmdir}` | Diretório de executável SRM portátil |
| `${steamdirglobal}` | Diretório Steam global, especificado em `Configurações` |
-| `${accountsglobal}` | Global user accounts, specified in `Settings` |
+| `` | |
| `${romsdirglobal}` | Diretório global de ROMs, especificado em `Configurações` |
| `${retroarchpath}` | Caminho para o executável de Retroarcha, especificado em `Configurações` |
| `${racores}` | Diretório de núcleos de retroarca, especificado em `Configurações` |
diff --git a/src/lang/pt-BR/markdown/parser-variables.md b/src/lang/pt-BR/markdown/parser-variables.md
index 0855d019e5..5d1739e40a 100644
--- a/src/lang/pt-BR/markdown/parser-variables.md
+++ b/src/lang/pt-BR/markdown/parser-variables.md
@@ -4,13 +4,13 @@ Aqui estão as tabelas de variáveis que podem ser usadas com opções que têm
## Variáveis de diretório
-| Variável (maiúsculas e minúsculas) | Sobreposição correspondente |
-| ----------------------------------:|:-------------------------------------------- |
-| `${exeDir}` | Diretório executável |
-| `${romDir}` | Diretório ROMs |
-| `${steamDir}` | Diretório Steam |
-| `${startInDir}` | Diretório inicial |
-| `${fileDir}` | Arquivo retornado pelo analisador, diretório |
+| Variável (maiúsculas e minúsculas) | Sobreposição correspondente |
+| ----------------------------------:|:--------------------------- |
+| `${exeDir}` | Diretório executável |
+| `${romDir}` | Diretório ROMs |
+| `${steamDir}` | Diretório Steam |
+| `${startInDir}` | Diretório inicial |
+| `${fileDir}` | |
Caso a entrada do diretório executável seja deixada **vazia**, `${exeDir}`{.noWrap} é igual a `${fileDir}`{.noWrap}. Além disso, se o diretório "StartIn" for deixado **vazio**, `${startInDir}`{.noWrap} é igual a `${exeDir}`{.noWrap}.
@@ -48,6 +48,7 @@ Caso a entrada do diretório executável seja deixada **vazia**, `${exePath}`{.n
| `${title}` | Título extraído |
| `${fuzzyTitle}` | Título difuso correspondente |
| `${finalTitle}` | O título que foi o resultado final do modificador do título |
+| `` | |
No caso de correspondência difusa **falhar** ou está **desabilitado**, `${fuzzyTitle}`{.noWrap} é igual a `${title}`{.noWrap}.
@@ -65,6 +66,7 @@ No caso de correspondência difusa **falhar** ou está **desabilitado**, `${fuzz
### Exemplo de variável função
Digamos que a variável `${title}` é igual a `Poke├mon (EUA) (Disc 1).iso`. Então essas variáveis:
+
```
${/.*/➲${title}} //Corresponde a tudo
${/(.)/,${title}} //Captura tudo
@@ -74,7 +76,9 @@ ${uccerteza, ${/(\(Disc\s?[0-9]\))/¡${title}}} //Captures "Disco... peça e tra
${rdc├${title}} //Substituir caracteres diacríticos (nesse caso: e├-> e)
arquivo${os:linuxwill.. oive ${os:win|.dll}} //Selects a extensão de arquivo correta para o SO
```
+
será substituído por estes:
+
```
Pokémon (USA) (Disc 1).iso Pokémon (USA) (Disc 1).iso Pokémon.iso
(Disc 1)
diff --git a/src/lang/pt-BR/markdown/parsers-list.md b/src/lang/pt-BR/markdown/parsers-list.md
index 1e5e43f80f..6ab3846611 100644
--- a/src/lang/pt-BR/markdown/parsers-list.md
+++ b/src/lang/pt-BR/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# Parsers
-In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**
diff --git a/src/lang/pt-BR/markdown/rom-directory.md b/src/lang/pt-BR/markdown/rom-directory.md
index ed382486a7..1a84f994c8 100644
--- a/src/lang/pt-BR/markdown/rom-directory.md
+++ b/src/lang/pt-BR/markdown/rom-directory.md
@@ -1,3 +1,3 @@
-# Diretório de Manifestos `[Suporta Variáveis de Ambiente]`
+#
Iniciando diretório para arquivos do jogo ou do aplicativo.
diff --git a/src/lang/pt-BR/markdown/settings.md b/src/lang/pt-BR/markdown/settings.md
index 05ec5b2b30..c3e62b0a02 100644
--- a/src/lang/pt-BR/markdown/settings.md
+++ b/src/lang/pt-BR/markdown/settings.md
@@ -1,31 +1,39 @@
## Configurações gerais
+###
+.
+###
+###
### Modo offline `[Recomendado desativado]`
-
Quando a SRM habilitada não faz solicitações de rede, útil se você quiser usar apenas SRM para imagens locais.
### Limpar log automaticamente antes de testar os analisadores `[Recomendado ativado]`
Quando habilitado, o log é limpo cada vez que um analisador é testado.
+##
### Mostrar imagens Steam atuais por padrão `[Recomendado ativado]`
Quando ativado esta configuração diz SRM para o padrão para qualquer arte que esteja atualmente no vapor para um determinado aplicativo. Se estiver desativado, então toda vez que a SRM for executada (e salva) todas as artes serão redefinidas.
### Remover atalhos para analisadores desativados `[Recomendado desativado]`
Quando ativado desabilitar um analisador e executando SRM removerá todas as entradas adicionadas e artes para o analisador desabilitado. Útil se você quiser que sua biblioteca Steam esteja em correspondência 1-1 com analisadores ativados.
-
+###
+###
+###
+###
## Configurações difusas do matcher
### Resultados correspondentes a registro `[Recomendação desativada]`
Quando ativado mais logs detalhados aparecem para o matcher de título incerto no `log de eventos`. Útil para depuração de correspondências difusas incorretas.
-
### Reset fuzzy list
Redefine a lista armazenada de títulos usados para correspondência incerta à lista de títulos retornados pelo `SteamGridDB` (remove qualquer usuário adicionado títulos).
### Reset fuzzy cache
Limpa o cache de títulos que coincidem difusas já foram vistos (tente isso se as alterações feitas na lista difusa não resultam em alterações para títulos na SRM).
-
## Configurações de visualização de imagem
-### Pré-carregamento recuperado imagens `[Recomendado desativado]`
-Quando ativado, a SRM vai puxar todas as artes disponíveis para cada jogo, ao invés de puxar uma peça de arte de cada vez, enquanto o usuário navega pelas imagens. Não ative isso, a menos que você tenha uma boa razão e uma biblioteca muito pequena de jogos, caso contrário, ele pode resultar em solicitações de rede muito grandes (lentas).
+###
### Ativar provedor
-Configuração global para desativar certos provedores. Atualmente, o único provedor de imagem é `SteamGridDB` já que ConsoleGrid e RetroGaming.cloud foram fundidos.
-
+###
+###
+. .
+###
+###
## Variáveis e Predefinições da Comunidade
### Forçar download de variáveis personalizadas.
Redefine o arquivo JSON de variáveis personalizadas que é usado para certas predefinições para qualquer coisa que seu estado atual esteja no github. Útil se o arquivo JSON de variáveis personalizadas tiver sido corrompido.
### Forçar download de variáveis personalizadas.
Redefine os arquivos JSON para as predefinições do analisador para o que estiver no github, a SRM. Útil se sua lista de predefinições não estiver atualizando automaticamente por algum motivo, ou se tiver sido corrompida. Útil se sua lista de predefinições não estiver atualizando automaticamente por algum motivo, ou se tiver sido corrompida.
+###
diff --git a/src/lang/pt-BR/markdown/sgdb-api-input.md b/src/lang/pt-BR/markdown/sgdb-api-input.md
index 8d7136eb8b..04ac358149 100644
--- a/src/lang/pt-BR/markdown/sgdb-api-input.md
+++ b/src/lang/pt-BR/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
Este conjunto de opções são entradas diretas para as APIs dos provedores de imagem, por exemplo SteamGridDB's [API](https://www.steamgriddb.com/api/v2).
-Uma peculiaridade interessante destas configurações é que re-gerar a pré-visualização (apertando o botão `Gerar a Lista de Apps` na *só irá adicionar arte*, não removê-lo. Se você quer aplicar um conjunto mais forte de filtros e remover a arte, uma tem que clicar no botão `Remover a lista de aplicativos` na pré-visualização antes de acertar `Gerar a lista de aplicativos`. A razão para esse comportamento é que ele permite a seleção de arte *preferencial*. Por exemplo, primeiro é possível gerar a pré-visualização com o filtro de grade desfocada e, em seguida, gerá-la novamente com o filtro de grade desfocado a fim de obter o efeito de *preferir* grades desfocadas, mas ainda permitindo redes não borradas no caso de não existir grade borrada.
+A razão para esse comportamento é que ele permite a seleção de arte *preferencial*.
## SteamGridDB
diff --git a/src/lang/pt-BR/markdown/start-in-directory.md b/src/lang/pt-BR/markdown/start-in-directory.md
index 1f3e5900e9..159617d968 100644
--- a/src/lang/pt-BR/markdown/start-in-directory.md
+++ b/src/lang/pt-BR/markdown/start-in-directory.md
@@ -1,6 +1,4 @@
-# "Diretório de Manifestos `[Suporta Variáveis de Ambiente]`{.noWrap}
-
-Por padrão o diretório "Start In" está definido para o diretório do executável:
+#
 {.fitImage.center}
@@ -11,4 +9,5 @@ Esta opção permite que você especifique qualquer diretório que quiser como u
É útil quando você está usando arquivos em lote para iniciar o emulador e um jogo, mas o emulador requer um diretório "Iniciar In" específico para funcionar corretamente.
## Mostrar a passagem
+
Se você ativar "Seguir .lnk para destino" e o seu executável é um ". arquivo nk", ou seja, um atalho, então tudo o que você colocar neste campo será sobrescrito com o alvo desse atalho. No futuro, ela será substituída pelo início no diretório desse atalho.
diff --git a/src/lang/pt-BR/markdown/steam-category.md b/src/lang/pt-BR/markdown/steam-category.md
index d33673b0c7..26ccab6c47 100644
--- a/src/lang/pt-BR/markdown/steam-category.md
+++ b/src/lang/pt-BR/markdown/steam-category.md
@@ -1,21 +1,11 @@
-# Ícone padrão (opcional) `[suporta variáveis]`{.noWrap}
+#
-Também conhecido como "tags", pode ser usado para agrupar aplicativos no Steam. Para definir a consulta de imagem, é necessário usar a seguinte sintaxe:
-```
-${...}
-```
-Por exemplo, é assim que você especifica as categorias para a categoria "WII" e "GBA" (emparelhado com "ROMS"):
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
Assim como será a categoria "WII" no Steam:

## Emojis e caracteres não-padrão Unicode
+
Por favor, não que este campo funcione bem com emojis como um `🎮` funciona bem nos nomes das categorias.
Você pode encontrar uma lista deles aqui: [https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/pt-BR/markdown/steam-directory.md b/src/lang/pt-BR/markdown/steam-directory.md
index c5eb7f5b48..a5cd48bebb 100644
--- a/src/lang/pt-BR/markdown/steam-directory.md
+++ b/src/lang/pt-BR/markdown/steam-directory.md
@@ -1,4 +1,4 @@
-# Diretório de Manifestos `[Suporta Variáveis de Ambiente]`{.noWrap}
+#
Deve ser um diretório Steam válido que contenha o executável Steam. Para que a conta Steam seja detectada, o usuário deve ter logado pelo menos uma vez.
diff --git a/src/lang/pt-BR/markdown/steam-parser-input.md b/src/lang/pt-BR/markdown/steam-parser-input.md
index 75f21d380d..1174b71b64 100644
--- a/src/lang/pt-BR/markdown/steam-parser-input.md
+++ b/src/lang/pt-BR/markdown/steam-parser-input.md
@@ -1,4 +1,4 @@
-# Steam Parser specific inputs
+# Steam Parser Specific Inputs
## Find artwork for games only
If enabled SRM will filter out any Steam applications that are not full games, such as demos and tools like `3DMark` or `Wallpaper Engine`.
diff --git a/src/lang/pt-BR/markdown/steam-parser.md b/src/lang/pt-BR/markdown/steam-parser.md
index 2d66ee2c88..d009a5e79b 100644
--- a/src/lang/pt-BR/markdown/steam-parser.md
+++ b/src/lang/pt-BR/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Analisador Steam
-Esse analisador importa jogos Steam para a SRM. Esse analisador importa jogos Steam para a SRM. Esse analisador importa jogos Steam para a SRM. Ele não adiciona atalhos, mas permite que você defina o trabalho de arte para seus jogos Steam. Por padrão, o analisador obterá os jogos de todas as contas de usuário no diretório Steam especificado — se você preferir apenas obter os jogos de um subconjunto das contas então especificá-los no campo `Contas de Usuário`.
-
-## Limitações
-Infelizmente, por enquanto, este analisador só funciona para jogos Steam **que estão em pelo menos uma categoria**. A razão para isso é que o Steam só armazena sua lista completa de jogos localmente se eles forem categorizados. Às vezes, por razões desconhecidas, os jogos serão armazenados localmente, independentemente do funcionamento do analisador. mas ser seguro, a coisa mais fácil de se fazer é apenas **criar uma categoria Steam** que tenha todas as suas partidas Steam dentro.
-
-## Contas de usuário (opcional)
-
-Pode ser usado para limitar a configuração para contas de usuário específicas. Para definir a consulta de imagem, é necessário usar a seguinte sintaxe:
-```
-${...}
-```
-Você **deve** usar o nome de usuário que você usa para **entrar** no Steam **se** [usar credenciais de conta](#what-does-use-account-credentials-do) estiver ativado:
-
- {.fitImage.center}
-
-Por exemplo, é assim que você especifica grupos para "Rpcs3" e "rpcs3":
-
-```
-${Banana}${Apple}
-```
-
-No caso de [usar credenciais da conta](#what-does-use-account-credentials-do) está desativado, você ainda pode limitar as contas especificando seus Ids diretamente:
-
-```
-${56489124}${21987424}
-```
-
-## Ignorar contas encontradas com diretórios de dados ausentes?
-
-Às vezes, o arquivo do Steam que contém logins, pode conter usuários que não possuem um diretório de dados criado (pode ter sido excluído manualmente, etc.). Você pode especificar para ignorar essas contas habilitando esta opção.
-
-## O que faz "Usar as credenciais da conta"?
-
-Tenta procurar credenciais de conta no diretório Steam. Em outras palavras -- nome de usuário. O nome de usuário pode ser usado para filtrar as contas sem ter que saber suas identidades.
-
-### Aviso!
-
-Se o Steam tiver as credenciais desativadas, esta opção impedirá de encontrar as contas de usuários.
+.
\ No newline at end of file
diff --git a/src/lang/pt-BR/markdown/title-from-variable.md b/src/lang/pt-BR/markdown/title-from-variable.md
index e968b44297..e71c1aba2f 100644
--- a/src/lang/pt-BR/markdown/title-from-variable.md
+++ b/src/lang/pt-BR/markdown/title-from-variable.md
@@ -1,43 +1,32 @@
-# Título da variável personalizada)
+#
-Permite substituir o título extraído com uma variável personalizada. Isso é feito logo após a extração do título, o que significa que o título substituído pode ser usado para correspondência incerta e assim por diante. Grupos e variáveis em si são **sensíveis a maiúsculas e minúsculas**, a não ser que uma opção de variável insesitiva esteja habilitada.
+. Grupos e variáveis em si são **sensíveis a maiúsculas e minúsculas**, a não ser que uma opção de variável insesitiva esteja habilitada.
-Correspondência de título pode ser limitada a grupos específicos de variáveis personalizadas. Para definir a consulta de imagem, é necessário usar a seguinte sintaxe:
-```
-${...}
-```
-Por exemplo, é assim que você especifica grupos para "RPCS3" e "rpcs3":
-```
-${RPCS3}${rpcs3}
-```
+.
-Certifique-se de **ativar a opção**.
-
-
-## Opção insensível
-
-Se esta opção estiver habilitada, a correspondência insensível a maiúsculas e minúsculas será feita e a primeira variável personalizada correspondente será usada.
+```
-## Notas. Este recurso é **experimental**
+```
-Basicamente, ele pode mudar no lançamento futuro (muito improvavelmente). Além disso, atualmente a única maneira de adicionar variáveis é criar/editar `customVariables.json` usado diretamente pelo SRM.
+#
-Este arquivo é/shoud localizado no diretório `userData` da SRM.
+. .
-SRM irá lançar erro a menos que a seguinte estrutura JSON seja usada:
+:
```
-{
- "RPCS3": {
- "NPUB30698": "Catherine",
- "NPUB30024": "1942: Golpe Conto",
-...
- },
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend of Link"
- },
...
+ ...
+ ...
}
```
-Então se o seu usuário glob era `MyDir/${title}.wad` e você tinha um `Legend de Zelda. anúncio` localizado em `MyDir`, você definiria o título do campo de variável personalizada para `${Custom Stuff}` para obter um título final de "A Legenda do Link".
+.
+
+## Variáveis insensíveis
+
+Se esta opção estiver habilitada, a correspondência insensível a maiúsculas e minúsculas será feita e a primeira variável personalizada correspondente será usada.
+
+## Ignorar o arquivo se a variável não foi encontrada
+
+Se ativado, títulos que não correspondem a uma variável serão excluídos.
diff --git a/src/lang/pt-BR/markdown/title-modifier.md b/src/lang/pt-BR/markdown/title-modifier.md
index ac88170af1..a96913ecc0 100644
--- a/src/lang/pt-BR/markdown/title-modifier.md
+++ b/src/lang/pt-BR/markdown/title-modifier.md
@@ -1,9 +1,11 @@
# Imagem padrão (opcional) `[suporta variáveis]`{.noWrap}
-O valor padrão é `${fuzzyTitle}`{.noWrap}. Esta configuração pode ser usada para antecipar ou anexar caracteres desejados a um executável que será adicionado à propriedade Steam (Target. Por exemplo, dado que `${fuzzyTitle}`{.noWrap} é `Zelda 2`, você pode adicionar `(1..5)` definindo o valor para:
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset. This setting can be used to prepend or append desired characters to a Steam shortcut's `Title`. Por exemplo, dado que `${fuzzyTitle}`{.noWrap} é `Zelda 2`, você pode adicionar `(1..5)` definindo o valor para:
+
```
${fuzzyTitle} (1.7.5)
```
+
Você pode usar `${title}`{.noWrap} ou qualquer outra variável para construir o título final.
Esta configuração é usada para influenciar o ID APP do Steam.
diff --git a/src/lang/pt-BR/markdown/uplay-parser-input.md b/src/lang/pt-BR/markdown/uplay-parser-input.md
index 2e44162bac..0cb5e3ea5f 100644
--- a/src/lang/pt-BR/markdown/uplay-parser-input.md
+++ b/src/lang/pt-BR/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# Entradas únicas para o analisador épico
+# Entradas específicas do Parser Battle.net
+
## Sobrescrever Diretório Uplay
-Por padrão Steam ROM Manager pressupõe que seu Galaxy Client está localizado em `C:\ProgramFiles (x86)\GOG GalaxyClient. exe`. Este campo permite que você substitua esse caminho se sua instalação do Amazon Games estiver em outro lugar.
+Por padrão Steam ROM Manager pressupõe que seu Galaxy Client está localizado em `C:\ProgramFiles (x86)\GOG GalaxyClient.exe`. Este campo permite que você substitua esse caminho se sua instalação do Amazon Games estiver em outro lugar.
## Inicie a Via Epic Games loja `[Recomendado ativado]`
-
Como parece, este alternador permite que você defina se os jogos serão executados via Amazon Games ou diretamente.
Para UPlay isso não é muito importante, já que os jogos UPlay vão iniciar automaticamente o UPlay em segundo plano mesmo quando iniciados pelo executável. A sobreposição do Steam não funcionará quando `a inicialização via UPlay` estiver ativada Enquanto que tanto o Steam quanto o Ubisoft sobrepõe o trabalho quando o `Iniciar via UPlay` estiver desativado.
diff --git a/src/lang/pt-BR/markdown/user-accounts.md b/src/lang/pt-BR/markdown/user-accounts.md
index ceb1fa3340..94339f3bee 100644
--- a/src/lang/pt-BR/markdown/user-accounts.md
+++ b/src/lang/pt-BR/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# Contas de usuário (opcional)
+# User accounts
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
+This field is used to limit SRM's effects to specific user accounts. It can be set to `Global` or over ridden per parser.
-`${...}`
+## Aviso
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either:
-
-* The account id is the name of the account directory that appears in `/path/to/steam/userdata`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
-
-## Warning
-
-Você **deve** usar o nome de usuário que você usa para **entrar** no Steam **se** [usar credenciais de conta](#what-does-use-account-credentials-do) estiver ativado: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. Você **deve** usar o nome de usuário que você usa para **entrar** no Steam **se** [usar credenciais de conta](#what-does-use-account-credentials-do) estiver ativado: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. Você **deve** usar o nome de usuário que você usa para **entrar** no Steam **se** [usar credenciais de conta](#what-does-use-account-credentials-do) estiver ativado: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. Você **deve** usar o nome de usuário que você usa para **entrar** no Steam **se** [usar credenciais de conta](#what-does-use-account-credentials-do) estiver ativado: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. Você **deve** usar o nome de usuário que você usa para **entrar** no Steam **se** [usar credenciais de conta](#what-does-use-account-credentials-do) estiver ativado: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. Você **deve** usar o nome de usuário que você usa para **entrar** no Steam **se** [usar credenciais de conta](#what-does-use-account-credentials-do) estiver ativado: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. Você **deve** usar o nome de usuário que você usa para **entrar** no Steam **se** [usar credenciais de conta](#what-does-use-account-credentials-do) estiver ativado: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. Você **deve** usar o nome de usuário que você usa para **entrar** no Steam **se** [usar credenciais de conta](#what-does-use-account-credentials-do) estiver ativado: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. Você **deve** usar o nome de usuário que você usa para **entrar** no Steam **se** [usar credenciais de conta](#what-does-use-account-credentials-do) estiver ativado: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. Você **deve** usar o nome de usuário que você usa para **entrar** no Steam **se** [usar credenciais de conta](#what-does-use-account-credentials-do) estiver ativado: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and `Choose Accounts` will only be able to pull your `Steam IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Settings` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
diff --git a/src/lang/pt-BR/markdown/user-exceptions.md b/src/lang/pt-BR/markdown/user-exceptions.md
index fb98de5ee1..3f23f7ffda 100644
--- a/src/lang/pt-BR/markdown/user-exceptions.md
+++ b/src/lang/pt-BR/markdown/user-exceptions.md
@@ -12,22 +12,22 @@ The `Extracted Title` field matches in two ways:
Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`.
-Exceptions generated from `Preview` will always be in the form `Extracted Title ${id:XXXXXX}`.
+Exceptions generated from `Add Games` will always be in the form `Extracted Title ${id:XXXXXX}`.
## Embed Html Callback
-This is the title that will display in Steam. It will not be used to search for images.
+Este é o título que será exibido na Steam. Não será usado para procurar imagens.
## Novo título de pesquisa
-This is the title that will be used to search for images on [SteamGridDB](https://www.steamgriddb.com). There are two options for overriding it:
+This is the title that will be used to search for images on [SteamGridDB](https://www.steamgriddb.com). Há duas opções para substituí-lo:
-* Specify the new search title as whatever text you want.
+* Especifique o novo título de pesquisa como o texto que você quiser.
* Especifique o Id exato do jogo para puxar imagens. Por exemplo, para obter imagens para o jogo [Flow](https://www.steamgriddb.com/game/5254019) que tem a url SteamGridDB `https://www. teamgriddb.com/game/5254019` você colocaria `${gameid:5254019}`.
## Novo Artigos de linha de comando
-Argumentos personalizados de linha de comando como `--fullscreen`, etc, que podem ser aplicados a um título específico. These only override the arguments field of the Steam shortcut and are never appended to the executable.
+Argumentos personalizados de linha de comando como `--fullscreen`, etc, que podem ser aplicados a um título específico. Estas substituem apenas o campo de argumentos do atalho Steam e nunca são anexados ao executável.
## Excluir Título
diff --git a/src/lang/pt-PT/langStrings.json b/src/lang/pt-PT/langStrings.json
index d42bc546d5..60484346ba 100644
--- a/src/lang/pt-PT/langStrings.json
+++ b/src/lang/pt-PT/langStrings.json
@@ -14,17 +14,17 @@
"games": "All Artwork"
},
"by": "by",
- "refreshImages": "Refresh images",
- "saveImage": "Save image to file",
- "addLocalImages": "Add local images",
- "retryDownload": "Retry download",
- "generateAppList": "Parse",
+ "refreshImages": "Refresh artwork",
+ "saveImage": "Save artwork to file",
+ "addLocalImages": "Add local artwork",
+ "retryDownload": "Retry artwork download",
+ "generateAppList": "Refresh",
"saveAppList": "Save to Steam",
"removeAppList": "Remove from Steam",
"remainingImages": "Retrieving urls:",
"stopUrlRetrieving": "Stop",
- "exportSelections": "Export",
- "importSelections": "Import",
+ "exportSelections": "Export art",
+ "importSelections": "Import art",
"backButton": "Back",
"logButton": "Log"
},
@@ -44,46 +44,46 @@
"removingFromCategories": "Removing all added category information",
"writingVDF_entries__i": "Writing VDF files and downloading high res images in batches of ${batchSize}.",
"updatingKnownSteamDirList": "Updating a list of known Steam directories.",
- "retryingDownload__i": "Retrying image download from \"${imageUrl}\" for \"${appTitle}\".",
- "disabledConfigurations__i": "${count} user configuration(s) was/were skipped (disabled by user).",
- "invalidConfigurations__i": "${count} user configuration(s) was/were skipped (invalid).",
+ "retryingDownload__i": "Retrying artwork download from \"${imageUrl}\" for \"${appTitle}\".",
+ "disabledConfigurations__i": "${count} user parser(s) was/were skipped (disabled by user).",
+ "invalidConfigurations__i": "${count} user parser(s) was/were skipped (invalid).",
"executingParsers": "Executing parsers.",
- "shutdownSteam": "Please shutdown Steam if it is running.",
- "noParserConfigurations": "Please create parser configuration in \"Parsers\" menu first.",
+ "shutdownSteam": "If Steam is running, exit Steam.",
+ "noParserConfigurations": "Please create parser in \"Parsers\" menu first.",
"parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
- "allImagesRetrieved": "All available image urls retrieved.",
+ "allImagesRetrieved": "All available artwork urls retrieved.",
"providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
"noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
- "preparingExport": "Preparing export of image choices.",
- "exportProgress__i": "Saving image choices ${progress}.",
- "readingSelections": "Applying imported image choices."
+ "preparingExport": "Preparing export of artwork choices.",
+ "exportProgress__i": "Saving artwork choices ${progress}.",
+ "readingSelections": "Applying imported artwork choices."
},
"errors": {
- "fatalError": "Fatal error occurred in Preview. See event log for details.",
- "fatalError__i": "Fatal Preview Error ${error}",
+ "fatalError": "Fatal error occurred in Add Games. See event log for details.",
+ "fatalError__i": "Fatal Add Games error: ${error}",
"knownSteamDirListIsEmpty": "A list of known Steam directories is empty.",
"steamIsRunning": "Cannot make changes while steam is running!",
"categorySaveError": "Error updating categories. See event log for details.",
"categorySaveError__i": "Category error (shortcuts and artwork will still be added): ${error}",
"controllerSaveError": "Error updating controller templates. See event log for details.",
"controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
- "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
+ "retryingDownload__i": "Artwork download from \"${imageUrl}\" failed for \"${appTitle}\".",
"providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
"unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
"exportError__i": "Could not save selections package folder: ${error}",
"importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
- "importFailError__i": "Could not import image choices: ${error}"
+ "importFailError__i": "Could not import artwork choices: ${error}"
},
"success": {
"writingVDF_entries": "Done adding/removing entries.",
"removingVDF_entries": "Entries have been removed.",
- "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
- "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
+ "exportSuccess__i": "Artwork choices folder successfully saved to \"${path}\"!",
+ "importSelectionsSuccess__i": "Successfully imported ${count} artwork choices!"
}
}
},
"steamParser": {
- "onlyGamesTitle": "Find artwork for games only (no tools)",
+ "onlyGamesTitle": "Find artwork for games only (no tools or demos)",
"onlyInstalledTitle": "Find artwork for installed titles only",
"sourceModsTitle": "Find artwork for unofficial source mods",
"errors": {
@@ -93,16 +93,30 @@
"fatalError__i": "> Steam parser failed with fatal error:\n ${error}"
}
},
+ "nonSRMShortcutsParser": {
+ "errors": {
+ "noSteamAccounts": "> Steam directory specified has no accounts.",
+ "fatalError__i": "> Non-SRM Shortcuts parser failed with fatal error:\n ${error}"
+ }
+ },
"manualParser": {
"manifestsInputTitle": "Manifests Directory",
- "manifestsInputPlaceholder": "/path/to/your/manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"errors": {
"fatalError__i": "> Manual parser failed with fatal error:\n ${error}"
}
},
"epicParser": {
"manifestsInputTitle": "Epic Manifests Directory Override",
- "manifestsInputPlaceholder": "/path/to/Manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"launcherModeInputTitle": "Launch games via Epic for online services",
"errors": {
"invalidManifestsOverride": "> Manifests Override is not a valid directory.",
@@ -112,25 +126,56 @@
}
},
"legendaryParser": {
+ "launcherModeInputTitle": "Launch games via Legendary for online services",
"legendaryInstalledFileTitle": "Legendary installed.json Path Override",
- "legendaryInstalledFilePlaceholder": "/path/to/legendary/installed.json",
+ "legendaryInstalledFilePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary\\installed.json",
+ "Darwin": "/path/to/legendary/installed.json",
+ "Linux": "/path/to/legendary/installed.json"
+ },
+ "legendaryExeOverrideTitle": "Legendary Path Override",
+ "legendaryExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary.exe",
+ "Darwin": "/path/to/legendary",
+ "Linux": "/path/to/legendary"
+ },
"errors": {
"legendaryNotInstalled": "> Legendary installed.json not found",
- "fatalError__i": "> Legendary parser failed with fatal error: \n ${error}"
+ "fatalError__i": "> Legendary parser failed with fatal error:\n ${error}"
+ }
+ },
+ "battleNetParser": {
+ "battleExeOverrideTitle": "Battle.net.exe Path Override",
+ "battleExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Battle.net\\Battle.net.exe",
+ "Darwin": "/path/to/Battle.net.app/Contents/MacOS/Battle.net",
+ "Linux": "/path/to/Battle.net"
+ },
+ "errors": {
+ "battleNotCompatible": "> Battle.net parser is only available on Windows.",
+ "fatalError__i": "> Battle.net parser failed with fatal error:\n ${error}"
}
},
"UWPParser": {
"UWPDirTitle": "XboxGames Directory Override",
- "UWPDirPlaceholder": "/path/to/XboxGames or /path/to/WindowsApps",
+ "UWPDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\XboxGames\\ or C:\\path\\to\\WindowsApps\\",
+ "Darwin": "/path/to/XboxGames/ or /path/to/WindowsApps/",
+ "Linux": "/path/to/XboxGames/ or /path/to/WindowsApps/"
+ },
"UWPLauncherModeTitle": "Launch game as UWP instead of launcher helper",
"errors": {
"fatalError__i": "> UWP parser is not compatible in this platform.",
- "UWPNotCompatible": "> UWP parser failed with fatal error:\n ${error}"
+ "UWPNotCompatible": "> UWP parser is only available on Windows."
}
},
"uplayParser": {
"uplayDirTitle": "Ubisoft Directory Override",
- "uplayDirPlaceholder": "/path/to/Ubisoft/",
+ "uplayDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Ubisoft\\",
+ "Darwin": "/path/to/Ubisoft/",
+ "Linux": "/path/to/Ubisoft/"
+ },
"launcherModeInputTitle": "Launch games via UPlay for online services",
"errors": {
"invalidManifestsOverride": "> Uplay Directory Override is not a valid directory.",
@@ -142,8 +187,14 @@
},
"gogParser": {
"galaxyExeOverrideTitle": "Galaxy Path Override",
- "galaxyExeOverridePlaceholder": "/path/to/GalaxyClient.exe",
+ "galaxyExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\GalaxyClient.exe",
+ "Darwin": "/path/to/GOG Galaxy.app/Contents/MacOS/GOG Galaxy",
+ "Linux": "/path/to/GalaxyClient"
+ },
"launcherModeInputTitle": "Launch games via GOG Galaxy",
+ "parseLinkedExecsTitle": "Parse linked executables from GOG Galaxy",
+ "parseRegistryEntries": "Parse using Registry instead of Galaxy DB",
"errors": {
"invalidGalaxyExeOverride": "> Galaxy Client Override is not a valid path.",
"fatalError__i": "> GOG Galaxy parser failed with fatal error:\n ${error}",
@@ -153,7 +204,11 @@
},
"amazonGamesParser": {
"exeOverrideTitle": "Amazon Games Path Override",
- "exeOverridePlaceholder": "/path/to/Amazon Games.exe",
+ "exeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Amazon Games.exe",
+ "Darwin": "/path/to/Amazon Games.app/Contents/MacOS/Amazon Games",
+ "Linux": "/path/to/Amazon Games"
+ },
"launcherModeInputTitle": "Launch games via Amazon Games",
"errors": {
"invalidExeOverride": "> Amazon Games Installation Override is not a valid directory.",
@@ -164,7 +219,11 @@
},
"itchIoParser": {
"itchIoAppDataOverrideTitle": "itch.io AppData Directory Override",
- "itchIoAppDataOverridePlaceholder": "/path/to/itch",
+ "itchIoAppDataOverridePlaceholder": {
+ "Windows_NT": "C:\\AppData\\itch\\",
+ "Darwin": "~/Library/Application Support/itch/",
+ "Linux": "~/.config/itch/"
+ },
"itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Windows-on-Linux Install Drive Redirect",
"itchIoWindowsOnLinuxInstallDriveRedirectPlaceholder": "/mnt/d/",
"errors": {
@@ -177,7 +236,11 @@
},
"eaDesktopParser": {
"eaGamesDirTitle": "EA Games Directory Override",
- "eaGamesDirPlaceholder": "/path/to/EA Games/",
+ "eaGamesDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\EA Games\\",
+ "Darwin": "/path/to/EA Games/",
+ "Linux": "/path/to/EA Games/"
+ },
"eaLauncherModeTitle": "Launch games via EA Desktop",
"errors": {
"fatalError__i": "> EA Desktop parser failed with fatal error:\n ${error}",
@@ -186,7 +249,7 @@
}
},
"globParser": {
- "inputTitle": "User's glob",
+ "inputTitle": "Search glob",
"inputPlaceholder": "${title}.@(iso|ISO)",
"errors": {
"noTitle__md": "> File glob must contain `${title}`!",
@@ -203,7 +266,7 @@
}
},
"globRegexParser": {
- "inputTitle": "User's glob-regex",
+ "inputTitle": "Search glob-regex",
"inputPlaceholder": "${/valid regex/}",
"errors": {
"noRegex__md": "> File glob must contain `${regex}` where **regex** is your regular expression!",
@@ -226,18 +289,22 @@
"stylesTitle": "Allowed grid styles",
"stylesHeroTitle": "Allowed hero styles",
"stylesLogoTitle": "Allowed logo styles",
- "stylesIconTitle": "Allowed icon styles"
+ "stylesIconTitle": "Allowed icon styles",
+ "sizesTitle": "Allowed banner dimensions",
+ "sizesHeroTitle": "Allowed hero dimensions",
+ "sizesTallTitle": "Allowed portrait dimensions",
+ "sizesIconTitle": "Allowed icon dimensions"
},
"logger": {
"component": {
"noMessages": "No messages are available",
- "error": "ERROR",
- "info": "INFO",
- "success": "SUCCESS",
- "fuzzy": "FUZZY",
- "textWrap": "TEXT-WRAP",
- "autoscroll": "AUTOSCROLL",
- "clearLog": "Clear log",
+ "error": "Error messages",
+ "info": "Info messages",
+ "success": "Success messages",
+ "fuzzy": "Fuzzy messages",
+ "textWrap": "Wrap text",
+ "autoscroll": "Autoscroll",
+ "clearLog": "Clear",
"issueDescription": "Thorough issue description with passable spelling.",
"handleExample": "CoolHandle#1234"
}
@@ -251,40 +318,42 @@
"corruptedVariables__i": "Saved custom variables are invalid!\r\nPermanent variable saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "Custom variables file has been downloaded."
+ "downloaded": "Custom variables file has been updated."
}
}
},
"configPresets": {
"service": {
"error": {
- "failedToDownload__i": "Failed to download configuration presets file. Status: ${error}.",
+ "failedToDownload__i": "Failed to download configuration presets file from commit ${commit}. Status: ${error}.",
"writingError": "Error occurred while saving configuration presets.",
"loadingError": "Error occurred while loading configuration presets.",
"corruptedVariables__i": "Saved configuration presets are invalid!\r\nPermanent file saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "New config presets have been downloaded."
+ "downloaded": "Community presets have been updated."
}
}
},
"settings": {
"component": {
"label": {
- "general": "General settings",
- "imageProviders": "Image provider settings",
- "fuzzy": "Fuzzy matcher settings",
- "environmentVariables": "Environment variable settings",
- "communityPresets": "Community variable/preset settings"
+ "general": "General",
+ "imageProviders": "Artwork Providers",
+ "fuzzy": "Fuzzy Matcher",
+ "environmentVariables": "Environment Variables",
+ "communityPresets": "Community Presets and Custom Variables"
},
"text": {
+ "autoUpdate": "Check for updates on start",
"offlineMode": "Offline mode",
- "removeApps_desc": "all added app entries and controllers",
+ "removeApps_desc": "all added games and controllers",
"removeApps_btn": "Remove",
- "preloadImages": "Preload retrieved images immediately",
+ "preloadImages": "Artwork loading strategy",
"fuzzy_verbose": "Log matching results",
- "fuzzy_filter": "Filter images",
+ "fuzzy_filter": "Filter artwork",
"enabledProviders": "Enabled image providers",
+ "dnsServers": "DNS manual override",
"selectLanguage": "Select language",
"selectTheme": "Select theme",
"resetFuzzy_desc": "fuzzy list",
@@ -292,28 +361,38 @@
"resetFuzzy_btn": "Reset",
"customVariables_desc": "custom variables",
"configPresets_desc": "config presets",
- "showSteamImages": "Show current Steam images by default",
+ "showSteamImages": "Show current Steam artwork by default",
"deleteDisabledShortcuts": "Remove shortcuts for disabled parsers",
"clearLogOnTest": "Automatically clear log before testing parsers",
- "configDir": "Open Config Directory"
+ "configDir": "Config Directory",
+ "steamDir": "Steam Directory"
},
"placeholder": {
"noProviders": "None",
- "steamDirectoryWin": "Typically C:\\Program Files (x86)\\Steam",
- "steamDirectoryMac": "Typically ~/Library/Application Support/Steam",
- "steamDirectoryLinux": "Typically /home/user/.steam/steam",
"userAccounts": "For example ${steamlogin}",
- "romsDirectoryWin": "For example D:\\ROMs",
- "romsDirectoryMac": "For example ~/ROMs",
- "romsDirectoryLinux": "For example ~/ROMs",
- "retroarchPathWin": "For example C:\\Path\\To\\retroarch.exe",
- "retroarchPathLinux": "For example /path/to/retroarch",
- "retroarchPathMac": "For example /path/to/retroarch",
- "raCoresDirectoryWin": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores",
- "raCoresDirectoryLinux": "Typically /lib/x86_64-linux-gnu/libretro/cores",
- "raCoresDirectoryMac": "Typically /Applications/Retroarch.app/Contents/Resources/cores",
- "localImagesDirectoryWin": "For example C:\\Path\\To\\LocalArtwork",
- "localImagesDirectoryUnix": "For example ~/path/to/localartwork"
+ "bySystem": {
+ "Windows_NT": {
+ "steamDirectory": "Typically C:\\Program Files (x86)\\Steam\\",
+ "romsDirectory": "For example D:\\ROMs\\",
+ "retroarchPath": "For example C:\\Path\\To\\Retroarch.exe",
+ "raCoresDirectory": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores\\",
+ "localImagesDirectory": "For example C:\\Path\\To\\LocalArtwork\\"
+ },
+ "Darwin": {
+ "steamDirectory": "Typically ~/Library/Application Support/Steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /Applications/Retroarch.app/Contents/Resources/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ },
+ "Linux": {
+ "steamDirectory": "Typically /home/user/.steam/steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /lib/x86_64-linux-gnu/libretro/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ }
+ }
}
},
"service": {
@@ -331,6 +410,7 @@
"component": {
"about": "About",
"preview": "Preview",
+ "view": "View Games",
"logger": "Log",
"settings": "Settings",
"parsers": "Create Parser",
@@ -352,6 +432,9 @@
"title": "User Exceptions",
"exclude": "Exclude Title",
"excludeArtwork": "Local Artwork Only"
+ },
+ "placeholder": {
+ "sortBy": "Sort By"
}
},
"service": {
@@ -366,8 +449,8 @@
"component": {
"buttons": {
"save": "Save",
- "copy": "Copy",
- "testParser": "Test parser",
+ "copy": "Clone",
+ "testParser": "Test",
"delete": "Delete",
"moveUp": "Move up",
"moveDown": "Move down",
@@ -381,23 +464,23 @@
"opSys__i": "Operating system is \"${os}\"",
"testCompleted": "Parser test is completed.",
"nothingWasFound": "Parser found nothing.",
- "copiedToClipboard": "Configuration copied to clipboard",
+ "copiedToClipboard": "Parser copied to clipboard",
"userExclusions": "User excluded:",
- "excludedFileInfo__i": "[${index}/${total}]: ${filename}",
+ "excludedFileInfo__i": "[${index}/${total}]: ${filename}\n Excluded by \"${exceptionKey}\"",
"removingControllers__i": "Removing controller templates for parser: ${configTitle}",
"fetchingControllerTemplates": "Fetching controller templates"
},
"error": {
"missingAccounts__i": "Following ${count} user account(s) were not found (user must to login to Steam at least once):",
"missingAccountInfo__i": " ${name}",
- "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials (\"Show advanced options -> User accounts -> Use account credentials\").\r\nIf you're seeing this, preview won't be generated for this configuration.",
+ "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials.\r\nIf you're seeing this, Add Games will skip this configuration.",
"cannotParseUserIDs": "Error parsing user accounts:",
"failedToMatch": "Failed to match:",
"failedFileInfo__i": "[${index}/${total}]: ${filename}",
"testFailed": "Testing failed",
"cannotTestInvalid": "Can not test invalid configuration!",
"cannotCopyInvalid": "Can not copy invalid configuration!",
- "failedToCopy": "Failed to copy to clipbard!",
+ "failedToCopy": "Failed to copy to clipboard!",
"cannotFetchTemplates": "Can not fetch controller templates for invalid steam directory!",
"errorRemovingControllers": "Error removing controllers:",
"cannotRemoveControllers": "Can not remove controllers from invalid steam directory!"
@@ -405,8 +488,8 @@
"success": {
"foundAccounts__i": "Found ${count} available user account(s):",
"foundAccountInfo__i": " ${name} (steamID64: ${steamID64}, accountID: ${accountID})",
- "steamCategory__i": "[${index}/${total}]: Steam categories - ${steamCategory}",
- "steamCategoryInfo__i": "[${index}/${total}]: ${steamCategory}",
+ "steamCategories__i": "[${index}/${total}]: Steam categories - ${steamCategories}",
+ "steamCategoriesInfo__i": "[${index}/${total}]: ${steamCategories}",
"exceptionKey__i": "[${index}/${total}]: Exception ID - ${appid}",
"appId__i": "[${index}/${total}]: Legacy App ID - ${appid}",
"shortAppId__i": "[${index}/${total}]: App ID - ${appid}",
@@ -416,20 +499,21 @@
"filePath__i": "[${index}/${total}]: File path - ${filePath}",
"startDir__i": "[${index}/${total}]: Start dir - ${startDir}",
"completeShortcut__i": "[${index}/${total}]: Complete shortcut - ${shortcut}",
- "firstImageQuery__i": "[${index}/${total}]: Image queries - ${query}",
+ "firstImageQuery__i": "[${index}/${total}]: Artwork queries - ${query}",
+ "imagePool__i": "[${index}/${total}]: Artwork pool - ${imagePool}",
"imageQueries__i": "[${index}/${total}]: ${query}",
"defaultImage__i": "[${index}/${total}]: Resolved fallback ${artworkType}:\r\n[${index}/${total}]: ${image}",
"resolvedDefaultImage__i": "[${index}/${total}]: Fallback ${artworkType}:",
- "localImages__i": "[${index}/${total}]: Resolved ${artworkType}:",
- "resolvedLocalImages__i": "[${index}/${total}]: ${artworkType} glob:",
+ "localImages__i": "[${index}/${total}]: Resolved local ${artworkType}:",
+ "resolvedLocalImages__i": "[${index}/${total}]: Local ${artworkType} glob:",
"indexInfo__i": "[${index}/${total}]: ${indexed}",
"removedControllers__i": "Succesfully removed controllers for parser: ${configTitle}",
"fetchedTemplates": "Fetched all controller templates"
},
"label": {
"parserType": "Parser type",
- "configTitle": "Configuration title",
- "steamCategory": "Steam category",
+ "configTitle": "Parser title",
+ "steamCategories": "Steam collections",
"executableModifier": "Executable modifier",
"executableLocation": "Executable",
"romDirectory": "ROMs directory",
@@ -440,33 +524,56 @@
"titleModifier": "Title modifier",
"fuzzyMatch": "Fuzzy matching",
"executableArgs": "Command line arguments",
- "onlineImageQueries": "Online image query",
- "imagePool": "Image pool",
- "imageProviders": "Image providers",
+ "onlineImageQueries": "Artwork provider search queries",
+ "imagePool": "Artwork pool",
+ "imageProviders": "Artwork providers",
"defaultImage__i": "Fallback ${artworkType}",
"localImages__i": "Local ${artworkType} glob"
},
"placeholder": {
"parserType": "Select parser...",
"configTitle": "My Awesome Parser",
- "steamCategory": "${cat1}${cat2}",
- "steamDirectory": "${steamdirglobal} or /path/to/steam",
- "userAccounts": "${steamuser1}${steamuser2} or ${${accountsglobal}}",
- "titleFromVariable": "${myvariable}",
+ "steamDirectory": {
+ "Windows_NT": "${steamdirglobal} or C:\\path\\to\\Steam\\",
+ "Darwin": "${steamdirglobal} or /path/to/Steam/",
+ "Linux": "${steamdirglobal} or /path/to/Steam/"
+ },
+ "titleFromVariable": "${variableGroup1}${variableGroup2}",
"titleModifier": "${fuzzyTitle} or ${title}",
- "defaultImage__i": "/path/to/fallback_${artworkType}.png",
- "localImages__i": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
- "romDirectory": "/path/to/games/",
+ "defaultImage__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\fallback_${artworkType}.png",
+ "Darwin": "/path/to/fallback_${artworkType}.png",
+ "Linux": "/path/to/fallback_${artworkType}"
+ },
+ "localImages__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\art\\\\${artworkType}\\\\\\${title}.@(png|jpg)",
+ "Darwin": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
+ "Linux": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)"
+ },
+ "onlineImageQueries": "${${fuzzyTitle}} or ${${title}}${${fuzzyTitle}}",
+ "imagePool": "${fuzzyTitle}",
+ "romDirectory": {
+ "Windows_NT": "C:\\path\\to\\games\\",
+ "Darwin": "/path/to/games/",
+ "Linux": "/path/to/games/"
+ },
"glob": "${title}.@(iso|ISO)",
- "executableLocation": "Example: /path/to/emulator.exe",
- "executableArgs": "--arg1 --arg2",
+ "executableLocation": {
+ "Windows_NT": "C:\\path\\to\\emulator.exe",
+ "Darwin": "/path/to/emulator.app",
+ "Linux": "/path/to/emulator"
+ },
+ "executableArgs": "--arg1 --arg2 --launch \"${filePath}\"",
"executableModifier": "\"${exePath}\"",
- "startInDirectory": "/path/to/start/in/dir",
+ "startInDirectory": {
+ "Windows_NT": "C:\\path\\to\\start-in-dir\\",
+ "Darwin": "/path/to/start-in-dir/",
+ "Linux": "/path/to/start-in-dir/"
+ },
"imageProviders": "None",
"multiAPIPlaceholder": "No Filter"
},
"text": {
- "tryToMatchTitle": "Enable Title from Custom Variable",
"skipFileIfVariableWasNotFound": "Skip file if variable was not found",
"caseInsensitiveVariables": "Case-insensitive variables",
"shortcut_passthrough": "Follow .lnk or .desktop to destination (Windows and Linux only)",
@@ -482,18 +589,18 @@
},
"service": {
"info": {
- "updatingConfigurations": "Updating user configurations with new fields"
+ "updatingConfigurations": "Updating user's parsers with new fields"
},
"error": {
- "savingConfiguration": "Error encountered while saving user configurations!",
- "readingConfiguration": "Error encountered while reading user configurations!",
+ "savingConfiguration": "Error encountered while saving user's parsers!",
+ "readingConfiguration": "Error encountered while loading user's parsers!",
"parserTypeMissing": "Cannot save without specifying parser type",
- "corruptedConfiguration__i": "One or more saved parser configurations are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
- "fetcingTemplates": "Error encountered while fetching controllers templates!"
+ "corruptedConfiguration__i": "One or more saved parsers are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
+ "fetchingTemplates": "Error encountered while fetching controllers templates!"
},
"validationErrors": {
"parserType__md": "> Incorrect parser type!",
- "configTitle__md": "> Configuration title is required!",
+ "configTitle__md": "> Parser title field cannot be blank!",
"parserId__md": "> Parser Id is missing, something is horribly wrong.",
"parserInput": {
"noInput": "No inputs are available!",
@@ -501,19 +608,15 @@
"incorrectParser": "Incorrect parser!"
},
"romDir__md": "> ROMs directory is invalid!",
- "userAccounts__md": "> Steam parser requires `User Accounts` field",
+ "userAccounts__md": "> User accounts field is required!",
"steamDir__md": "> Steam directory is invalid!",
"startInDir__md": "> \"Start In\" directory is invalid!",
"executable__md": "> Executable is invalid!",
- "imagePool__md": "> Image pool must not be empty!",
- "defaultImage__md": "> Default image is an invalid path!",
- "titleModifier__md": "> Title modifier must not be empty!",
- "executableModifier__md": "> Executable modifier must not be empty!",
- "variableString__md": "> Uneven number of `${` and `}` pairs. Use `\\` to escape `${` or `}` if you want to use them as characters.",
- "imageProviders__md": "> Incorrect image providers type!",
- "unhandledValidationKey__md": "> Input's validation is unhandled",
- "genericDir__md": "> Directory is invalid",
- "genericPath__md": "> Path is invalid"
+ "defaultImage__md": "> Fallback artwork is an invalid path!",
+ "variableString__md": "> Uneven number of `${` and `}` pairs! Use `\\` to escape `${` or `}` if you want to use them as characters.",
+ "unhandledValidationKey__md": "> Input's validation is unhandled!",
+ "genericDir__md": "> Directory is invalid!",
+ "genericPath__md": "> Path is invalid!"
},
"text": {
"noTitle": "No title!"
@@ -540,7 +643,7 @@
"error": {
"parserNotFound__i": "Parser \"${name}\" not found!",
"tooManyFieldGlobs__md": "> Only one `$(...)$` set is allowed per input.",
- "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** ir **Glob-regex** field.",
+ "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** in **Glob-regex** field.",
"noWinSlashes__md": "> Windows directory character `\\` is not allowed! Use `/` instead."
}
},
@@ -567,11 +670,11 @@
"error": {
"readingVdf__i": "Failed to read from \"${filePath}\".\n ${error}",
"writingVdf__i": "Failed to write to \"${filePath}\".\n ${error}",
- "skippingDMCA__i": "Skipping DMCA'd image for ${title}",
+ "skippingDMCA__i": "Skipping DMCA'd artwork for ${title}",
"corruptedVdf__i": "\"${filePath}\" is corrupted.\n ${error}",
"creatingBackup__i": "Could not create backup for \"${filePath}\".\n ${error}",
"unsupportedMimeType__i": "Mime type (${type}) is unsupported (title - \"${title}\").",
- "imageError__i": "Error occurred while saving/downloading image for \"${title}\". Url: ${url}.\n ${error}"
+ "imageError__i": "Error occurred while saving/downloading artwork for \"${title}\". Url: ${url}.\n ${error}"
}
},
"helpers": {
diff --git a/src/lang/pt-PT/markdown/UWP-parser-input.md b/src/lang/pt-PT/markdown/UWP-parser-input.md
index 1a3f20be1d..8c045eea77 100644
--- a/src/lang/pt-PT/markdown/UWP-parser-input.md
+++ b/src/lang/pt-PT/markdown/UWP-parser-input.md
@@ -1,4 +1,4 @@
-# Unique inputs for UWP Parser
+# UWP Parser Specific Inputs
## Games directory
@@ -8,4 +8,4 @@ Set it to `C:\Program Files\WindowsApps` to grab all UWP applications -- you'll
## Launch as UWP or from GameLaunchHelper.exe
-Gamepass games can be launched both ways, although UWP is preffered.
+Gamepass games can be launched both ways, although UWP is preferred.
diff --git a/src/lang/pt-PT/markdown/UWP-parser.md b/src/lang/pt-PT/markdown/UWP-parser.md
index bfb5a847f3..af4fee0f84 100644
--- a/src/lang/pt-PT/markdown/UWP-parser.md
+++ b/src/lang/pt-PT/markdown/UWP-parser.md
@@ -4,4 +4,4 @@ This parser imports `UWP` games in your Windows OS, having a games library path
## Compatibility
-This parser should only work on `Windows 10` and `Windows 11`.
\ No newline at end of file
+This parser should only work on `Windows 10` and `Windows 11`.
diff --git a/src/lang/pt-PT/markdown/about.md b/src/lang/pt-PT/markdown/about.md
index a156ab5b41..6613917032 100644
--- a/src/lang/pt-PT/markdown/about.md
+++ b/src/lang/pt-PT/markdown/about.md
@@ -1,25 +1,25 @@
-## System info
+##
-In case you're having trouble with SRM, feel free to visit the [discord](https://discord.gg/bnSVJrz) or the [subreddit](https://www.reddit.com/r/SteamRomManager/) and ask for our help. In order for us to help you, we would like you to provide this info:
+. :
-* SRM version: **#{APP[version]}**
-* Operating System: **#{APP[os]}**
+*
+*
-## Useful links
+##
-* [SRM Releases](https://github.com/SteamGridDB/steam-rom-manager/releases)
-* [Discord Server](https://discord.gg/bnSVJrz)
-* [r/SteamRomManager](https://www.reddit.com/r/SteamRomManager/)
-* [Steam Group](https://steamcommunity.com/groups/steamrommanager)
-* [Github Repo](https://github.com/SteamGridDB/steam-rom-manager)
-* [Crowdin Translation Project](https://crowdin.com/project/steam-rom-manager)
+* [Versões SRM](https://github.com/SteamGridDB/steam-rom-manager/releases)
+* [Servidor do Discord](https://discord.gg/bnSVJrz)
+* [](https://www.reddit.com/r/SteamRomManager/)
+* [Grupo Steam](https://steamcommunity.com/groups/steamrommanager)
+* [Repositório no GitHub](https://github.com/SteamGridDB/steam-rom-manager)
+* [](https://crowdin.com/project/steam-rom-manager)
-## Support
+## Suporte
-Help support continued progress on Steam ROM Manager at:
+Ajude a apoiar o progresso contínuo no Steam ROM Manager em:
-
+
[SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon.
@@ -28,26 +28,27 @@ Help support continued progress on Steam ROM Manager at:
-## Contributions
-* `FrogTheFrog`{.noWrap} - Creator of SRM, no longer active on SRM but currently working on the [MoonDeck Plugin](https://github.com/FrogTheFrog/moondeck)
-
-### Current Maintainers
-* `lontanadascienza`{.noWrap} - Updated SRM to handle heroes, posters, logos, and icons. Added the exception manager, controller management, platform parsers (Epic, GOG, Steam, etc), among many other things. Squashes bugs almost as fast as he introduces them.
-* `Zennn`{.noWrap} - Added category support, langauge localization, and the bug report server among many other things. Big boss over at [SteamGridDB](https://www.steamgriddb.com/).
-* `KenCinder`{.noWrap} - Manages and creates community parser presets and helps user setup SRM in [Discord](https://discord.gg/bnSVJrz).
-
-### Feature Contributions
-* `dragoonDorise`{.noWrap} - Added new themes to SRM. Creator and current maintainer of [EmuDeck](https://www.emudeck.com/). Creator and current maintainer of [EmuDeck](https://www.emudeck.com/).
-* `alvaromunoz`{.noWrap} - Added Game Pass parser to SRM.
-* `lexarvn`{.noWrap} - Added the Amazon Games parser and the itch.io parser.
-* `CarJem`{.noWrap} - Added the manual parser.
-* `MattMckenzy`{.noWrap} - Added ability to import and export image choices.
-* `Apalatn`{.noWrap} - Added an install drive redirect option to the itch.io parser.
-* `OneMoreByte` - Made itch.io parser work on linux and mac.
-* `UndarkAido` - Added shortcut passthrough for Linux's .desktop shortcuts.
+## Contribuições
+* `FrogTheFrog`{.noWrap} - Criador de SRM, não mais ativo no SRM, mas funcionando atualmente no Plugin [MoonDeck](https://github.com/FrogTheFrog/moondeck)
+
+### Mantedores atuais
+* `lontanadascienza`{.noWrap} - SRM atualizado para lidar com heróis, pósteres, logótipos e ícones. Esmaga bugs quase tão rápido quanto ele os apresenta.
+* `Zennn`{.noWrap} — Suporte a categoria adicionado, localização de linguagem e o servidor de relatório de bug entre muitas outras coisas. Grande chefe no [SteamGridDB](https://www.steamgriddb.com/).
+* `KenCinder`{.noWrap} - Gere e cria predefinições de análise de comunidades e ajuda a configuração SRM do utilizador em [Discord](https://discord.gg/bnSVJrz).
+
+### Contribuições de Recursos
+* `dragoonDorise`{.noWrap} - Added new themes to SRM. Creator and current maintainer of [EmuDeck](https://www.emudeck.com/).
+* `alvaromunoz`{.noWrap} - Parser de Passe de Jogo adicionado à SRM.
+* `lexarvn`{.noWrap} - Adicionado o parser Amazon Games e o analisador itch.io.
+* `CarJem`{.noWrap} - Adicionado o analisador manual.
+*
+* `Apalatn`{.noWrap} - Adicionada uma opção de redirecionamento de unidade de instalação ao parser itch.io.
+* `OneMoreByte`{.noWrap} - Feito parser da itch.io em Linux e Mac.
+* `UndarkAido`{.noWrap} - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `HazardousBackup`{.noWrap} - Added option to GOG parser to parse Registry instead of GOG's DB.
### Community
-* `HE Spoke`{.noWrap} - created a community around SRM. `HE Spoke`{.noWrap} - created a community around SRM. Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups. `HE Spoke`{.noWrap} - created a community around SRM. Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups. Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
-* `dragoonDorise`{.noWrap} - Added new themes to SRM. Creator and current maintainer of [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/).
-* `Choko`{.noWrap} - Helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
-* `Xav83`{.noWrap} - Creator and maintainer of SRM's [Chocolatey package](https://community.chocolatey.org/packages/steam-rom-manager)
+* `HE Spoke`{.noWrap} - created a community around SRM. `HE Spoke`{.noWrap} - created a community around SRM. Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups. `HE Spoke`{.noWrap} - created a community around SRM. Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups.
+* `dragoonDorise`{.noWrap} - Added new themes to SRM. Creator and current maintainer of [EmuDeck](https://www.emudeck.com/).
+*
+*
diff --git a/src/lang/pt-PT/markdown/amazon-games-parser-input.md b/src/lang/pt-PT/markdown/amazon-games-parser-input.md
index 7ac728e20b..1c6355646c 100644
--- a/src/lang/pt-PT/markdown/amazon-games-parser-input.md
+++ b/src/lang/pt-PT/markdown/amazon-games-parser-input.md
@@ -1,7 +1,6 @@
-# Amazon Games Parser specific inputs
+#
-## Amazon Games Path Override
-By default Steam ROM Manager assumes your Amazon Games installation is located at `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`. This field allows you to override that path if your Amazon Games installation is elsewhere.
+##
## Launch Via Amazon Games
diff --git a/src/lang/pt-PT/markdown/amazon-games-parser.md b/src/lang/pt-PT/markdown/amazon-games-parser.md
index cdfda7c283..eb556fcc6e 100644
--- a/src/lang/pt-PT/markdown/amazon-games-parser.md
+++ b/src/lang/pt-PT/markdown/amazon-games-parser.md
@@ -1,3 +1,3 @@
# Amazon Games Parser
-This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/pt-PT/markdown/battle-net-parser-input.md b/src/lang/pt-PT/markdown/battle-net-parser-input.md
new file mode 100644
index 0000000000..1f03fae4a6
--- /dev/null
+++ b/src/lang/pt-PT/markdown/battle-net-parser-input.md
@@ -0,0 +1,5 @@
+# Battle.net Parser Specific Inputs
+
+## Battle.net.exe Path Override
+
+By default Steam ROM Manager assumes your `Battle.net` executable is located at `C:\Program Files (x86)\Battle.net\Battle.net.exe`. This field allows you to override that if your `Battle.net` is installed elsewhere.
diff --git a/src/lang/pt-PT/markdown/battle-net-parser.md b/src/lang/pt-PT/markdown/battle-net-parser.md
new file mode 100644
index 0000000000..c3ffb10b67
--- /dev/null
+++ b/src/lang/pt-PT/markdown/battle-net-parser.md
@@ -0,0 +1,5 @@
+# Battle.net Parser
+
+This parser imports games from the `Battle.net` app, so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Blizzard has altered the structure of their database files, in which case please let the developers of SRM know and we will resolve the issue.
+
+The `Battle.net` parser is somewhat special in that it uses a shell script at `${srmDir}/scripts/bnet.ps1` in order to launch `Battle.net`, wait an appropriate amount of time, and only then launch the actual title.
diff --git a/src/lang/pt-PT/markdown/config-title.md b/src/lang/pt-PT/markdown/config-title.md
index ed2eeef493..abadc31951 100644
--- a/src/lang/pt-PT/markdown/config-title.md
+++ b/src/lang/pt-PT/markdown/config-title.md
@@ -1,3 +1,5 @@
-# Configuration title
+# Parser title
-Title to save user configuration as. Does not have to be unique, but is required.
\ No newline at end of file
+Title of the parser. Does not have to be unique, but is required.
+
+This field will not affect what is added to `Steam` in any way.
diff --git a/src/lang/pt-PT/markdown/controller-templates.md b/src/lang/pt-PT/markdown/controller-templates.md
index 37c943f370..e131a41a73 100644
--- a/src/lang/pt-PT/markdown/controller-templates.md
+++ b/src/lang/pt-PT/markdown/controller-templates.md
@@ -6,8 +6,8 @@ You may want to disable `Cloud Synchronization` in Steam to avoid having your SR
To make a custom template:
* Open Steam.
* Connect the controller you want to configure a template for.
-* Right click on any game and hit `Manage > Controller Layout`.
-* Configure the buttons as you see fit.
+*
+* Configure os botões como você vê mais adequado.
* Hit `Export Config` then `Save new template binding`.
* Name the template in the form: `Template Title (SRM)`. You must end the name with `(SRM)` or SRM will not pick up the template.
* Repeat for as many different types of controller as you want to configure.
@@ -17,10 +17,10 @@ In the SRM parser:
Currently, SRM pulls all of the default (Valve made) templates for each controller as well as all of the user defined templates that end in `(SRM)`.
-* Select your templates and save the parser. The controller configsets will be applied once you hit `Save App List` in the preview.
+* Select your templates and save the parser. The controller configsets will be applied once you hit `Save to Steam` in the Add Games.
* To unset controller configs, you may either `Remove All Added App Entries` from global settings (this deletes all SRM made changes to your steam data) or hit `Unset All Controllers` in the parser (this only removes controller settings for the steam directory and user specified in that parser).
-Once this is done you can generate and save the preview as usual, and the template will be applied to all the titles in the parser.
+Once this is done you can parse and add games to steam as usual, and the templates will be applied to all the titles in the parser.
diff --git a/src/lang/pt-PT/markdown/default-image.md b/src/lang/pt-PT/markdown/default-image.md
index 47e3f9261e..7bf4e6413d 100644
--- a/src/lang/pt-PT/markdown/default-image.md
+++ b/src/lang/pt-PT/markdown/default-image.md
@@ -1,4 +1,4 @@
-# Default image (optional) `[supports variables]`{.noWrap}
+# Default image `[supports variables]`{.noWrap}
Allows one to use an image, stored locally, as a default/fallback image. A [special glob input](#special-glob-input) string is used to retrieve images. Only the first retrieved image is used.
diff --git a/src/lang/pt-PT/markdown/ea-desktop-parser-input.md b/src/lang/pt-PT/markdown/ea-desktop-parser-input.md
index 7990efb5b5..355ba68c8e 100644
--- a/src/lang/pt-PT/markdown/ea-desktop-parser-input.md
+++ b/src/lang/pt-PT/markdown/ea-desktop-parser-input.md
@@ -1,4 +1,4 @@
-# EA Desktop Parser specific inputs
+# EA Desktop Parser Specific Inputs
## EA Games Directory Override
By default Steam ROM Manager assumes your `EA Desktop` games are installed at ``C:\Program Files\EA Games\`. This field allows you to change that to wherever your games are installed, e.g.``D:\Games\EA Games`.
diff --git a/src/lang/pt-PT/markdown/epic-parser-input.md b/src/lang/pt-PT/markdown/epic-parser-input.md
index 3e8e07d69a..22bc34d195 100644
--- a/src/lang/pt-PT/markdown/epic-parser-input.md
+++ b/src/lang/pt-PT/markdown/epic-parser-input.md
@@ -1,4 +1,4 @@
-# Epic Games Store specific inputs
+# Epic Games Store Specific Inputs
## Manifests Directory Override
diff --git a/src/lang/pt-PT/markdown/executable-arguments.md b/src/lang/pt-PT/markdown/executable-arguments.md
index 8b5121722a..aabe276bff 100644
--- a/src/lang/pt-PT/markdown/executable-arguments.md
+++ b/src/lang/pt-PT/markdown/executable-arguments.md
@@ -1,4 +1,4 @@
-# Command line arguments (optional) `[supports variables]`{.noWrap}
+# Command line arguments `[supports variables]`{.noWrap}
Arguments which are appended to executable to produce final shortcut. Most of the time you will want to set it using provided parser variables.
@@ -49,7 +49,7 @@ Arguments which are appended to executable to produce final shortcut. Most of th
### Nestopia (NES/Famicom)
```
-"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
+"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
```
### higan (NES/Famicom, SNES/Famicom, Gameboy, Gameboy Color, Gameboy Advance)
@@ -126,13 +126,13 @@ This setting is used to influence Steam's APP ID.
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -187,6 +187,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -196,11 +197,11 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
+Pokémon (USA) (Disc 1).iso Pokémon (USA) (Disc 1).iso Pokémon.iso
(Disc 1)
(DISC 1)
Pokemon (USA) (Disc 1).iso
diff --git a/src/lang/pt-PT/markdown/executable-location.md b/src/lang/pt-PT/markdown/executable-location.md
index b13f57494f..36fbbc9a46 100644
--- a/src/lang/pt-PT/markdown/executable-location.md
+++ b/src/lang/pt-PT/markdown/executable-location.md
@@ -1,4 +1,4 @@
-# Executable (optional) `[supports environment variables]`
+# Executable `[supports env variables]`
Path to emulator's executable. Can be a file or any valid system path.
@@ -6,6 +6,8 @@ Path to emulator's executable. Can be a file or any valid system path.
In some cases you might want to run game from a some kind batch file which will also automatically run the emulator itself. If that is the case, then providing executable is unnecessary.
+The final shortcut will just be `"${filePath}" --command-line-args`.
+
### So, how do I add files to Steam without default executable?
All files retrieved by a parser will be treated as executables instead.
diff --git a/src/lang/pt-PT/markdown/executable-modifier.md b/src/lang/pt-PT/markdown/executable-modifier.md
index c3c5739e86..2131f6964d 100644
--- a/src/lang/pt-PT/markdown/executable-modifier.md
+++ b/src/lang/pt-PT/markdown/executable-modifier.md
@@ -1,102 +1,23 @@
# Executable modifier `[supports variables]`{.noWrap}
-Default value is `"${exePath}"`{.noWrap}. This setting can be used to prepend or append desired characters to an executable which will be added to Steam (`Target` property). For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you can add `"cmd" /k start /min` to it by setting value to:
+Defaults to `"${exePath}"`{.noWrap} if unset. This field can be used to prepend or append desired characters to the executable which will be added to the Steam shortcut's `Target` property. For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you could start `Retroarch` minimized by setting the `Executable Modifier` "cmd" to:
+
```
"cmd" /k start /min "${exePath}"
```
-You can use any other variable to construct the final executable.
-
-This setting influences Steam's APP ID.
-
-
-## Shortcut Passthrough
-If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the target of that shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser.
-
-## Directory variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
-
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
-
-## Name variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------------------------------- |
-| `${exeName}` | Name of executable (without extension) |
-| `${fileName}` | Name of file which was returned by a parser (without extension) |
-
-In case executable directory input is left **empty**, `${exeName}`{.noWrap} is equal to `${fileName}`{.noWrap}.
-
-## Extension variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------------------- |
-| `${exeExt}` | Extension of executable (with a dot) |
-| `${fileExt}` | Extension of file which was returned by a parser (with a dot) |
-In case executable directory input is left **empty**, `${exeExt}`{.noWrap} is equal to `${fileExt}`{.noWrap}.
+In this case the `Target` property would begin with:
-## Path variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:-------------------------------------------------- |
-| `${exePath}` | Full path to an executable |
-| `${filePath}` | Full path to a file which was returned by a parser |
-
-In case executable directory input is left **empty**, `${exePath}`{.noWrap} is equal to `${filePath}`{.noWrap}.
-
-## Parser variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------ |
-| `${title}` | Extracted title |
-| `${fuzzyTitle}` | Fuzzy matched title |
-| `${finalTitle}` | Title which was the end result of title modifier |
-
-In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
+```
+"cmd" /k start /min "C:\RetroArch\retroarch.exe"
+```
-## Function variables
+followed by whatever launch arguments you choose in the `Command Line Arguments` field.
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+You can use any other variable to construct the final executable.
-### Function variable example
+This setting influences Steam's APP ID.
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
-```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
-```
-will be replaced with these:
-```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+## Shortcut Passthrough
---On linux:
-file.so
---On Windows:
-file.dll
---On Mac OS:
-file
-```
+If you enable `Follow .lnk/.desktop to destination` and the glob search finds a `.lnk` or `.desktop` file, ie a shortcut, then the `${filePath}` variable will contain the target of the shortcut rather than the path to the shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the `Command Line Arguments` field in the parser.
diff --git a/src/lang/pt-PT/markdown/glob-parser-input.md b/src/lang/pt-PT/markdown/glob-parser-input.md
index 996ae77ce1..2a43592892 100644
--- a/src/lang/pt-PT/markdown/glob-parser-input.md
+++ b/src/lang/pt-PT/markdown/glob-parser-input.md
@@ -1,4 +1,4 @@
-# Glob Parser specific inputs
+# Glob Parser Specific Inputs
## User's glob
diff --git a/src/lang/pt-PT/markdown/glob-regex-parser-input.md b/src/lang/pt-PT/markdown/glob-regex-parser-input.md
index 22c1f5cea6..6491148a25 100644
--- a/src/lang/pt-PT/markdown/glob-regex-parser-input.md
+++ b/src/lang/pt-PT/markdown/glob-regex-parser-input.md
@@ -1,4 +1,4 @@
-# Glob-regex Parser specific inputs
+# Glob-regex Parser Specific Inputs
## User's glob-regex
@@ -6,7 +6,7 @@ This is where you create your glob for extracting title from file path. Please r
## How does it work?
-In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
+In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
| User's glob | Position |
| --------------------- | --------------------------- |
diff --git a/src/lang/pt-PT/markdown/gog-parser-input.md b/src/lang/pt-PT/markdown/gog-parser-input.md
index 756fa3de77..bf185f2c23 100644
--- a/src/lang/pt-PT/markdown/gog-parser-input.md
+++ b/src/lang/pt-PT/markdown/gog-parser-input.md
@@ -1,10 +1,20 @@
-# Unique inputs for GOG Galaxy Parser
+# GOG Galaxy Parser Specific Inputs
## Galaxy Path Override
-By default Steam ROM Manager assumes your Galaxy Client is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe`. This field allows you to override that path if your GOG Galaxy installation is elsewhere.
-This field is actually only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of the Galaxy Client.
+By default Steam ROM Manager assumes your GOG Galaxy executable is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe` on Windows and `/Applications/GOG Galaxy.app/Contents/MacOS/GOG Galaxy` on Mac. This field allows you to override that path if your GOG Galaxy executable is elsewhere.
-## Launch Via GOG Galaxy `[Recommend disabled]`
+Specifying the correct location of GOG Galaxy's executable is only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of GOG Galaxy's executable.
-What it sounds like, this toggle let's you set whether games will launch via GOG Galaxy or directly. Note that for some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+## Launch via GOG Galaxy `[Recommend disabled]`
+
+What it sounds like, this toggle determines whether games launch via GOG Galaxy or directly. For some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+
+## Parse Linked Executables from GOG Galaxy
+
+If enabled, SRM will pull in not only GOG games aquired from GOG Galaxy's store, but also those you have manually linked executables for in GOG Galaxy. This is desirable if those games are not being parsed into SRM elsewhere.
+
+A caveat is that because GOG Galaxy does not store the names linked executables in its database, SRM will use the directory name of the executable on Windows (e.g. `C:\\path\\to\\Hoa\\LaunchHoa.exe` would be assigned the title `Hoa`) and the executable name on Mac (e.g. `/Applications/Symphonia.app` would be assigned the title `Symphonia`).
+
+## Parse using Registry instead of Galaxy DB `[Windows only] [Recommend disabled]`
+This option will parse the Windows Registry for installed GOG games instead of GOG Galaxy's SQL database, allowing the parser to work even if GOG Galaxy is not installed. If this is enabled, `Parse Linked Executables` will of have no effect, but `Launch via GOG Galaxy` will work as normal.
\ No newline at end of file
diff --git a/src/lang/pt-PT/markdown/image-pool.md b/src/lang/pt-PT/markdown/image-pool.md
index 8b54cf72d9..0b4e4a94fb 100644
--- a/src/lang/pt-PT/markdown/image-pool.md
+++ b/src/lang/pt-PT/markdown/image-pool.md
@@ -1,3 +1,5 @@
-# Image pool `[supports variables]`{.noWrap}
+# Artwork pool `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting is used to allow different apps share the same images -- same "image pool", or allow unique image pool per app. To use unique image pool per app just set it to something unique. For example `${fuzzyTitle} SNES`{.noWrap}.
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset.
+
+This field is used to allow games from different parsers to share the same images (i.e. the same "image pool") if they have the same title. If you want different parsers not to share images for games with the same title, just set this field to something unique, for example `${fuzzyTitle} SNES`{.noWrap} or `${fuzzyTitle} ${parserTitle}`{.noWrap}.
diff --git a/src/lang/pt-PT/markdown/image-providers.md b/src/lang/pt-PT/markdown/image-providers.md
index 0b778780c6..f70a9275f6 100644
--- a/src/lang/pt-PT/markdown/image-providers.md
+++ b/src/lang/pt-PT/markdown/image-providers.md
@@ -1,7 +1,7 @@
-# Image providers
+# Artwork providers
-Here you can select image providers that are used to retrieve images. This option is for this configuration only.
+Here you can select artwork providers (online sources of game art) that are used by SRM to get art for your games.
## Similar option in "Settings" menu
-Settings menu has "Enabled providers" which enable image providers globally -- if it's not enabled in Settings, it won't work.
+Settings menu has "Enabled providers" which enable artwork providers globally -- if it's not enabled in Settings, it won't work.
diff --git a/src/lang/pt-PT/markdown/intro.md b/src/lang/pt-PT/markdown/intro.md
index f8d5fcabda..a6d65c0059 100644
--- a/src/lang/pt-PT/markdown/intro.md
+++ b/src/lang/pt-PT/markdown/intro.md
@@ -8,8 +8,8 @@ Also, don't forget to check FAQ. If you still got questions about setting up con
After saving parser configuration, **1** of **3** colors will be shown next to its title:
- -- Enabled configuration. This configuration will be used when generating a list in **preview** page.
+ -- Enabled configuration. This configuration will be used when generating a list in **Add Games** page.
- -- Unsaved changes. This configuration will not be used when generating a list in **preview** page, however earlier **saved** version will be used instead.
+ -- Unsaved changes. This configuration will not be used when generating a list in **Add Games** page, however earlier **saved** version will be used instead.
- -- Disabled configuration. This configuration will not be used when generating a list in **preview** page.
\ No newline at end of file
+ -- Disabled configuration. This configuration will not be used when generating a list in **Add Games** page.
\ No newline at end of file
diff --git a/src/lang/pt-PT/markdown/itch-io-parser-input.md b/src/lang/pt-PT/markdown/itch-io-parser-input.md
index 4b0057c170..ffa409af96 100644
--- a/src/lang/pt-PT/markdown/itch-io-parser-input.md
+++ b/src/lang/pt-PT/markdown/itch-io-parser-input.md
@@ -1,4 +1,4 @@
-# itch.io Parser specific inputs
+# itch.io Parser Specific Inputs
## itch.io AppData Path Override
By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere.
diff --git a/src/lang/pt-PT/markdown/itch-io-parser.md b/src/lang/pt-PT/markdown/itch-io-parser.md
index 7f29ffc42d..accb8b5ad2 100644
--- a/src/lang/pt-PT/markdown/itch-io-parser.md
+++ b/src/lang/pt-PT/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
# itch.io Parser
-This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/pt-PT/markdown/legendary-parser-input.md b/src/lang/pt-PT/markdown/legendary-parser-input.md
index 80ca0bcbbc..4a826e43da 100644
--- a/src/lang/pt-PT/markdown/legendary-parser-input.md
+++ b/src/lang/pt-PT/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
-# Legendary Parser specific inputs
+# Legendary Parser Specific Inputs
+
+## Legendary Path Override
+
+By default Steam ROM Manager uses `(Get-Command legendary).Path` on Windows and `which legendary` on Linux and Mac to determine the location of your Legendary executable. This field allows you to override that path.
+
+Specifying the correct location of the Legendary executable is only necessary if you enable launch via Legendary (see below), as otherwise SRM has no need of the location of Legendary's executable.
## Legendary `installed.json` Path Override
Most users shouldn't use this, as they use the standard `Legendary` installation where installed games manifest will be located at `~/.config/legendary/installed.json`.
If, however, for some reason your installed games manifest is located in a non-typical location then you can specify the correct manifest path here.
+
+## Launch via Legendary `[Recommend enabled]`
+
+What it sounds like, this toggle determines whether games launch via Legendary or directly. Launching via Legendary provides access to Epic's online services.
diff --git a/src/lang/pt-PT/markdown/local-images.md b/src/lang/pt-PT/markdown/local-images.md
index cff60e5674..5da2e5ae4c 100644
--- a/src/lang/pt-PT/markdown/local-images.md
+++ b/src/lang/pt-PT/markdown/local-images.md
@@ -1,4 +1,4 @@
-# Local images (optional) `[supports variables]`{.noWrap}
+# Local images `[supports variables]`{.noWrap}
Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
diff --git a/src/lang/pt-PT/markdown/manual-parser-input.md b/src/lang/pt-PT/markdown/manual-parser-input.md
index bc1848d45a..65265ebd32 100644
--- a/src/lang/pt-PT/markdown/manual-parser-input.md
+++ b/src/lang/pt-PT/markdown/manual-parser-input.md
@@ -1,4 +1,4 @@
-# Manual Parser specific inputs
+# Manual Parser Specific Inputs
## Manifests Directory `[Supports Environment Variables]`{.noWrap}
@@ -17,7 +17,8 @@ The names of the files do not matter. What does matter is that each `manifest.js
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args",
+ "appendArgsToExecutable": false
}
```
Or a list of titles, like so:
@@ -27,15 +28,19 @@ Or a list of titles, like so:
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args".
+ "appendArgsToExecutable": true
},
{
"title": "gameTitle2",
"target": "game2/path/target.sh",
"startIn": "game2/path",
- "launchOptions": "--args2"
+ "launchOptions": "--args2",
+ "appendArgsToExecutable": false
}
]
```
A typical use case would be to use a single json file per game type, or per year, etc.
+
+Just like for ROM parsers, `appendArgsToExecutable` determines whether `launchOptions` are appended to the shortcut `target` or appear separately as launch options in steam.
diff --git a/src/lang/pt-PT/markdown/non-srm-shortcuts-parser.md b/src/lang/pt-PT/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..4485008a1a
--- /dev/null
+++ b/src/lang/pt-PT/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,29 @@
+# Non-SRM Shortcut Parser
+
+This parser imports non SRM steam shortcuts into SRM so their artowrk can be managed. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
+
+## User accounts
+
+Used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
+
+```
+${...}
+```
+
+You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
+
+ {.fitImage .center}
+
+For example, this is how you specify account for "Banana" and "Apple":
+
+```
+${Banana}${Apple}
+```
+
+You can also limit accounts by specifying their ids directly. For example:
+
+```
+${56489124}${21987424}
+```
+
+Would limit the search to `steam/userdata/56489124` and `steam/userdata/21987424`.
diff --git a/src/lang/pt-PT/markdown/parser-env-variables.md b/src/lang/pt-PT/markdown/parser-env-variables.md
index 3b186a70f7..e95baf9137 100644
--- a/src/lang/pt-PT/markdown/parser-env-variables.md
+++ b/src/lang/pt-PT/markdown/parser-env-variables.md
@@ -13,3 +13,5 @@ These variables are pre parsed and can be used even in the Rom Directory, Steam
The utility of the environment variable `${srmdir}` is to make SRM fully portable, eg if you wanted to have the directory layout `D:\Games\Roms` and `D:\Games\PortableSRM\SRM.exe` then setting the field Roms Directory to be `${srmdir}${/}..${/}Roms` would allow you to move the Games directory somewhere else without breaking your setup.
+
+Function variables can also be used in fields that permit environment variables (e.g. `${os:win|C:\path\to\startdir|${os:linux|/path/to/startdir}}`)
diff --git a/src/lang/pt-PT/markdown/parser-variables.md b/src/lang/pt-PT/markdown/parser-variables.md
index 7e9eb636ff..56849a940d 100644
--- a/src/lang/pt-PT/markdown/parser-variables.md
+++ b/src/lang/pt-PT/markdown/parser-variables.md
@@ -4,13 +4,13 @@ Here are tables of variables that can be used with options that have `[supports
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -48,6 +48,7 @@ In case executable directory input is left **empty**, `${exePath}`{.noWrap} is e
| `${title}` | Extracted title |
| `${fuzzyTitle}` | Fuzzy matched title |
| `${finalTitle}` | Title which was the end result of title modifier |
+| `${parserTitle}` | The value of the `Parser Title` field |
In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
@@ -65,6 +66,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -74,11 +76,11 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
+Pokémon (USA) (Disc 1).iso Pokémon (USA) (Disc 1).iso Pokémon.iso
(Disc 1)
(DISC 1)
Pokemon (USA) (Disc 1).iso
diff --git a/src/lang/pt-PT/markdown/parsers-list.md b/src/lang/pt-PT/markdown/parsers-list.md
index 1e5e43f80f..6ab3846611 100644
--- a/src/lang/pt-PT/markdown/parsers-list.md
+++ b/src/lang/pt-PT/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# Parsers
-In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**
diff --git a/src/lang/pt-PT/markdown/rom-directory.md b/src/lang/pt-PT/markdown/rom-directory.md
index 555452224f..5b15d2e2b7 100644
--- a/src/lang/pt-PT/markdown/rom-directory.md
+++ b/src/lang/pt-PT/markdown/rom-directory.md
@@ -1,3 +1,3 @@
-# ROMs directory `[supports environment variables]`
+# ROMs directory `[supports env variables]`
Starting directory for game or app files.
diff --git a/src/lang/pt-PT/markdown/settings.md b/src/lang/pt-PT/markdown/settings.md
index c35d49e806..dd35c64609 100644
--- a/src/lang/pt-PT/markdown/settings.md
+++ b/src/lang/pt-PT/markdown/settings.md
@@ -1,31 +1,51 @@
## General Settings
+### Check for updates on start `[Recommend enabled]`
+Check if an update for SRM is available and prompt to update each time SRM launches.
+### Auto kill Steam `[Recommend enabled]`
+SRM will attempt to kill all running instances of Steam whenever it needs to read/write collections information (specifically when saving to steam from `Add Games` and when removing all games from `Settings`).
+### Auto restart Steam `[Recommend enabled]`
+SRM will attempt to restart Steam after killing it and completing whatever collections related task required killing Steam in the first place. Requires `Auto kill Steam` to be enabled.
### Offline mode `[Recommend disabled]`
-
When enabled SRM makes no network requests, useful if you only want to use SRM for local images.
### Automatically clear log before testing parsers `[Recommend enabled]`
When enabled the log is cleared each time a parser is tested.
+## Add Games
### Show current steam images by default `[Recommend enabled]`
When enabled this setting tells SRM to default to whatever artwork is currently in steam for a given app. If it is disabled, then every time SRM is run (and saved) all artwork will be reset.
### Remove shortcuts for disabled parsers `[Recommend disabled]`
When enabled disabling a parser and running SRM will remove all added entries and artwork for the disabled parser. Useful if you want your steam library to be in 1-1 correspondence with enabled parsers.
-
+### Disable saving of steam categories `[Recommend disabled]`
+SRM will not write any collections information when saving to Steam. This allows SRM to perform its tasks while Steam is still running, at the obvious cost that added games will not be categorized.
+### Hide Steam username from Add Games
+Steam does not allow user's to alter their Steam usernames. In some cases (childish names, dead names, etc), users may no longer wish to see their Steam usernames. This setting hides it from `Add Games`.
+### Remove all added games and controllers
+Undo all SRM added changes from Steam.
+### Remove all controllers only
+Undo all SRM added controller settings from Steam.
## Fuzzy Matcher Settings
### Log matching results `[Recommend disabled]`
When enabled more verbose logs appear for the fuzzy title matcher in the `Event log`. Useful for debugging incorrect fuzzy matches.
-
### Reset fuzzy list
Resets the stored list of titles used for fuzzy matching to the list of titles returned by `SteamGridDB` (removes any user added titles).
### Reset fuzzy cache
Clears the cache of titles that fuzzy matching has already seen (try this if changes you make to fuzzy list are not resulting in changes to titles in SRM).
-
## Image provider settings
-### Preload retrieved images `[Recommend disabled]`
-When enabled, SRM will pull all available artwork for every game, rather than pulling one piece of artwork at a time as the user flips through the images. Don't enable this unless you have a good reason and a very small library of games, otherwise it could result in very large (slow) network requests.
+### Artwork loading strategy `[Recommend Load artwork lazily]`
+This is the strategy SRM uses to pull artwork thumbnails for the `Add Games` UI. If you are parsing a lot of games, `Load artwork lazily` is recommended. `Preload first artwork` will try to pull the first piece of artwork for each game in each artwork category, and `Preload all artwork` will try to pull all available artwork for each game in each artwork category. `Preload all artwork` will cause network and performance issues unless the number of games is quite small (less than `30` or so).
### Enabled providers
-Global setting to disable certain providers. Currently the only image provider is `SteamGridDB` since ConsoleGrid and RetroGaming.cloud are defunct.
-
+Global setting to enable/disable particular image providers. Current options are `SteamGridDB` and `Steam Official`.
+### DNS manual override
+Set this if you want SRM to do DNS resolution internally, as opposed to relying on your system's default DNS server. This solves many timeout issues on the Steam Deck.
+### Batch size for image downloads
+Number of images SRM will attempt to download at once when saving to Steam. May help to lower this if you are receiving timeout errors from SGDB.
+### Nuke artwork choice cache
+SRM attempts to remember your artwork choices, this button forcibly forgets all of them.
+### Nuke local artwork backups
+This deletes all artwork backups created for parsers with `Backup artwork locally` enabled.
## Community Variables and Presets
### Force download custom variables.
Resets the custom variables JSON file that is used for certain presets to whatever its current state is on the SRM github. Useful if the custom variables JSON file has been corrupted.
### Force download custom presets.
Resets the JSON files for parser presets to whatever is on the SRM github. Useful if your presets list is not automatically updating for some reason, or has become corrupted.
+### Force download shell scripts
+Re fetches the shell scripts SRM uses to perform certain tasks.
diff --git a/src/lang/pt-PT/markdown/sgdb-api-input.md b/src/lang/pt-PT/markdown/sgdb-api-input.md
index 553f4fda77..7651927a64 100644
--- a/src/lang/pt-PT/markdown/sgdb-api-input.md
+++ b/src/lang/pt-PT/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
This set of options are direct inputs into the APIs of image providers, for example SteamGridDB's [API](https://www.steamgriddb.com/api/v2).
-An interesting quirk of these settings is that re-generating the preview (hitting the `Generate App List` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove App List` button in preview before hitting `Generate App List`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the preview with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
+An interesting quirk of these settings is that re-generating the game list in Add Games (hitting the `Refresh` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove from Steam` button in Add Games before hitting `Refresh`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the game list with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
## SteamGridDB
diff --git a/src/lang/pt-PT/markdown/start-in-directory.md b/src/lang/pt-PT/markdown/start-in-directory.md
index 86cf962c23..df84a987d5 100644
--- a/src/lang/pt-PT/markdown/start-in-directory.md
+++ b/src/lang/pt-PT/markdown/start-in-directory.md
@@ -1,6 +1,6 @@
-# "Start In" directory (optional) `[supports environment variables]`{.noWrap}
+# "Start In" directory `[supports env variables]`
-By default "Start In" directory is set to executable's directory:
+If `"Start In" Directory` is unset it defaults to the executable's directory. If not executable is set, it defaults to the directory of the ${filePath} variable:
 {.fitImage.center}
@@ -11,4 +11,5 @@ This option allows you to specify any directory you want as a "Start In" directo
It is useful when you're using batch files to start emulator and a game, but emulator requires a specific "Start In" directory to work properly.
## Shortcut Passthrough
+
If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the directory of the target of that shortcut. In the future, it will be overridden with the start in directory of that shortcut.
diff --git a/src/lang/pt-PT/markdown/steam-category.md b/src/lang/pt-PT/markdown/steam-category.md
index 079073dab9..677ea3d0ef 100644
--- a/src/lang/pt-PT/markdown/steam-category.md
+++ b/src/lang/pt-PT/markdown/steam-category.md
@@ -1,21 +1,13 @@
-# Steam category (optional) `[supports variables]`{.noWrap}
+# Steam category`{.noWrap}
+
+Hit the little plus sign to add your first category.
-Also known as "tags", can be used to group apps in Steam. In order to set Steam category, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify categories for "WII" and "GBA" (paired with "ROMS") category:
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
This how "WII" category will look like in Steam:

## Emojis and non-Standard Unicode Characters
+
Please not that this field works just fine with emojis like `🎮` work just fine in category names.
You can find a list of them here: [https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/pt-PT/markdown/steam-directory.md b/src/lang/pt-PT/markdown/steam-directory.md
index b15010e819..bb82bc6a97 100644
--- a/src/lang/pt-PT/markdown/steam-directory.md
+++ b/src/lang/pt-PT/markdown/steam-directory.md
@@ -1,4 +1,4 @@
-# Steam directory `[supports environment variables]`{.noWrap}
+# Steam directory `[supports env variables]`
Must be a valid Steam directory which contains Steam executable. In order for Steam account to be detected, user must have logged in at least once.
diff --git a/src/lang/pt-PT/markdown/steam-parser-input.md b/src/lang/pt-PT/markdown/steam-parser-input.md
index 75f21d380d..1174b71b64 100644
--- a/src/lang/pt-PT/markdown/steam-parser-input.md
+++ b/src/lang/pt-PT/markdown/steam-parser-input.md
@@ -1,4 +1,4 @@
-# Steam Parser specific inputs
+# Steam Parser Specific Inputs
## Find artwork for games only
If enabled SRM will filter out any Steam applications that are not full games, such as demos and tools like `3DMark` or `Wallpaper Engine`.
diff --git a/src/lang/pt-PT/markdown/steam-parser.md b/src/lang/pt-PT/markdown/steam-parser.md
index b158f676a8..5b93d8bc77 100644
--- a/src/lang/pt-PT/markdown/steam-parser.md
+++ b/src/lang/pt-PT/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Steam parser
-This parser imports steam games into SRM. It does not add shortcuts, but it allows you to set the artwork for your steam games. By default the parser will get games from all user accounts in the steam directory specified — if you would prefer to only get the games for a subset of the accounts then specify them in the `User accounts` field.
-
-## Limitations
-Unfortunately for the time being this parser only works for steam games **that are in at least one category**. The reason for this is that Steam only stores your full list of games locally if they are categorized. Sometimes, for unknown reasons, games will be stored locally regardless and the parser will work, but to be safe the easiest thing to do is just **create a Steam Category** that has all of your Steam games in it.
-
-## User accounts (Optional)
-
-Can be used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
-```
-${...}
-```
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
-
- {.fitImage.center}
-
-For example, this is how you specify account for "Banana" and "Apple":
-
-```
-${Banana}${Apple}
-```
-
-In case the [use account credentials](#what-does-use-account-credentials-do) is disabled, you can still limit accounts by specifying their ids directly:
-
-```
-${56489124}${21987424}
-```
-
-## What does "Skip found accounts with missing data directories" do?
-
-Sometimes Steam's file that contains logins, may contain users that do not have data directory created (might have been manually deleted, etc.). You can specify to skip those accounts by enabling this option.
-
-## What does "Use account credentials" do?
-
-Tries to look for account credentials in Steam directory. In other words -- username. Username then can be used to filter accounts without actually having to know their ids.
-
-### Warning!
-
-If Steam has credential saving disabled, this option will prevent finding user accounts.
+This parser imports steam games into SRM so you can manage their artwork. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
\ No newline at end of file
diff --git a/src/lang/pt-PT/markdown/title-from-variable.md b/src/lang/pt-PT/markdown/title-from-variable.md
index bb6e4a52a2..6aa467e98c 100644
--- a/src/lang/pt-PT/markdown/title-from-variable.md
+++ b/src/lang/pt-PT/markdown/title-from-variable.md
@@ -1,43 +1,40 @@
-# Title from custom variable (optional)
+# Title from custom variable
-Allows to overwrite extracted title with a custom variable. This is done right after title extraction, meaning that the replaced title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+Allows one to overwrite the extracted title with a custom variable, pulled from the `json` files described below. This happens right after title extraction, meaning that the new title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+
+Title matching is limited to specific groups of custom variables. For example, this is how you specify groups "FBN" and "PSN":
-Title matching can be limited to specific groups of custom variables. In order to specify groups, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify groups for "RPCS3" and "rpcs3":
```
-${RPCS3}${rpcs3}
+${RPCS3}${PSN}
```
-Make sure you **toggle enable to on**.
-
-
-## Case-insensitive option
-
-If this option is enabled, case-insensitive matching will be done and first matched custom variable will be used.
-
-## Note. This feature is **experimental**
+# How it works
-Basically, it might change in the future release (very unlikelly). Furthermore, currently the only way to add variables is to create/edit `customVariables.json` used by SRM directly.
+There are two variable files, `customVariables.json` which is maintained by SRM (don't change this one, your changes will be overwritten every time SRM restarts) and `userVariables.json` which is where you should put your own variables. Both files are located in SRM's `Config Directory`.
-This file is/shoud be located in SRM's `userData` directory.
-
-SRM will throw error unless the following JSON structure is used:
+Both `customVariables.json` and `userVariables.json` have the same JSON structure. SRM will throw an error unless the following JSON structure is used:
```
{
- "RPCS3": {
+ "Group1": {
"NPUB30698": "Catherine",
"NPUB30024": "1942: Joint Strike",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
+ "Group2": {
+ "The Legend Of Zelda": "The Legend Of Link",
+ ...
},
...
}
```
-Then if your user glob were `MyDir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `MyDir`, you would set the title from custom variable field to `${Custom Stuff}` to obtain a final title of "The Legend of Link".
+Then if your user glob were `romsdir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `romsdir`, you would set the title from custom variable field to `${Group2}` to obtain a title of "The Legend of Link".
+
+## Case-insensitive variables
+
+If enabled, case-insensitive matching will be done and first matched custom variable will be used.
+
+## Skip file if variable not found
+
+If enabled, titles that don't match a variable will be excluded.
diff --git a/src/lang/pt-PT/markdown/title-modifier.md b/src/lang/pt-PT/markdown/title-modifier.md
index 791e000e27..4ecb2d02db 100644
--- a/src/lang/pt-PT/markdown/title-modifier.md
+++ b/src/lang/pt-PT/markdown/title-modifier.md
@@ -1,9 +1,11 @@
# Title modifier `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting can be used to prepend or append desired characters to a title which will be added to Steam. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset. This setting can be used to prepend or append desired characters to a Steam shortcut's `Title`. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+
```
${fuzzyTitle} (1.7.5)
```
+
You can use `${title}`{.noWrap} or any other variable to construct the final title.
This setting influences Steam's APP ID.
diff --git a/src/lang/pt-PT/markdown/uplay-parser-input.md b/src/lang/pt-PT/markdown/uplay-parser-input.md
index f40bbcd928..3a54e84b1a 100644
--- a/src/lang/pt-PT/markdown/uplay-parser-input.md
+++ b/src/lang/pt-PT/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# Unique inputs for UPlay Parser
+# UPlay Parser Specific Inputs
+
## Ubisoft Directory Override
By default Steam ROM Manager assumes your UPlay install is located in `C:\Program Files (x86)\Ubisoft`. This field allows you to override that path if your UPlay installation is elsewhere.
## Launch Via UPlay `[Recommend disabled]`
-
What it sounds like, this toggle let's you set whether games will launch via UPlay or directly from the game's executable.
For UPlay this doesn't matter too much as UPlay games will automatically launch UPlay in the background even when launched from the executable. Steam Overlay will not work when `Launch via UPlay` is enabled, whereas both Steam and Ubisoft overlays work when `Launch via UPlay` is disabled.
diff --git a/src/lang/pt-PT/markdown/user-accounts.md b/src/lang/pt-PT/markdown/user-accounts.md
index efc6a86adc..c0101b5f74 100644
--- a/src/lang/pt-PT/markdown/user-accounts.md
+++ b/src/lang/pt-PT/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# User accounts (Optional)
+# User accounts
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
-
-`${...}`
-
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either:
-
-* The account id is the name of the account directory that appears in `/path/to/steam/userdata`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
+This field is used to limit SRM's effects to specific user accounts. It can be set to `Global` or over ridden per parser.
## Warning
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and `Choose Accounts` will only be able to pull your `Steam IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Settings` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
diff --git a/src/lang/pt-PT/markdown/user-exceptions.md b/src/lang/pt-PT/markdown/user-exceptions.md
index a53dd0d6d9..a6e47de497 100644
--- a/src/lang/pt-PT/markdown/user-exceptions.md
+++ b/src/lang/pt-PT/markdown/user-exceptions.md
@@ -12,7 +12,7 @@ The `Extracted Title` field matches in two ways:
Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`.
-Exceptions generated from `Preview` will always be in the form `Extracted Title ${id:XXXXXX}`.
+Exceptions generated from `Add Games` will always be in the form `Extracted Title ${id:XXXXXX}`.
## New Display Title
diff --git a/src/lang/ro-RO/langStrings.json b/src/lang/ro-RO/langStrings.json
index d42bc546d5..60484346ba 100644
--- a/src/lang/ro-RO/langStrings.json
+++ b/src/lang/ro-RO/langStrings.json
@@ -14,17 +14,17 @@
"games": "All Artwork"
},
"by": "by",
- "refreshImages": "Refresh images",
- "saveImage": "Save image to file",
- "addLocalImages": "Add local images",
- "retryDownload": "Retry download",
- "generateAppList": "Parse",
+ "refreshImages": "Refresh artwork",
+ "saveImage": "Save artwork to file",
+ "addLocalImages": "Add local artwork",
+ "retryDownload": "Retry artwork download",
+ "generateAppList": "Refresh",
"saveAppList": "Save to Steam",
"removeAppList": "Remove from Steam",
"remainingImages": "Retrieving urls:",
"stopUrlRetrieving": "Stop",
- "exportSelections": "Export",
- "importSelections": "Import",
+ "exportSelections": "Export art",
+ "importSelections": "Import art",
"backButton": "Back",
"logButton": "Log"
},
@@ -44,46 +44,46 @@
"removingFromCategories": "Removing all added category information",
"writingVDF_entries__i": "Writing VDF files and downloading high res images in batches of ${batchSize}.",
"updatingKnownSteamDirList": "Updating a list of known Steam directories.",
- "retryingDownload__i": "Retrying image download from \"${imageUrl}\" for \"${appTitle}\".",
- "disabledConfigurations__i": "${count} user configuration(s) was/were skipped (disabled by user).",
- "invalidConfigurations__i": "${count} user configuration(s) was/were skipped (invalid).",
+ "retryingDownload__i": "Retrying artwork download from \"${imageUrl}\" for \"${appTitle}\".",
+ "disabledConfigurations__i": "${count} user parser(s) was/were skipped (disabled by user).",
+ "invalidConfigurations__i": "${count} user parser(s) was/were skipped (invalid).",
"executingParsers": "Executing parsers.",
- "shutdownSteam": "Please shutdown Steam if it is running.",
- "noParserConfigurations": "Please create parser configuration in \"Parsers\" menu first.",
+ "shutdownSteam": "If Steam is running, exit Steam.",
+ "noParserConfigurations": "Please create parser in \"Parsers\" menu first.",
"parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
- "allImagesRetrieved": "All available image urls retrieved.",
+ "allImagesRetrieved": "All available artwork urls retrieved.",
"providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
"noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
- "preparingExport": "Preparing export of image choices.",
- "exportProgress__i": "Saving image choices ${progress}.",
- "readingSelections": "Applying imported image choices."
+ "preparingExport": "Preparing export of artwork choices.",
+ "exportProgress__i": "Saving artwork choices ${progress}.",
+ "readingSelections": "Applying imported artwork choices."
},
"errors": {
- "fatalError": "Fatal error occurred in Preview. See event log for details.",
- "fatalError__i": "Fatal Preview Error ${error}",
+ "fatalError": "Fatal error occurred in Add Games. See event log for details.",
+ "fatalError__i": "Fatal Add Games error: ${error}",
"knownSteamDirListIsEmpty": "A list of known Steam directories is empty.",
"steamIsRunning": "Cannot make changes while steam is running!",
"categorySaveError": "Error updating categories. See event log for details.",
"categorySaveError__i": "Category error (shortcuts and artwork will still be added): ${error}",
"controllerSaveError": "Error updating controller templates. See event log for details.",
"controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
- "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
+ "retryingDownload__i": "Artwork download from \"${imageUrl}\" failed for \"${appTitle}\".",
"providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
"unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
"exportError__i": "Could not save selections package folder: ${error}",
"importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
- "importFailError__i": "Could not import image choices: ${error}"
+ "importFailError__i": "Could not import artwork choices: ${error}"
},
"success": {
"writingVDF_entries": "Done adding/removing entries.",
"removingVDF_entries": "Entries have been removed.",
- "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
- "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
+ "exportSuccess__i": "Artwork choices folder successfully saved to \"${path}\"!",
+ "importSelectionsSuccess__i": "Successfully imported ${count} artwork choices!"
}
}
},
"steamParser": {
- "onlyGamesTitle": "Find artwork for games only (no tools)",
+ "onlyGamesTitle": "Find artwork for games only (no tools or demos)",
"onlyInstalledTitle": "Find artwork for installed titles only",
"sourceModsTitle": "Find artwork for unofficial source mods",
"errors": {
@@ -93,16 +93,30 @@
"fatalError__i": "> Steam parser failed with fatal error:\n ${error}"
}
},
+ "nonSRMShortcutsParser": {
+ "errors": {
+ "noSteamAccounts": "> Steam directory specified has no accounts.",
+ "fatalError__i": "> Non-SRM Shortcuts parser failed with fatal error:\n ${error}"
+ }
+ },
"manualParser": {
"manifestsInputTitle": "Manifests Directory",
- "manifestsInputPlaceholder": "/path/to/your/manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"errors": {
"fatalError__i": "> Manual parser failed with fatal error:\n ${error}"
}
},
"epicParser": {
"manifestsInputTitle": "Epic Manifests Directory Override",
- "manifestsInputPlaceholder": "/path/to/Manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"launcherModeInputTitle": "Launch games via Epic for online services",
"errors": {
"invalidManifestsOverride": "> Manifests Override is not a valid directory.",
@@ -112,25 +126,56 @@
}
},
"legendaryParser": {
+ "launcherModeInputTitle": "Launch games via Legendary for online services",
"legendaryInstalledFileTitle": "Legendary installed.json Path Override",
- "legendaryInstalledFilePlaceholder": "/path/to/legendary/installed.json",
+ "legendaryInstalledFilePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary\\installed.json",
+ "Darwin": "/path/to/legendary/installed.json",
+ "Linux": "/path/to/legendary/installed.json"
+ },
+ "legendaryExeOverrideTitle": "Legendary Path Override",
+ "legendaryExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary.exe",
+ "Darwin": "/path/to/legendary",
+ "Linux": "/path/to/legendary"
+ },
"errors": {
"legendaryNotInstalled": "> Legendary installed.json not found",
- "fatalError__i": "> Legendary parser failed with fatal error: \n ${error}"
+ "fatalError__i": "> Legendary parser failed with fatal error:\n ${error}"
+ }
+ },
+ "battleNetParser": {
+ "battleExeOverrideTitle": "Battle.net.exe Path Override",
+ "battleExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Battle.net\\Battle.net.exe",
+ "Darwin": "/path/to/Battle.net.app/Contents/MacOS/Battle.net",
+ "Linux": "/path/to/Battle.net"
+ },
+ "errors": {
+ "battleNotCompatible": "> Battle.net parser is only available on Windows.",
+ "fatalError__i": "> Battle.net parser failed with fatal error:\n ${error}"
}
},
"UWPParser": {
"UWPDirTitle": "XboxGames Directory Override",
- "UWPDirPlaceholder": "/path/to/XboxGames or /path/to/WindowsApps",
+ "UWPDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\XboxGames\\ or C:\\path\\to\\WindowsApps\\",
+ "Darwin": "/path/to/XboxGames/ or /path/to/WindowsApps/",
+ "Linux": "/path/to/XboxGames/ or /path/to/WindowsApps/"
+ },
"UWPLauncherModeTitle": "Launch game as UWP instead of launcher helper",
"errors": {
"fatalError__i": "> UWP parser is not compatible in this platform.",
- "UWPNotCompatible": "> UWP parser failed with fatal error:\n ${error}"
+ "UWPNotCompatible": "> UWP parser is only available on Windows."
}
},
"uplayParser": {
"uplayDirTitle": "Ubisoft Directory Override",
- "uplayDirPlaceholder": "/path/to/Ubisoft/",
+ "uplayDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Ubisoft\\",
+ "Darwin": "/path/to/Ubisoft/",
+ "Linux": "/path/to/Ubisoft/"
+ },
"launcherModeInputTitle": "Launch games via UPlay for online services",
"errors": {
"invalidManifestsOverride": "> Uplay Directory Override is not a valid directory.",
@@ -142,8 +187,14 @@
},
"gogParser": {
"galaxyExeOverrideTitle": "Galaxy Path Override",
- "galaxyExeOverridePlaceholder": "/path/to/GalaxyClient.exe",
+ "galaxyExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\GalaxyClient.exe",
+ "Darwin": "/path/to/GOG Galaxy.app/Contents/MacOS/GOG Galaxy",
+ "Linux": "/path/to/GalaxyClient"
+ },
"launcherModeInputTitle": "Launch games via GOG Galaxy",
+ "parseLinkedExecsTitle": "Parse linked executables from GOG Galaxy",
+ "parseRegistryEntries": "Parse using Registry instead of Galaxy DB",
"errors": {
"invalidGalaxyExeOverride": "> Galaxy Client Override is not a valid path.",
"fatalError__i": "> GOG Galaxy parser failed with fatal error:\n ${error}",
@@ -153,7 +204,11 @@
},
"amazonGamesParser": {
"exeOverrideTitle": "Amazon Games Path Override",
- "exeOverridePlaceholder": "/path/to/Amazon Games.exe",
+ "exeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Amazon Games.exe",
+ "Darwin": "/path/to/Amazon Games.app/Contents/MacOS/Amazon Games",
+ "Linux": "/path/to/Amazon Games"
+ },
"launcherModeInputTitle": "Launch games via Amazon Games",
"errors": {
"invalidExeOverride": "> Amazon Games Installation Override is not a valid directory.",
@@ -164,7 +219,11 @@
},
"itchIoParser": {
"itchIoAppDataOverrideTitle": "itch.io AppData Directory Override",
- "itchIoAppDataOverridePlaceholder": "/path/to/itch",
+ "itchIoAppDataOverridePlaceholder": {
+ "Windows_NT": "C:\\AppData\\itch\\",
+ "Darwin": "~/Library/Application Support/itch/",
+ "Linux": "~/.config/itch/"
+ },
"itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Windows-on-Linux Install Drive Redirect",
"itchIoWindowsOnLinuxInstallDriveRedirectPlaceholder": "/mnt/d/",
"errors": {
@@ -177,7 +236,11 @@
},
"eaDesktopParser": {
"eaGamesDirTitle": "EA Games Directory Override",
- "eaGamesDirPlaceholder": "/path/to/EA Games/",
+ "eaGamesDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\EA Games\\",
+ "Darwin": "/path/to/EA Games/",
+ "Linux": "/path/to/EA Games/"
+ },
"eaLauncherModeTitle": "Launch games via EA Desktop",
"errors": {
"fatalError__i": "> EA Desktop parser failed with fatal error:\n ${error}",
@@ -186,7 +249,7 @@
}
},
"globParser": {
- "inputTitle": "User's glob",
+ "inputTitle": "Search glob",
"inputPlaceholder": "${title}.@(iso|ISO)",
"errors": {
"noTitle__md": "> File glob must contain `${title}`!",
@@ -203,7 +266,7 @@
}
},
"globRegexParser": {
- "inputTitle": "User's glob-regex",
+ "inputTitle": "Search glob-regex",
"inputPlaceholder": "${/valid regex/}",
"errors": {
"noRegex__md": "> File glob must contain `${regex}` where **regex** is your regular expression!",
@@ -226,18 +289,22 @@
"stylesTitle": "Allowed grid styles",
"stylesHeroTitle": "Allowed hero styles",
"stylesLogoTitle": "Allowed logo styles",
- "stylesIconTitle": "Allowed icon styles"
+ "stylesIconTitle": "Allowed icon styles",
+ "sizesTitle": "Allowed banner dimensions",
+ "sizesHeroTitle": "Allowed hero dimensions",
+ "sizesTallTitle": "Allowed portrait dimensions",
+ "sizesIconTitle": "Allowed icon dimensions"
},
"logger": {
"component": {
"noMessages": "No messages are available",
- "error": "ERROR",
- "info": "INFO",
- "success": "SUCCESS",
- "fuzzy": "FUZZY",
- "textWrap": "TEXT-WRAP",
- "autoscroll": "AUTOSCROLL",
- "clearLog": "Clear log",
+ "error": "Error messages",
+ "info": "Info messages",
+ "success": "Success messages",
+ "fuzzy": "Fuzzy messages",
+ "textWrap": "Wrap text",
+ "autoscroll": "Autoscroll",
+ "clearLog": "Clear",
"issueDescription": "Thorough issue description with passable spelling.",
"handleExample": "CoolHandle#1234"
}
@@ -251,40 +318,42 @@
"corruptedVariables__i": "Saved custom variables are invalid!\r\nPermanent variable saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "Custom variables file has been downloaded."
+ "downloaded": "Custom variables file has been updated."
}
}
},
"configPresets": {
"service": {
"error": {
- "failedToDownload__i": "Failed to download configuration presets file. Status: ${error}.",
+ "failedToDownload__i": "Failed to download configuration presets file from commit ${commit}. Status: ${error}.",
"writingError": "Error occurred while saving configuration presets.",
"loadingError": "Error occurred while loading configuration presets.",
"corruptedVariables__i": "Saved configuration presets are invalid!\r\nPermanent file saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "New config presets have been downloaded."
+ "downloaded": "Community presets have been updated."
}
}
},
"settings": {
"component": {
"label": {
- "general": "General settings",
- "imageProviders": "Image provider settings",
- "fuzzy": "Fuzzy matcher settings",
- "environmentVariables": "Environment variable settings",
- "communityPresets": "Community variable/preset settings"
+ "general": "General",
+ "imageProviders": "Artwork Providers",
+ "fuzzy": "Fuzzy Matcher",
+ "environmentVariables": "Environment Variables",
+ "communityPresets": "Community Presets and Custom Variables"
},
"text": {
+ "autoUpdate": "Check for updates on start",
"offlineMode": "Offline mode",
- "removeApps_desc": "all added app entries and controllers",
+ "removeApps_desc": "all added games and controllers",
"removeApps_btn": "Remove",
- "preloadImages": "Preload retrieved images immediately",
+ "preloadImages": "Artwork loading strategy",
"fuzzy_verbose": "Log matching results",
- "fuzzy_filter": "Filter images",
+ "fuzzy_filter": "Filter artwork",
"enabledProviders": "Enabled image providers",
+ "dnsServers": "DNS manual override",
"selectLanguage": "Select language",
"selectTheme": "Select theme",
"resetFuzzy_desc": "fuzzy list",
@@ -292,28 +361,38 @@
"resetFuzzy_btn": "Reset",
"customVariables_desc": "custom variables",
"configPresets_desc": "config presets",
- "showSteamImages": "Show current Steam images by default",
+ "showSteamImages": "Show current Steam artwork by default",
"deleteDisabledShortcuts": "Remove shortcuts for disabled parsers",
"clearLogOnTest": "Automatically clear log before testing parsers",
- "configDir": "Open Config Directory"
+ "configDir": "Config Directory",
+ "steamDir": "Steam Directory"
},
"placeholder": {
"noProviders": "None",
- "steamDirectoryWin": "Typically C:\\Program Files (x86)\\Steam",
- "steamDirectoryMac": "Typically ~/Library/Application Support/Steam",
- "steamDirectoryLinux": "Typically /home/user/.steam/steam",
"userAccounts": "For example ${steamlogin}",
- "romsDirectoryWin": "For example D:\\ROMs",
- "romsDirectoryMac": "For example ~/ROMs",
- "romsDirectoryLinux": "For example ~/ROMs",
- "retroarchPathWin": "For example C:\\Path\\To\\retroarch.exe",
- "retroarchPathLinux": "For example /path/to/retroarch",
- "retroarchPathMac": "For example /path/to/retroarch",
- "raCoresDirectoryWin": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores",
- "raCoresDirectoryLinux": "Typically /lib/x86_64-linux-gnu/libretro/cores",
- "raCoresDirectoryMac": "Typically /Applications/Retroarch.app/Contents/Resources/cores",
- "localImagesDirectoryWin": "For example C:\\Path\\To\\LocalArtwork",
- "localImagesDirectoryUnix": "For example ~/path/to/localartwork"
+ "bySystem": {
+ "Windows_NT": {
+ "steamDirectory": "Typically C:\\Program Files (x86)\\Steam\\",
+ "romsDirectory": "For example D:\\ROMs\\",
+ "retroarchPath": "For example C:\\Path\\To\\Retroarch.exe",
+ "raCoresDirectory": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores\\",
+ "localImagesDirectory": "For example C:\\Path\\To\\LocalArtwork\\"
+ },
+ "Darwin": {
+ "steamDirectory": "Typically ~/Library/Application Support/Steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /Applications/Retroarch.app/Contents/Resources/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ },
+ "Linux": {
+ "steamDirectory": "Typically /home/user/.steam/steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /lib/x86_64-linux-gnu/libretro/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ }
+ }
}
},
"service": {
@@ -331,6 +410,7 @@
"component": {
"about": "About",
"preview": "Preview",
+ "view": "View Games",
"logger": "Log",
"settings": "Settings",
"parsers": "Create Parser",
@@ -352,6 +432,9 @@
"title": "User Exceptions",
"exclude": "Exclude Title",
"excludeArtwork": "Local Artwork Only"
+ },
+ "placeholder": {
+ "sortBy": "Sort By"
}
},
"service": {
@@ -366,8 +449,8 @@
"component": {
"buttons": {
"save": "Save",
- "copy": "Copy",
- "testParser": "Test parser",
+ "copy": "Clone",
+ "testParser": "Test",
"delete": "Delete",
"moveUp": "Move up",
"moveDown": "Move down",
@@ -381,23 +464,23 @@
"opSys__i": "Operating system is \"${os}\"",
"testCompleted": "Parser test is completed.",
"nothingWasFound": "Parser found nothing.",
- "copiedToClipboard": "Configuration copied to clipboard",
+ "copiedToClipboard": "Parser copied to clipboard",
"userExclusions": "User excluded:",
- "excludedFileInfo__i": "[${index}/${total}]: ${filename}",
+ "excludedFileInfo__i": "[${index}/${total}]: ${filename}\n Excluded by \"${exceptionKey}\"",
"removingControllers__i": "Removing controller templates for parser: ${configTitle}",
"fetchingControllerTemplates": "Fetching controller templates"
},
"error": {
"missingAccounts__i": "Following ${count} user account(s) were not found (user must to login to Steam at least once):",
"missingAccountInfo__i": " ${name}",
- "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials (\"Show advanced options -> User accounts -> Use account credentials\").\r\nIf you're seeing this, preview won't be generated for this configuration.",
+ "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials.\r\nIf you're seeing this, Add Games will skip this configuration.",
"cannotParseUserIDs": "Error parsing user accounts:",
"failedToMatch": "Failed to match:",
"failedFileInfo__i": "[${index}/${total}]: ${filename}",
"testFailed": "Testing failed",
"cannotTestInvalid": "Can not test invalid configuration!",
"cannotCopyInvalid": "Can not copy invalid configuration!",
- "failedToCopy": "Failed to copy to clipbard!",
+ "failedToCopy": "Failed to copy to clipboard!",
"cannotFetchTemplates": "Can not fetch controller templates for invalid steam directory!",
"errorRemovingControllers": "Error removing controllers:",
"cannotRemoveControllers": "Can not remove controllers from invalid steam directory!"
@@ -405,8 +488,8 @@
"success": {
"foundAccounts__i": "Found ${count} available user account(s):",
"foundAccountInfo__i": " ${name} (steamID64: ${steamID64}, accountID: ${accountID})",
- "steamCategory__i": "[${index}/${total}]: Steam categories - ${steamCategory}",
- "steamCategoryInfo__i": "[${index}/${total}]: ${steamCategory}",
+ "steamCategories__i": "[${index}/${total}]: Steam categories - ${steamCategories}",
+ "steamCategoriesInfo__i": "[${index}/${total}]: ${steamCategories}",
"exceptionKey__i": "[${index}/${total}]: Exception ID - ${appid}",
"appId__i": "[${index}/${total}]: Legacy App ID - ${appid}",
"shortAppId__i": "[${index}/${total}]: App ID - ${appid}",
@@ -416,20 +499,21 @@
"filePath__i": "[${index}/${total}]: File path - ${filePath}",
"startDir__i": "[${index}/${total}]: Start dir - ${startDir}",
"completeShortcut__i": "[${index}/${total}]: Complete shortcut - ${shortcut}",
- "firstImageQuery__i": "[${index}/${total}]: Image queries - ${query}",
+ "firstImageQuery__i": "[${index}/${total}]: Artwork queries - ${query}",
+ "imagePool__i": "[${index}/${total}]: Artwork pool - ${imagePool}",
"imageQueries__i": "[${index}/${total}]: ${query}",
"defaultImage__i": "[${index}/${total}]: Resolved fallback ${artworkType}:\r\n[${index}/${total}]: ${image}",
"resolvedDefaultImage__i": "[${index}/${total}]: Fallback ${artworkType}:",
- "localImages__i": "[${index}/${total}]: Resolved ${artworkType}:",
- "resolvedLocalImages__i": "[${index}/${total}]: ${artworkType} glob:",
+ "localImages__i": "[${index}/${total}]: Resolved local ${artworkType}:",
+ "resolvedLocalImages__i": "[${index}/${total}]: Local ${artworkType} glob:",
"indexInfo__i": "[${index}/${total}]: ${indexed}",
"removedControllers__i": "Succesfully removed controllers for parser: ${configTitle}",
"fetchedTemplates": "Fetched all controller templates"
},
"label": {
"parserType": "Parser type",
- "configTitle": "Configuration title",
- "steamCategory": "Steam category",
+ "configTitle": "Parser title",
+ "steamCategories": "Steam collections",
"executableModifier": "Executable modifier",
"executableLocation": "Executable",
"romDirectory": "ROMs directory",
@@ -440,33 +524,56 @@
"titleModifier": "Title modifier",
"fuzzyMatch": "Fuzzy matching",
"executableArgs": "Command line arguments",
- "onlineImageQueries": "Online image query",
- "imagePool": "Image pool",
- "imageProviders": "Image providers",
+ "onlineImageQueries": "Artwork provider search queries",
+ "imagePool": "Artwork pool",
+ "imageProviders": "Artwork providers",
"defaultImage__i": "Fallback ${artworkType}",
"localImages__i": "Local ${artworkType} glob"
},
"placeholder": {
"parserType": "Select parser...",
"configTitle": "My Awesome Parser",
- "steamCategory": "${cat1}${cat2}",
- "steamDirectory": "${steamdirglobal} or /path/to/steam",
- "userAccounts": "${steamuser1}${steamuser2} or ${${accountsglobal}}",
- "titleFromVariable": "${myvariable}",
+ "steamDirectory": {
+ "Windows_NT": "${steamdirglobal} or C:\\path\\to\\Steam\\",
+ "Darwin": "${steamdirglobal} or /path/to/Steam/",
+ "Linux": "${steamdirglobal} or /path/to/Steam/"
+ },
+ "titleFromVariable": "${variableGroup1}${variableGroup2}",
"titleModifier": "${fuzzyTitle} or ${title}",
- "defaultImage__i": "/path/to/fallback_${artworkType}.png",
- "localImages__i": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
- "romDirectory": "/path/to/games/",
+ "defaultImage__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\fallback_${artworkType}.png",
+ "Darwin": "/path/to/fallback_${artworkType}.png",
+ "Linux": "/path/to/fallback_${artworkType}"
+ },
+ "localImages__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\art\\\\${artworkType}\\\\\\${title}.@(png|jpg)",
+ "Darwin": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
+ "Linux": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)"
+ },
+ "onlineImageQueries": "${${fuzzyTitle}} or ${${title}}${${fuzzyTitle}}",
+ "imagePool": "${fuzzyTitle}",
+ "romDirectory": {
+ "Windows_NT": "C:\\path\\to\\games\\",
+ "Darwin": "/path/to/games/",
+ "Linux": "/path/to/games/"
+ },
"glob": "${title}.@(iso|ISO)",
- "executableLocation": "Example: /path/to/emulator.exe",
- "executableArgs": "--arg1 --arg2",
+ "executableLocation": {
+ "Windows_NT": "C:\\path\\to\\emulator.exe",
+ "Darwin": "/path/to/emulator.app",
+ "Linux": "/path/to/emulator"
+ },
+ "executableArgs": "--arg1 --arg2 --launch \"${filePath}\"",
"executableModifier": "\"${exePath}\"",
- "startInDirectory": "/path/to/start/in/dir",
+ "startInDirectory": {
+ "Windows_NT": "C:\\path\\to\\start-in-dir\\",
+ "Darwin": "/path/to/start-in-dir/",
+ "Linux": "/path/to/start-in-dir/"
+ },
"imageProviders": "None",
"multiAPIPlaceholder": "No Filter"
},
"text": {
- "tryToMatchTitle": "Enable Title from Custom Variable",
"skipFileIfVariableWasNotFound": "Skip file if variable was not found",
"caseInsensitiveVariables": "Case-insensitive variables",
"shortcut_passthrough": "Follow .lnk or .desktop to destination (Windows and Linux only)",
@@ -482,18 +589,18 @@
},
"service": {
"info": {
- "updatingConfigurations": "Updating user configurations with new fields"
+ "updatingConfigurations": "Updating user's parsers with new fields"
},
"error": {
- "savingConfiguration": "Error encountered while saving user configurations!",
- "readingConfiguration": "Error encountered while reading user configurations!",
+ "savingConfiguration": "Error encountered while saving user's parsers!",
+ "readingConfiguration": "Error encountered while loading user's parsers!",
"parserTypeMissing": "Cannot save without specifying parser type",
- "corruptedConfiguration__i": "One or more saved parser configurations are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
- "fetcingTemplates": "Error encountered while fetching controllers templates!"
+ "corruptedConfiguration__i": "One or more saved parsers are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
+ "fetchingTemplates": "Error encountered while fetching controllers templates!"
},
"validationErrors": {
"parserType__md": "> Incorrect parser type!",
- "configTitle__md": "> Configuration title is required!",
+ "configTitle__md": "> Parser title field cannot be blank!",
"parserId__md": "> Parser Id is missing, something is horribly wrong.",
"parserInput": {
"noInput": "No inputs are available!",
@@ -501,19 +608,15 @@
"incorrectParser": "Incorrect parser!"
},
"romDir__md": "> ROMs directory is invalid!",
- "userAccounts__md": "> Steam parser requires `User Accounts` field",
+ "userAccounts__md": "> User accounts field is required!",
"steamDir__md": "> Steam directory is invalid!",
"startInDir__md": "> \"Start In\" directory is invalid!",
"executable__md": "> Executable is invalid!",
- "imagePool__md": "> Image pool must not be empty!",
- "defaultImage__md": "> Default image is an invalid path!",
- "titleModifier__md": "> Title modifier must not be empty!",
- "executableModifier__md": "> Executable modifier must not be empty!",
- "variableString__md": "> Uneven number of `${` and `}` pairs. Use `\\` to escape `${` or `}` if you want to use them as characters.",
- "imageProviders__md": "> Incorrect image providers type!",
- "unhandledValidationKey__md": "> Input's validation is unhandled",
- "genericDir__md": "> Directory is invalid",
- "genericPath__md": "> Path is invalid"
+ "defaultImage__md": "> Fallback artwork is an invalid path!",
+ "variableString__md": "> Uneven number of `${` and `}` pairs! Use `\\` to escape `${` or `}` if you want to use them as characters.",
+ "unhandledValidationKey__md": "> Input's validation is unhandled!",
+ "genericDir__md": "> Directory is invalid!",
+ "genericPath__md": "> Path is invalid!"
},
"text": {
"noTitle": "No title!"
@@ -540,7 +643,7 @@
"error": {
"parserNotFound__i": "Parser \"${name}\" not found!",
"tooManyFieldGlobs__md": "> Only one `$(...)$` set is allowed per input.",
- "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** ir **Glob-regex** field.",
+ "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** in **Glob-regex** field.",
"noWinSlashes__md": "> Windows directory character `\\` is not allowed! Use `/` instead."
}
},
@@ -567,11 +670,11 @@
"error": {
"readingVdf__i": "Failed to read from \"${filePath}\".\n ${error}",
"writingVdf__i": "Failed to write to \"${filePath}\".\n ${error}",
- "skippingDMCA__i": "Skipping DMCA'd image for ${title}",
+ "skippingDMCA__i": "Skipping DMCA'd artwork for ${title}",
"corruptedVdf__i": "\"${filePath}\" is corrupted.\n ${error}",
"creatingBackup__i": "Could not create backup for \"${filePath}\".\n ${error}",
"unsupportedMimeType__i": "Mime type (${type}) is unsupported (title - \"${title}\").",
- "imageError__i": "Error occurred while saving/downloading image for \"${title}\". Url: ${url}.\n ${error}"
+ "imageError__i": "Error occurred while saving/downloading artwork for \"${title}\". Url: ${url}.\n ${error}"
}
},
"helpers": {
diff --git a/src/lang/ro-RO/markdown/UWP-parser-input.md b/src/lang/ro-RO/markdown/UWP-parser-input.md
index 1a3f20be1d..8c045eea77 100644
--- a/src/lang/ro-RO/markdown/UWP-parser-input.md
+++ b/src/lang/ro-RO/markdown/UWP-parser-input.md
@@ -1,4 +1,4 @@
-# Unique inputs for UWP Parser
+# UWP Parser Specific Inputs
## Games directory
@@ -8,4 +8,4 @@ Set it to `C:\Program Files\WindowsApps` to grab all UWP applications -- you'll
## Launch as UWP or from GameLaunchHelper.exe
-Gamepass games can be launched both ways, although UWP is preffered.
+Gamepass games can be launched both ways, although UWP is preferred.
diff --git a/src/lang/ro-RO/markdown/UWP-parser.md b/src/lang/ro-RO/markdown/UWP-parser.md
index bfb5a847f3..af4fee0f84 100644
--- a/src/lang/ro-RO/markdown/UWP-parser.md
+++ b/src/lang/ro-RO/markdown/UWP-parser.md
@@ -4,4 +4,4 @@ This parser imports `UWP` games in your Windows OS, having a games library path
## Compatibility
-This parser should only work on `Windows 10` and `Windows 11`.
\ No newline at end of file
+This parser should only work on `Windows 10` and `Windows 11`.
diff --git a/src/lang/ro-RO/markdown/about.md b/src/lang/ro-RO/markdown/about.md
index b5b78d51b7..1dfe83f938 100644
--- a/src/lang/ro-RO/markdown/about.md
+++ b/src/lang/ro-RO/markdown/about.md
@@ -2,7 +2,7 @@
In case you're having trouble with SRM, feel free to visit the [discord](https://discord.gg/bnSVJrz) or the [subreddit](https://www.reddit.com/r/SteamRomManager/) and ask for our help. In order for us to help you, we would like you to provide this info:
-* SRM version: **#{APP[version]}**
+* SRM version: **#{APP[version]}** emudeckText
* Operating System: **#{APP[os]}**
## Useful links
@@ -43,8 +43,9 @@ If you enjoy Steam ROM Manager and want it to continue to be useful also conside
* `CarJem`{.noWrap} - Added the manual parser.
* `MattMckenzy`{.noWrap} - Added ability to import and export image choices.
* `Apalatn`{.noWrap} - Added an install drive redirect option to the itch.io parser.
-* `OneMoreByte` - Made itch.io parser work on linux and mac.
-* `UndarkAido` - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `OneMoreByte`{.noWrap} - Made itch.io parser work on linux and mac.
+* `UndarkAido`{.noWrap} - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `HazardousBackup`{.noWrap} - Added option to GOG parser to parse Registry instead of GOG's DB.
### Community
* `HE Spoke`{.noWrap} - created a community around SRM. Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups. Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
diff --git a/src/lang/ro-RO/markdown/amazon-games-parser-input.md b/src/lang/ro-RO/markdown/amazon-games-parser-input.md
index 7ac728e20b..770697198e 100644
--- a/src/lang/ro-RO/markdown/amazon-games-parser-input.md
+++ b/src/lang/ro-RO/markdown/amazon-games-parser-input.md
@@ -1,4 +1,4 @@
-# Amazon Games Parser specific inputs
+# Amazon Games Parser Specific Inputs
## Amazon Games Path Override
By default Steam ROM Manager assumes your Amazon Games installation is located at `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`. This field allows you to override that path if your Amazon Games installation is elsewhere.
diff --git a/src/lang/ro-RO/markdown/amazon-games-parser.md b/src/lang/ro-RO/markdown/amazon-games-parser.md
index cdfda7c283..eb556fcc6e 100644
--- a/src/lang/ro-RO/markdown/amazon-games-parser.md
+++ b/src/lang/ro-RO/markdown/amazon-games-parser.md
@@ -1,3 +1,3 @@
# Amazon Games Parser
-This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/ro-RO/markdown/battle-net-parser-input.md b/src/lang/ro-RO/markdown/battle-net-parser-input.md
new file mode 100644
index 0000000000..1f03fae4a6
--- /dev/null
+++ b/src/lang/ro-RO/markdown/battle-net-parser-input.md
@@ -0,0 +1,5 @@
+# Battle.net Parser Specific Inputs
+
+## Battle.net.exe Path Override
+
+By default Steam ROM Manager assumes your `Battle.net` executable is located at `C:\Program Files (x86)\Battle.net\Battle.net.exe`. This field allows you to override that if your `Battle.net` is installed elsewhere.
diff --git a/src/lang/ro-RO/markdown/battle-net-parser.md b/src/lang/ro-RO/markdown/battle-net-parser.md
new file mode 100644
index 0000000000..c3ffb10b67
--- /dev/null
+++ b/src/lang/ro-RO/markdown/battle-net-parser.md
@@ -0,0 +1,5 @@
+# Battle.net Parser
+
+This parser imports games from the `Battle.net` app, so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Blizzard has altered the structure of their database files, in which case please let the developers of SRM know and we will resolve the issue.
+
+The `Battle.net` parser is somewhat special in that it uses a shell script at `${srmDir}/scripts/bnet.ps1` in order to launch `Battle.net`, wait an appropriate amount of time, and only then launch the actual title.
diff --git a/src/lang/ro-RO/markdown/config-title.md b/src/lang/ro-RO/markdown/config-title.md
index ed2eeef493..abadc31951 100644
--- a/src/lang/ro-RO/markdown/config-title.md
+++ b/src/lang/ro-RO/markdown/config-title.md
@@ -1,3 +1,5 @@
-# Configuration title
+# Parser title
-Title to save user configuration as. Does not have to be unique, but is required.
\ No newline at end of file
+Title of the parser. Does not have to be unique, but is required.
+
+This field will not affect what is added to `Steam` in any way.
diff --git a/src/lang/ro-RO/markdown/controller-templates.md b/src/lang/ro-RO/markdown/controller-templates.md
index 37c943f370..686b3ba13a 100644
--- a/src/lang/ro-RO/markdown/controller-templates.md
+++ b/src/lang/ro-RO/markdown/controller-templates.md
@@ -17,10 +17,10 @@ In the SRM parser:
Currently, SRM pulls all of the default (Valve made) templates for each controller as well as all of the user defined templates that end in `(SRM)`.
-* Select your templates and save the parser. The controller configsets will be applied once you hit `Save App List` in the preview.
+* Select your templates and save the parser. The controller configsets will be applied once you hit `Save to Steam` in the Add Games.
* To unset controller configs, you may either `Remove All Added App Entries` from global settings (this deletes all SRM made changes to your steam data) or hit `Unset All Controllers` in the parser (this only removes controller settings for the steam directory and user specified in that parser).
-Once this is done you can generate and save the preview as usual, and the template will be applied to all the titles in the parser.
+Once this is done you can parse and add games to steam as usual, and the templates will be applied to all the titles in the parser.
diff --git a/src/lang/ro-RO/markdown/default-image.md b/src/lang/ro-RO/markdown/default-image.md
index 47e3f9261e..7bf4e6413d 100644
--- a/src/lang/ro-RO/markdown/default-image.md
+++ b/src/lang/ro-RO/markdown/default-image.md
@@ -1,4 +1,4 @@
-# Default image (optional) `[supports variables]`{.noWrap}
+# Default image `[supports variables]`{.noWrap}
Allows one to use an image, stored locally, as a default/fallback image. A [special glob input](#special-glob-input) string is used to retrieve images. Only the first retrieved image is used.
diff --git a/src/lang/ro-RO/markdown/ea-desktop-parser-input.md b/src/lang/ro-RO/markdown/ea-desktop-parser-input.md
index 7990efb5b5..355ba68c8e 100644
--- a/src/lang/ro-RO/markdown/ea-desktop-parser-input.md
+++ b/src/lang/ro-RO/markdown/ea-desktop-parser-input.md
@@ -1,4 +1,4 @@
-# EA Desktop Parser specific inputs
+# EA Desktop Parser Specific Inputs
## EA Games Directory Override
By default Steam ROM Manager assumes your `EA Desktop` games are installed at ``C:\Program Files\EA Games\`. This field allows you to change that to wherever your games are installed, e.g.``D:\Games\EA Games`.
diff --git a/src/lang/ro-RO/markdown/epic-parser-input.md b/src/lang/ro-RO/markdown/epic-parser-input.md
index 88b5bd915c..c175be5c5e 100644
--- a/src/lang/ro-RO/markdown/epic-parser-input.md
+++ b/src/lang/ro-RO/markdown/epic-parser-input.md
@@ -1,4 +1,4 @@
-# Epic Games Store specific inputs
+# Epic Games Store Specific Inputs
## Manifests Directory Override
diff --git a/src/lang/ro-RO/markdown/executable-arguments.md b/src/lang/ro-RO/markdown/executable-arguments.md
index 8b5121722a..c19b665402 100644
--- a/src/lang/ro-RO/markdown/executable-arguments.md
+++ b/src/lang/ro-RO/markdown/executable-arguments.md
@@ -1,4 +1,4 @@
-# Command line arguments (optional) `[supports variables]`{.noWrap}
+# Command line arguments `[supports variables]`{.noWrap}
Arguments which are appended to executable to produce final shortcut. Most of the time you will want to set it using provided parser variables.
@@ -49,7 +49,7 @@ Arguments which are appended to executable to produce final shortcut. Most of th
### Nestopia (NES/Famicom)
```
-"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
+"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
```
### higan (NES/Famicom, SNES/Famicom, Gameboy, Gameboy Color, Gameboy Advance)
@@ -126,13 +126,13 @@ This setting is used to influence Steam's APP ID.
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -187,6 +187,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -196,7 +197,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/ro-RO/markdown/executable-location.md b/src/lang/ro-RO/markdown/executable-location.md
index b13f57494f..36fbbc9a46 100644
--- a/src/lang/ro-RO/markdown/executable-location.md
+++ b/src/lang/ro-RO/markdown/executable-location.md
@@ -1,4 +1,4 @@
-# Executable (optional) `[supports environment variables]`
+# Executable `[supports env variables]`
Path to emulator's executable. Can be a file or any valid system path.
@@ -6,6 +6,8 @@ Path to emulator's executable. Can be a file or any valid system path.
In some cases you might want to run game from a some kind batch file which will also automatically run the emulator itself. If that is the case, then providing executable is unnecessary.
+The final shortcut will just be `"${filePath}" --command-line-args`.
+
### So, how do I add files to Steam without default executable?
All files retrieved by a parser will be treated as executables instead.
diff --git a/src/lang/ro-RO/markdown/executable-modifier.md b/src/lang/ro-RO/markdown/executable-modifier.md
index c3c5739e86..2131f6964d 100644
--- a/src/lang/ro-RO/markdown/executable-modifier.md
+++ b/src/lang/ro-RO/markdown/executable-modifier.md
@@ -1,102 +1,23 @@
# Executable modifier `[supports variables]`{.noWrap}
-Default value is `"${exePath}"`{.noWrap}. This setting can be used to prepend or append desired characters to an executable which will be added to Steam (`Target` property). For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you can add `"cmd" /k start /min` to it by setting value to:
+Defaults to `"${exePath}"`{.noWrap} if unset. This field can be used to prepend or append desired characters to the executable which will be added to the Steam shortcut's `Target` property. For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you could start `Retroarch` minimized by setting the `Executable Modifier` "cmd" to:
+
```
"cmd" /k start /min "${exePath}"
```
-You can use any other variable to construct the final executable.
-
-This setting influences Steam's APP ID.
-
-
-## Shortcut Passthrough
-If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the target of that shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser.
-
-## Directory variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
-
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
-
-## Name variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------------------------------- |
-| `${exeName}` | Name of executable (without extension) |
-| `${fileName}` | Name of file which was returned by a parser (without extension) |
-
-In case executable directory input is left **empty**, `${exeName}`{.noWrap} is equal to `${fileName}`{.noWrap}.
-
-## Extension variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------------------- |
-| `${exeExt}` | Extension of executable (with a dot) |
-| `${fileExt}` | Extension of file which was returned by a parser (with a dot) |
-In case executable directory input is left **empty**, `${exeExt}`{.noWrap} is equal to `${fileExt}`{.noWrap}.
+In this case the `Target` property would begin with:
-## Path variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:-------------------------------------------------- |
-| `${exePath}` | Full path to an executable |
-| `${filePath}` | Full path to a file which was returned by a parser |
-
-In case executable directory input is left **empty**, `${exePath}`{.noWrap} is equal to `${filePath}`{.noWrap}.
-
-## Parser variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------ |
-| `${title}` | Extracted title |
-| `${fuzzyTitle}` | Fuzzy matched title |
-| `${finalTitle}` | Title which was the end result of title modifier |
-
-In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
+```
+"cmd" /k start /min "C:\RetroArch\retroarch.exe"
+```
-## Function variables
+followed by whatever launch arguments you choose in the `Command Line Arguments` field.
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+You can use any other variable to construct the final executable.
-### Function variable example
+This setting influences Steam's APP ID.
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
-```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
-```
-will be replaced with these:
-```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+## Shortcut Passthrough
---On linux:
-file.so
---On Windows:
-file.dll
---On Mac OS:
-file
-```
+If you enable `Follow .lnk/.desktop to destination` and the glob search finds a `.lnk` or `.desktop` file, ie a shortcut, then the `${filePath}` variable will contain the target of the shortcut rather than the path to the shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the `Command Line Arguments` field in the parser.
diff --git a/src/lang/ro-RO/markdown/glob-parser-input.md b/src/lang/ro-RO/markdown/glob-parser-input.md
index 996ae77ce1..2a43592892 100644
--- a/src/lang/ro-RO/markdown/glob-parser-input.md
+++ b/src/lang/ro-RO/markdown/glob-parser-input.md
@@ -1,4 +1,4 @@
-# Glob Parser specific inputs
+# Glob Parser Specific Inputs
## User's glob
diff --git a/src/lang/ro-RO/markdown/glob-regex-parser-input.md b/src/lang/ro-RO/markdown/glob-regex-parser-input.md
index 22c1f5cea6..6491148a25 100644
--- a/src/lang/ro-RO/markdown/glob-regex-parser-input.md
+++ b/src/lang/ro-RO/markdown/glob-regex-parser-input.md
@@ -1,4 +1,4 @@
-# Glob-regex Parser specific inputs
+# Glob-regex Parser Specific Inputs
## User's glob-regex
@@ -6,7 +6,7 @@ This is where you create your glob for extracting title from file path. Please r
## How does it work?
-In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
+In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
| User's glob | Position |
| --------------------- | --------------------------- |
diff --git a/src/lang/ro-RO/markdown/gog-parser-input.md b/src/lang/ro-RO/markdown/gog-parser-input.md
index 756fa3de77..bf185f2c23 100644
--- a/src/lang/ro-RO/markdown/gog-parser-input.md
+++ b/src/lang/ro-RO/markdown/gog-parser-input.md
@@ -1,10 +1,20 @@
-# Unique inputs for GOG Galaxy Parser
+# GOG Galaxy Parser Specific Inputs
## Galaxy Path Override
-By default Steam ROM Manager assumes your Galaxy Client is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe`. This field allows you to override that path if your GOG Galaxy installation is elsewhere.
-This field is actually only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of the Galaxy Client.
+By default Steam ROM Manager assumes your GOG Galaxy executable is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe` on Windows and `/Applications/GOG Galaxy.app/Contents/MacOS/GOG Galaxy` on Mac. This field allows you to override that path if your GOG Galaxy executable is elsewhere.
-## Launch Via GOG Galaxy `[Recommend disabled]`
+Specifying the correct location of GOG Galaxy's executable is only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of GOG Galaxy's executable.
-What it sounds like, this toggle let's you set whether games will launch via GOG Galaxy or directly. Note that for some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+## Launch via GOG Galaxy `[Recommend disabled]`
+
+What it sounds like, this toggle determines whether games launch via GOG Galaxy or directly. For some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+
+## Parse Linked Executables from GOG Galaxy
+
+If enabled, SRM will pull in not only GOG games aquired from GOG Galaxy's store, but also those you have manually linked executables for in GOG Galaxy. This is desirable if those games are not being parsed into SRM elsewhere.
+
+A caveat is that because GOG Galaxy does not store the names linked executables in its database, SRM will use the directory name of the executable on Windows (e.g. `C:\\path\\to\\Hoa\\LaunchHoa.exe` would be assigned the title `Hoa`) and the executable name on Mac (e.g. `/Applications/Symphonia.app` would be assigned the title `Symphonia`).
+
+## Parse using Registry instead of Galaxy DB `[Windows only] [Recommend disabled]`
+This option will parse the Windows Registry for installed GOG games instead of GOG Galaxy's SQL database, allowing the parser to work even if GOG Galaxy is not installed. If this is enabled, `Parse Linked Executables` will of have no effect, but `Launch via GOG Galaxy` will work as normal.
\ No newline at end of file
diff --git a/src/lang/ro-RO/markdown/image-pool.md b/src/lang/ro-RO/markdown/image-pool.md
index 8b54cf72d9..0b4e4a94fb 100644
--- a/src/lang/ro-RO/markdown/image-pool.md
+++ b/src/lang/ro-RO/markdown/image-pool.md
@@ -1,3 +1,5 @@
-# Image pool `[supports variables]`{.noWrap}
+# Artwork pool `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting is used to allow different apps share the same images -- same "image pool", or allow unique image pool per app. To use unique image pool per app just set it to something unique. For example `${fuzzyTitle} SNES`{.noWrap}.
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset.
+
+This field is used to allow games from different parsers to share the same images (i.e. the same "image pool") if they have the same title. If you want different parsers not to share images for games with the same title, just set this field to something unique, for example `${fuzzyTitle} SNES`{.noWrap} or `${fuzzyTitle} ${parserTitle}`{.noWrap}.
diff --git a/src/lang/ro-RO/markdown/image-providers.md b/src/lang/ro-RO/markdown/image-providers.md
index 0b778780c6..f70a9275f6 100644
--- a/src/lang/ro-RO/markdown/image-providers.md
+++ b/src/lang/ro-RO/markdown/image-providers.md
@@ -1,7 +1,7 @@
-# Image providers
+# Artwork providers
-Here you can select image providers that are used to retrieve images. This option is for this configuration only.
+Here you can select artwork providers (online sources of game art) that are used by SRM to get art for your games.
## Similar option in "Settings" menu
-Settings menu has "Enabled providers" which enable image providers globally -- if it's not enabled in Settings, it won't work.
+Settings menu has "Enabled providers" which enable artwork providers globally -- if it's not enabled in Settings, it won't work.
diff --git a/src/lang/ro-RO/markdown/intro.md b/src/lang/ro-RO/markdown/intro.md
index f8d5fcabda..a6d65c0059 100644
--- a/src/lang/ro-RO/markdown/intro.md
+++ b/src/lang/ro-RO/markdown/intro.md
@@ -8,8 +8,8 @@ Also, don't forget to check FAQ. If you still got questions about setting up con
After saving parser configuration, **1** of **3** colors will be shown next to its title:
- -- Enabled configuration. This configuration will be used when generating a list in **preview** page.
+ -- Enabled configuration. This configuration will be used when generating a list in **Add Games** page.
- -- Unsaved changes. This configuration will not be used when generating a list in **preview** page, however earlier **saved** version will be used instead.
+ -- Unsaved changes. This configuration will not be used when generating a list in **Add Games** page, however earlier **saved** version will be used instead.
- -- Disabled configuration. This configuration will not be used when generating a list in **preview** page.
\ No newline at end of file
+ -- Disabled configuration. This configuration will not be used when generating a list in **Add Games** page.
\ No newline at end of file
diff --git a/src/lang/ro-RO/markdown/itch-io-parser-input.md b/src/lang/ro-RO/markdown/itch-io-parser-input.md
index 4b0057c170..ffa409af96 100644
--- a/src/lang/ro-RO/markdown/itch-io-parser-input.md
+++ b/src/lang/ro-RO/markdown/itch-io-parser-input.md
@@ -1,4 +1,4 @@
-# itch.io Parser specific inputs
+# itch.io Parser Specific Inputs
## itch.io AppData Path Override
By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere.
diff --git a/src/lang/ro-RO/markdown/itch-io-parser.md b/src/lang/ro-RO/markdown/itch-io-parser.md
index 7f29ffc42d..accb8b5ad2 100644
--- a/src/lang/ro-RO/markdown/itch-io-parser.md
+++ b/src/lang/ro-RO/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
# itch.io Parser
-This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/ro-RO/markdown/legendary-parser-input.md b/src/lang/ro-RO/markdown/legendary-parser-input.md
index 80ca0bcbbc..4a826e43da 100644
--- a/src/lang/ro-RO/markdown/legendary-parser-input.md
+++ b/src/lang/ro-RO/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
-# Legendary Parser specific inputs
+# Legendary Parser Specific Inputs
+
+## Legendary Path Override
+
+By default Steam ROM Manager uses `(Get-Command legendary).Path` on Windows and `which legendary` on Linux and Mac to determine the location of your Legendary executable. This field allows you to override that path.
+
+Specifying the correct location of the Legendary executable is only necessary if you enable launch via Legendary (see below), as otherwise SRM has no need of the location of Legendary's executable.
## Legendary `installed.json` Path Override
Most users shouldn't use this, as they use the standard `Legendary` installation where installed games manifest will be located at `~/.config/legendary/installed.json`.
If, however, for some reason your installed games manifest is located in a non-typical location then you can specify the correct manifest path here.
+
+## Launch via Legendary `[Recommend enabled]`
+
+What it sounds like, this toggle determines whether games launch via Legendary or directly. Launching via Legendary provides access to Epic's online services.
diff --git a/src/lang/ro-RO/markdown/local-images.md b/src/lang/ro-RO/markdown/local-images.md
index cff60e5674..5da2e5ae4c 100644
--- a/src/lang/ro-RO/markdown/local-images.md
+++ b/src/lang/ro-RO/markdown/local-images.md
@@ -1,4 +1,4 @@
-# Local images (optional) `[supports variables]`{.noWrap}
+# Local images `[supports variables]`{.noWrap}
Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
diff --git a/src/lang/ro-RO/markdown/manual-parser-input.md b/src/lang/ro-RO/markdown/manual-parser-input.md
index bc1848d45a..65265ebd32 100644
--- a/src/lang/ro-RO/markdown/manual-parser-input.md
+++ b/src/lang/ro-RO/markdown/manual-parser-input.md
@@ -1,4 +1,4 @@
-# Manual Parser specific inputs
+# Manual Parser Specific Inputs
## Manifests Directory `[Supports Environment Variables]`{.noWrap}
@@ -17,7 +17,8 @@ The names of the files do not matter. What does matter is that each `manifest.js
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args",
+ "appendArgsToExecutable": false
}
```
Or a list of titles, like so:
@@ -27,15 +28,19 @@ Or a list of titles, like so:
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args".
+ "appendArgsToExecutable": true
},
{
"title": "gameTitle2",
"target": "game2/path/target.sh",
"startIn": "game2/path",
- "launchOptions": "--args2"
+ "launchOptions": "--args2",
+ "appendArgsToExecutable": false
}
]
```
A typical use case would be to use a single json file per game type, or per year, etc.
+
+Just like for ROM parsers, `appendArgsToExecutable` determines whether `launchOptions` are appended to the shortcut `target` or appear separately as launch options in steam.
diff --git a/src/lang/ro-RO/markdown/non-srm-shortcuts-parser.md b/src/lang/ro-RO/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..4485008a1a
--- /dev/null
+++ b/src/lang/ro-RO/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,29 @@
+# Non-SRM Shortcut Parser
+
+This parser imports non SRM steam shortcuts into SRM so their artowrk can be managed. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
+
+## User accounts
+
+Used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
+
+```
+${...}
+```
+
+You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
+
+ {.fitImage .center}
+
+For example, this is how you specify account for "Banana" and "Apple":
+
+```
+${Banana}${Apple}
+```
+
+You can also limit accounts by specifying their ids directly. For example:
+
+```
+${56489124}${21987424}
+```
+
+Would limit the search to `steam/userdata/56489124` and `steam/userdata/21987424`.
diff --git a/src/lang/ro-RO/markdown/parser-env-variables.md b/src/lang/ro-RO/markdown/parser-env-variables.md
index 3b186a70f7..e95baf9137 100644
--- a/src/lang/ro-RO/markdown/parser-env-variables.md
+++ b/src/lang/ro-RO/markdown/parser-env-variables.md
@@ -13,3 +13,5 @@ These variables are pre parsed and can be used even in the Rom Directory, Steam
The utility of the environment variable `${srmdir}` is to make SRM fully portable, eg if you wanted to have the directory layout `D:\Games\Roms` and `D:\Games\PortableSRM\SRM.exe` then setting the field Roms Directory to be `${srmdir}${/}..${/}Roms` would allow you to move the Games directory somewhere else without breaking your setup.
+
+Function variables can also be used in fields that permit environment variables (e.g. `${os:win|C:\path\to\startdir|${os:linux|/path/to/startdir}}`)
diff --git a/src/lang/ro-RO/markdown/parser-variables.md b/src/lang/ro-RO/markdown/parser-variables.md
index 7e9eb636ff..7c164a55bc 100644
--- a/src/lang/ro-RO/markdown/parser-variables.md
+++ b/src/lang/ro-RO/markdown/parser-variables.md
@@ -4,13 +4,13 @@ Here are tables of variables that can be used with options that have `[supports
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -48,6 +48,7 @@ In case executable directory input is left **empty**, `${exePath}`{.noWrap} is e
| `${title}` | Extracted title |
| `${fuzzyTitle}` | Fuzzy matched title |
| `${finalTitle}` | Title which was the end result of title modifier |
+| `${parserTitle}` | The value of the `Parser Title` field |
In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
@@ -65,6 +66,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -74,7 +76,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/ro-RO/markdown/parsers-list.md b/src/lang/ro-RO/markdown/parsers-list.md
index 1e5e43f80f..6ab3846611 100644
--- a/src/lang/ro-RO/markdown/parsers-list.md
+++ b/src/lang/ro-RO/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# Parsers
-In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**
diff --git a/src/lang/ro-RO/markdown/rom-directory.md b/src/lang/ro-RO/markdown/rom-directory.md
index 555452224f..5b15d2e2b7 100644
--- a/src/lang/ro-RO/markdown/rom-directory.md
+++ b/src/lang/ro-RO/markdown/rom-directory.md
@@ -1,3 +1,3 @@
-# ROMs directory `[supports environment variables]`
+# ROMs directory `[supports env variables]`
Starting directory for game or app files.
diff --git a/src/lang/ro-RO/markdown/settings.md b/src/lang/ro-RO/markdown/settings.md
index c35d49e806..dd35c64609 100644
--- a/src/lang/ro-RO/markdown/settings.md
+++ b/src/lang/ro-RO/markdown/settings.md
@@ -1,31 +1,51 @@
## General Settings
+### Check for updates on start `[Recommend enabled]`
+Check if an update for SRM is available and prompt to update each time SRM launches.
+### Auto kill Steam `[Recommend enabled]`
+SRM will attempt to kill all running instances of Steam whenever it needs to read/write collections information (specifically when saving to steam from `Add Games` and when removing all games from `Settings`).
+### Auto restart Steam `[Recommend enabled]`
+SRM will attempt to restart Steam after killing it and completing whatever collections related task required killing Steam in the first place. Requires `Auto kill Steam` to be enabled.
### Offline mode `[Recommend disabled]`
-
When enabled SRM makes no network requests, useful if you only want to use SRM for local images.
### Automatically clear log before testing parsers `[Recommend enabled]`
When enabled the log is cleared each time a parser is tested.
+## Add Games
### Show current steam images by default `[Recommend enabled]`
When enabled this setting tells SRM to default to whatever artwork is currently in steam for a given app. If it is disabled, then every time SRM is run (and saved) all artwork will be reset.
### Remove shortcuts for disabled parsers `[Recommend disabled]`
When enabled disabling a parser and running SRM will remove all added entries and artwork for the disabled parser. Useful if you want your steam library to be in 1-1 correspondence with enabled parsers.
-
+### Disable saving of steam categories `[Recommend disabled]`
+SRM will not write any collections information when saving to Steam. This allows SRM to perform its tasks while Steam is still running, at the obvious cost that added games will not be categorized.
+### Hide Steam username from Add Games
+Steam does not allow user's to alter their Steam usernames. In some cases (childish names, dead names, etc), users may no longer wish to see their Steam usernames. This setting hides it from `Add Games`.
+### Remove all added games and controllers
+Undo all SRM added changes from Steam.
+### Remove all controllers only
+Undo all SRM added controller settings from Steam.
## Fuzzy Matcher Settings
### Log matching results `[Recommend disabled]`
When enabled more verbose logs appear for the fuzzy title matcher in the `Event log`. Useful for debugging incorrect fuzzy matches.
-
### Reset fuzzy list
Resets the stored list of titles used for fuzzy matching to the list of titles returned by `SteamGridDB` (removes any user added titles).
### Reset fuzzy cache
Clears the cache of titles that fuzzy matching has already seen (try this if changes you make to fuzzy list are not resulting in changes to titles in SRM).
-
## Image provider settings
-### Preload retrieved images `[Recommend disabled]`
-When enabled, SRM will pull all available artwork for every game, rather than pulling one piece of artwork at a time as the user flips through the images. Don't enable this unless you have a good reason and a very small library of games, otherwise it could result in very large (slow) network requests.
+### Artwork loading strategy `[Recommend Load artwork lazily]`
+This is the strategy SRM uses to pull artwork thumbnails for the `Add Games` UI. If you are parsing a lot of games, `Load artwork lazily` is recommended. `Preload first artwork` will try to pull the first piece of artwork for each game in each artwork category, and `Preload all artwork` will try to pull all available artwork for each game in each artwork category. `Preload all artwork` will cause network and performance issues unless the number of games is quite small (less than `30` or so).
### Enabled providers
-Global setting to disable certain providers. Currently the only image provider is `SteamGridDB` since ConsoleGrid and RetroGaming.cloud are defunct.
-
+Global setting to enable/disable particular image providers. Current options are `SteamGridDB` and `Steam Official`.
+### DNS manual override
+Set this if you want SRM to do DNS resolution internally, as opposed to relying on your system's default DNS server. This solves many timeout issues on the Steam Deck.
+### Batch size for image downloads
+Number of images SRM will attempt to download at once when saving to Steam. May help to lower this if you are receiving timeout errors from SGDB.
+### Nuke artwork choice cache
+SRM attempts to remember your artwork choices, this button forcibly forgets all of them.
+### Nuke local artwork backups
+This deletes all artwork backups created for parsers with `Backup artwork locally` enabled.
## Community Variables and Presets
### Force download custom variables.
Resets the custom variables JSON file that is used for certain presets to whatever its current state is on the SRM github. Useful if the custom variables JSON file has been corrupted.
### Force download custom presets.
Resets the JSON files for parser presets to whatever is on the SRM github. Useful if your presets list is not automatically updating for some reason, or has become corrupted.
+### Force download shell scripts
+Re fetches the shell scripts SRM uses to perform certain tasks.
diff --git a/src/lang/ro-RO/markdown/sgdb-api-input.md b/src/lang/ro-RO/markdown/sgdb-api-input.md
index 553f4fda77..7651927a64 100644
--- a/src/lang/ro-RO/markdown/sgdb-api-input.md
+++ b/src/lang/ro-RO/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
This set of options are direct inputs into the APIs of image providers, for example SteamGridDB's [API](https://www.steamgriddb.com/api/v2).
-An interesting quirk of these settings is that re-generating the preview (hitting the `Generate App List` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove App List` button in preview before hitting `Generate App List`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the preview with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
+An interesting quirk of these settings is that re-generating the game list in Add Games (hitting the `Refresh` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove from Steam` button in Add Games before hitting `Refresh`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the game list with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
## SteamGridDB
diff --git a/src/lang/ro-RO/markdown/start-in-directory.md b/src/lang/ro-RO/markdown/start-in-directory.md
index 86cf962c23..df84a987d5 100644
--- a/src/lang/ro-RO/markdown/start-in-directory.md
+++ b/src/lang/ro-RO/markdown/start-in-directory.md
@@ -1,6 +1,6 @@
-# "Start In" directory (optional) `[supports environment variables]`{.noWrap}
+# "Start In" directory `[supports env variables]`
-By default "Start In" directory is set to executable's directory:
+If `"Start In" Directory` is unset it defaults to the executable's directory. If not executable is set, it defaults to the directory of the ${filePath} variable:
 {.fitImage.center}
@@ -11,4 +11,5 @@ This option allows you to specify any directory you want as a "Start In" directo
It is useful when you're using batch files to start emulator and a game, but emulator requires a specific "Start In" directory to work properly.
## Shortcut Passthrough
+
If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the directory of the target of that shortcut. In the future, it will be overridden with the start in directory of that shortcut.
diff --git a/src/lang/ro-RO/markdown/steam-category.md b/src/lang/ro-RO/markdown/steam-category.md
index 079073dab9..677ea3d0ef 100644
--- a/src/lang/ro-RO/markdown/steam-category.md
+++ b/src/lang/ro-RO/markdown/steam-category.md
@@ -1,21 +1,13 @@
-# Steam category (optional) `[supports variables]`{.noWrap}
+# Steam category`{.noWrap}
+
+Hit the little plus sign to add your first category.
-Also known as "tags", can be used to group apps in Steam. In order to set Steam category, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify categories for "WII" and "GBA" (paired with "ROMS") category:
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
This how "WII" category will look like in Steam:

## Emojis and non-Standard Unicode Characters
+
Please not that this field works just fine with emojis like `🎮` work just fine in category names.
You can find a list of them here: [https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/ro-RO/markdown/steam-directory.md b/src/lang/ro-RO/markdown/steam-directory.md
index b15010e819..bb82bc6a97 100644
--- a/src/lang/ro-RO/markdown/steam-directory.md
+++ b/src/lang/ro-RO/markdown/steam-directory.md
@@ -1,4 +1,4 @@
-# Steam directory `[supports environment variables]`{.noWrap}
+# Steam directory `[supports env variables]`
Must be a valid Steam directory which contains Steam executable. In order for Steam account to be detected, user must have logged in at least once.
diff --git a/src/lang/ro-RO/markdown/steam-parser-input.md b/src/lang/ro-RO/markdown/steam-parser-input.md
index 75f21d380d..1174b71b64 100644
--- a/src/lang/ro-RO/markdown/steam-parser-input.md
+++ b/src/lang/ro-RO/markdown/steam-parser-input.md
@@ -1,4 +1,4 @@
-# Steam Parser specific inputs
+# Steam Parser Specific Inputs
## Find artwork for games only
If enabled SRM will filter out any Steam applications that are not full games, such as demos and tools like `3DMark` or `Wallpaper Engine`.
diff --git a/src/lang/ro-RO/markdown/steam-parser.md b/src/lang/ro-RO/markdown/steam-parser.md
index b158f676a8..5b93d8bc77 100644
--- a/src/lang/ro-RO/markdown/steam-parser.md
+++ b/src/lang/ro-RO/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Steam parser
-This parser imports steam games into SRM. It does not add shortcuts, but it allows you to set the artwork for your steam games. By default the parser will get games from all user accounts in the steam directory specified — if you would prefer to only get the games for a subset of the accounts then specify them in the `User accounts` field.
-
-## Limitations
-Unfortunately for the time being this parser only works for steam games **that are in at least one category**. The reason for this is that Steam only stores your full list of games locally if they are categorized. Sometimes, for unknown reasons, games will be stored locally regardless and the parser will work, but to be safe the easiest thing to do is just **create a Steam Category** that has all of your Steam games in it.
-
-## User accounts (Optional)
-
-Can be used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
-```
-${...}
-```
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
-
- {.fitImage.center}
-
-For example, this is how you specify account for "Banana" and "Apple":
-
-```
-${Banana}${Apple}
-```
-
-In case the [use account credentials](#what-does-use-account-credentials-do) is disabled, you can still limit accounts by specifying their ids directly:
-
-```
-${56489124}${21987424}
-```
-
-## What does "Skip found accounts with missing data directories" do?
-
-Sometimes Steam's file that contains logins, may contain users that do not have data directory created (might have been manually deleted, etc.). You can specify to skip those accounts by enabling this option.
-
-## What does "Use account credentials" do?
-
-Tries to look for account credentials in Steam directory. In other words -- username. Username then can be used to filter accounts without actually having to know their ids.
-
-### Warning!
-
-If Steam has credential saving disabled, this option will prevent finding user accounts.
+This parser imports steam games into SRM so you can manage their artwork. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
\ No newline at end of file
diff --git a/src/lang/ro-RO/markdown/title-from-variable.md b/src/lang/ro-RO/markdown/title-from-variable.md
index bb6e4a52a2..6aa467e98c 100644
--- a/src/lang/ro-RO/markdown/title-from-variable.md
+++ b/src/lang/ro-RO/markdown/title-from-variable.md
@@ -1,43 +1,40 @@
-# Title from custom variable (optional)
+# Title from custom variable
-Allows to overwrite extracted title with a custom variable. This is done right after title extraction, meaning that the replaced title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+Allows one to overwrite the extracted title with a custom variable, pulled from the `json` files described below. This happens right after title extraction, meaning that the new title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+
+Title matching is limited to specific groups of custom variables. For example, this is how you specify groups "FBN" and "PSN":
-Title matching can be limited to specific groups of custom variables. In order to specify groups, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify groups for "RPCS3" and "rpcs3":
```
-${RPCS3}${rpcs3}
+${RPCS3}${PSN}
```
-Make sure you **toggle enable to on**.
-
-
-## Case-insensitive option
-
-If this option is enabled, case-insensitive matching will be done and first matched custom variable will be used.
-
-## Note. This feature is **experimental**
+# How it works
-Basically, it might change in the future release (very unlikelly). Furthermore, currently the only way to add variables is to create/edit `customVariables.json` used by SRM directly.
+There are two variable files, `customVariables.json` which is maintained by SRM (don't change this one, your changes will be overwritten every time SRM restarts) and `userVariables.json` which is where you should put your own variables. Both files are located in SRM's `Config Directory`.
-This file is/shoud be located in SRM's `userData` directory.
-
-SRM will throw error unless the following JSON structure is used:
+Both `customVariables.json` and `userVariables.json` have the same JSON structure. SRM will throw an error unless the following JSON structure is used:
```
{
- "RPCS3": {
+ "Group1": {
"NPUB30698": "Catherine",
"NPUB30024": "1942: Joint Strike",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
+ "Group2": {
+ "The Legend Of Zelda": "The Legend Of Link",
+ ...
},
...
}
```
-Then if your user glob were `MyDir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `MyDir`, you would set the title from custom variable field to `${Custom Stuff}` to obtain a final title of "The Legend of Link".
+Then if your user glob were `romsdir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `romsdir`, you would set the title from custom variable field to `${Group2}` to obtain a title of "The Legend of Link".
+
+## Case-insensitive variables
+
+If enabled, case-insensitive matching will be done and first matched custom variable will be used.
+
+## Skip file if variable not found
+
+If enabled, titles that don't match a variable will be excluded.
diff --git a/src/lang/ro-RO/markdown/title-modifier.md b/src/lang/ro-RO/markdown/title-modifier.md
index 791e000e27..4ecb2d02db 100644
--- a/src/lang/ro-RO/markdown/title-modifier.md
+++ b/src/lang/ro-RO/markdown/title-modifier.md
@@ -1,9 +1,11 @@
# Title modifier `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting can be used to prepend or append desired characters to a title which will be added to Steam. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset. This setting can be used to prepend or append desired characters to a Steam shortcut's `Title`. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+
```
${fuzzyTitle} (1.7.5)
```
+
You can use `${title}`{.noWrap} or any other variable to construct the final title.
This setting influences Steam's APP ID.
diff --git a/src/lang/ro-RO/markdown/uplay-parser-input.md b/src/lang/ro-RO/markdown/uplay-parser-input.md
index f40bbcd928..3a54e84b1a 100644
--- a/src/lang/ro-RO/markdown/uplay-parser-input.md
+++ b/src/lang/ro-RO/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# Unique inputs for UPlay Parser
+# UPlay Parser Specific Inputs
+
## Ubisoft Directory Override
By default Steam ROM Manager assumes your UPlay install is located in `C:\Program Files (x86)\Ubisoft`. This field allows you to override that path if your UPlay installation is elsewhere.
## Launch Via UPlay `[Recommend disabled]`
-
What it sounds like, this toggle let's you set whether games will launch via UPlay or directly from the game's executable.
For UPlay this doesn't matter too much as UPlay games will automatically launch UPlay in the background even when launched from the executable. Steam Overlay will not work when `Launch via UPlay` is enabled, whereas both Steam and Ubisoft overlays work when `Launch via UPlay` is disabled.
diff --git a/src/lang/ro-RO/markdown/user-accounts.md b/src/lang/ro-RO/markdown/user-accounts.md
index 90a49b84f6..c0101b5f74 100644
--- a/src/lang/ro-RO/markdown/user-accounts.md
+++ b/src/lang/ro-RO/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# User accounts (Optional)
+# User accounts
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
-
-`${XXX}${YYY}`
-
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either:
-
-* An `Account ID` (the number that appears as the directory name of your account directory in `/path/to/steam/userdata/`). For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
+This field is used to limit SRM's effects to specific user accounts. It can be set to `Global` or over ridden per parser.
## Warning
-If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and **you must only use** `Account IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and `Choose Accounts` will only be able to pull your `Steam IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Settings` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
diff --git a/src/lang/ro-RO/markdown/user-exceptions.md b/src/lang/ro-RO/markdown/user-exceptions.md
index a53dd0d6d9..a6e47de497 100644
--- a/src/lang/ro-RO/markdown/user-exceptions.md
+++ b/src/lang/ro-RO/markdown/user-exceptions.md
@@ -12,7 +12,7 @@ The `Extracted Title` field matches in two ways:
Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`.
-Exceptions generated from `Preview` will always be in the form `Extracted Title ${id:XXXXXX}`.
+Exceptions generated from `Add Games` will always be in the form `Extracted Title ${id:XXXXXX}`.
## New Display Title
diff --git a/src/lang/ru-RU/langStrings.json b/src/lang/ru-RU/langStrings.json
index d42bc546d5..01ae0a5b4b 100644
--- a/src/lang/ru-RU/langStrings.json
+++ b/src/lang/ru-RU/langStrings.json
@@ -1,89 +1,89 @@
{
"preview": {
"component": {
- "filter": "Search for game",
- "selectType": "Artwork Type",
- "selectCategories": "Steam Category",
+ "filter": "Поиск игры",
+ "selectType": "Тип иллюстрации",
+ "selectCategories": "Категории",
"selectParsers": "Parser Title",
"selectTypeOptions": {
- "long": "Banners",
- "tall": "Posters",
- "hero": "Heroes",
- "icon": "Icons",
- "logo": "Logos",
- "games": "All Artwork"
+ "long": "Баннеры",
+ "tall": "Постеры",
+ "hero": "Герои",
+ "icon": "Иконки",
+ "logo": "Логотипы",
+ "games": "Все работы"
},
- "by": "by",
- "refreshImages": "Refresh images",
- "saveImage": "Save image to file",
- "addLocalImages": "Add local images",
- "retryDownload": "Retry download",
- "generateAppList": "Parse",
- "saveAppList": "Save to Steam",
- "removeAppList": "Remove from Steam",
- "remainingImages": "Retrieving urls:",
- "stopUrlRetrieving": "Stop",
- "exportSelections": "Export",
- "importSelections": "Import",
- "backButton": "Back",
- "logButton": "Log"
+ "by": "от",
+ "refreshImages": "Refresh artwork",
+ "saveImage": "Save artwork to file",
+ "addLocalImages": "Add local artwork",
+ "retryDownload": "Retry artwork download",
+ "generateAppList": "Обновить",
+ "saveAppList": "Сохранить в Steam",
+ "removeAppList": "Удалить из Steam",
+ "remainingImages": "Получение URL-адресов:",
+ "stopUrlRetrieving": "Стоп",
+ "exportSelections": "Экспорт иллюстрации",
+ "importSelections": "Импорт иллюстрации",
+ "backButton": "Назад",
+ "logButton": "Лог"
},
"service": {
"info": {
- "listIsBeingGenerated": "List is being generated. Please wait.",
- "listIsBeingSaved": "List is being saved. Please wait.",
- "listIsBeingRemoved": "List is being removed. Please wait.",
- "listIsEmpty": "List is empty.",
- "populatingVDF_List": "Populating VDF list.",
- "creatingBackups": "Creating backups.",
- "readingVDF_Files": "Reading VDF files.",
- "mergingVDF_entries": "Merging VDF entries.",
- "removingVDF_entries": "Removing VDF entries and image files.",
- "savingCategories": "Saving category information to localconfig.vdf.",
- "savingControllers": "Saving controller information.",
- "removingFromCategories": "Removing all added category information",
+ "listIsBeingGenerated": "Список формируется. Пожалуйста, подождите.",
+ "listIsBeingSaved": "Список сохраняется. Пожалуйста, подождите.",
+ "listIsBeingRemoved": "Список удаляется. Пожалуйста, подождите.",
+ "listIsEmpty": "Список пуст.",
+ "populatingVDF_List": "Заполняем список VDF.",
+ "creatingBackups": "Создание резервных копий.",
+ "readingVDF_Files": "Чтение файлов VDF.",
+ "mergingVDF_entries": "Объединение записей VDF.",
+ "removingVDF_entries": "Удаление записей VDF и файлов изображений.",
+ "savingCategories": "Сохранение информации о категории в файле localconfig.vdf.",
+ "savingControllers": "Сохранение информации о контроллере.",
+ "removingFromCategories": "Удаление всей добавленной информации о категориях",
"writingVDF_entries__i": "Writing VDF files and downloading high res images in batches of ${batchSize}.",
- "updatingKnownSteamDirList": "Updating a list of known Steam directories.",
- "retryingDownload__i": "Retrying image download from \"${imageUrl}\" for \"${appTitle}\".",
- "disabledConfigurations__i": "${count} user configuration(s) was/were skipped (disabled by user).",
- "invalidConfigurations__i": "${count} user configuration(s) was/were skipped (invalid).",
- "executingParsers": "Executing parsers.",
- "shutdownSteam": "Please shutdown Steam if it is running.",
- "noParserConfigurations": "Please create parser configuration in \"Parsers\" menu first.",
- "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
- "allImagesRetrieved": "All available image urls retrieved.",
- "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
- "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
- "preparingExport": "Preparing export of image choices.",
- "exportProgress__i": "Saving image choices ${progress}.",
- "readingSelections": "Applying imported image choices."
+ "updatingKnownSteamDirList": "Обновлен список известных каталогов Steam.",
+ "retryingDownload__i": "Retrying artwork download from \"${imageUrl}\" for \"${appTitle}\".",
+ "disabledConfigurations__i": "${count} user parser(s) was/were skipped (disabled by user).",
+ "invalidConfigurations__i": "${count} user parser(s) was/were skipped (invalid).",
+ "executingParsers": "Выполнение парсеров.",
+ "shutdownSteam": "Если Steam запущен, выйдите из него.",
+ "noParserConfigurations": "Сначала создайте конфигурацию парсера в меню \"Парсеры\".",
+ "parserFoundNoFiles": "Парсер(ы) не нашел файлов, соответствующих пользовательской конфигурации.",
+ "allImagesRetrieved": "All available artwork urls retrieved.",
+ "providerTimeout__i": "Тайм-аут был запрошен \"${provider}\" на ${time} секунду(ы).",
+ "noAccountsWarning": "Учетные записи пользователей не найдены. Возможно указана неправильная директория Steam?",
+ "preparingExport": "Preparing export of artwork choices.",
+ "exportProgress__i": "Saving artwork choices ${progress}.",
+ "readingSelections": "Applying imported artwork choices."
},
"errors": {
- "fatalError": "Fatal error occurred in Preview. See event log for details.",
- "fatalError__i": "Fatal Preview Error ${error}",
+ "fatalError": "При добавлении игр произошла фатальная ошибка. Подробности см. в журнале событий.",
+ "fatalError__i": "Фатальная ошибка при добавлении игр: ${error}",
"knownSteamDirListIsEmpty": "A list of known Steam directories is empty.",
"steamIsRunning": "Cannot make changes while steam is running!",
"categorySaveError": "Error updating categories. See event log for details.",
"categorySaveError__i": "Category error (shortcuts and artwork will still be added): ${error}",
"controllerSaveError": "Error updating controller templates. See event log for details.",
"controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
- "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
+ "retryingDownload__i": "Artwork download from \"${imageUrl}\" failed for \"${appTitle}\".",
"providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
"unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
"exportError__i": "Could not save selections package folder: ${error}",
"importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
- "importFailError__i": "Could not import image choices: ${error}"
+ "importFailError__i": "Could not import artwork choices: ${error}"
},
"success": {
"writingVDF_entries": "Done adding/removing entries.",
"removingVDF_entries": "Entries have been removed.",
- "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
- "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
+ "exportSuccess__i": "Artwork choices folder successfully saved to \"${path}\"!",
+ "importSelectionsSuccess__i": "Successfully imported ${count} artwork choices!"
}
}
},
"steamParser": {
- "onlyGamesTitle": "Find artwork for games only (no tools)",
+ "onlyGamesTitle": "Find artwork for games only (no tools or demos)",
"onlyInstalledTitle": "Find artwork for installed titles only",
"sourceModsTitle": "Find artwork for unofficial source mods",
"errors": {
@@ -93,16 +93,30 @@
"fatalError__i": "> Steam parser failed with fatal error:\n ${error}"
}
},
+ "nonSRMShortcutsParser": {
+ "errors": {
+ "noSteamAccounts": "> Steam directory specified has no accounts.",
+ "fatalError__i": "> Non-SRM Shortcuts parser failed with fatal error:\n ${error}"
+ }
+ },
"manualParser": {
"manifestsInputTitle": "Manifests Directory",
- "manifestsInputPlaceholder": "/path/to/your/manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"errors": {
"fatalError__i": "> Manual parser failed with fatal error:\n ${error}"
}
},
"epicParser": {
"manifestsInputTitle": "Epic Manifests Directory Override",
- "manifestsInputPlaceholder": "/path/to/Manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"launcherModeInputTitle": "Launch games via Epic for online services",
"errors": {
"invalidManifestsOverride": "> Manifests Override is not a valid directory.",
@@ -112,48 +126,89 @@
}
},
"legendaryParser": {
+ "launcherModeInputTitle": "Launch games via Legendary for online services",
"legendaryInstalledFileTitle": "Legendary installed.json Path Override",
- "legendaryInstalledFilePlaceholder": "/path/to/legendary/installed.json",
+ "legendaryInstalledFilePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary\\installed.json",
+ "Darwin": "/path/to/legendary/installed.json",
+ "Linux": "/path/to/legendary/installed.json"
+ },
+ "legendaryExeOverrideTitle": "Legendary Path Override",
+ "legendaryExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary.exe",
+ "Darwin": "/path/to/legendary",
+ "Linux": "/path/to/legendary"
+ },
"errors": {
"legendaryNotInstalled": "> Legendary installed.json not found",
- "fatalError__i": "> Legendary parser failed with fatal error: \n ${error}"
+ "fatalError__i": "> Legendary parser failed with fatal error:\n ${error}"
+ }
+ },
+ "battleNetParser": {
+ "battleExeOverrideTitle": "Battle.net.exe Path Override",
+ "battleExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Battle.net\\Battle.net.exe",
+ "Darwin": "/path/to/Battle.net.app/Contents/MacOS/Battle.net",
+ "Linux": "/path/to/Battle.net"
+ },
+ "errors": {
+ "battleNotCompatible": "> Battle.net parser is only available on Windows.",
+ "fatalError__i": "> Battle.net parser failed with fatal error:\n ${error}"
}
},
"UWPParser": {
"UWPDirTitle": "XboxGames Directory Override",
- "UWPDirPlaceholder": "/path/to/XboxGames or /path/to/WindowsApps",
+ "UWPDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\XboxGames\\ or C:\\path\\to\\WindowsApps\\",
+ "Darwin": "/path/to/XboxGames/ or /path/to/WindowsApps/",
+ "Linux": "/path/to/XboxGames/ or /path/to/WindowsApps/"
+ },
"UWPLauncherModeTitle": "Launch game as UWP instead of launcher helper",
"errors": {
"fatalError__i": "> UWP parser is not compatible in this platform.",
- "UWPNotCompatible": "> UWP parser failed with fatal error:\n ${error}"
+ "UWPNotCompatible": "> UWP parser is only available on Windows."
}
},
"uplayParser": {
"uplayDirTitle": "Ubisoft Directory Override",
- "uplayDirPlaceholder": "/path/to/Ubisoft/",
+ "uplayDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Ubisoft\\",
+ "Darwin": "/path/to/Ubisoft/",
+ "Linux": "/path/to/Ubisoft/"
+ },
"launcherModeInputTitle": "Launch games via UPlay for online services",
"errors": {
- "invalidManifestsOverride": "> Uplay Directory Override is not a valid directory.",
- "uplayNotCompatible": "> UPlay Parser not available on Linux or Mac.",
- "uplayDirNotFound": "> Specified UPlay directory does not exist.",
- "uplayNotInstalled": "> UPlay not installed in specified directory.",
- "fatalError__i": "> UPlay parser failed with fatal error:\n ${error}"
+ "invalidManifestsOverride": "> Uplay Directory Override не является действительной директорией.",
+ "uplayNotCompatible": "> Анализ UPlay недоступен для Linux и Mac.",
+ "uplayDirNotFound": "> Указанный каталог UPlay не существует.",
+ "uplayNotInstalled": "> UPlay не установлен в указанном каталоге.",
+ "fatalError__i": "> анализатор UPlay не сработал из-за фатальной ошибки:\n ${error}"
}
},
"gogParser": {
- "galaxyExeOverrideTitle": "Galaxy Path Override",
- "galaxyExeOverridePlaceholder": "/path/to/GalaxyClient.exe",
- "launcherModeInputTitle": "Launch games via GOG Galaxy",
+ "galaxyExeOverrideTitle": "Переопределение пути Galaxy",
+ "galaxyExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\GalaxyClient.exe",
+ "Darwin": "/path/to/GOG Galaxy.app/Contents/MacOS/GOG Galaxy",
+ "Linux": "/path/to/GalaxyClient"
+ },
+ "launcherModeInputTitle": "Запуск игр через GOG Galaxy",
+ "parseLinkedExecsTitle": "Анализ связанных исполняемых файлов из GOG Galaxy",
+ "parseRegistryEntries": "Parse using Registry instead of Galaxy DB",
"errors": {
- "invalidGalaxyExeOverride": "> Galaxy Client Override is not a valid path.",
- "fatalError__i": "> GOG Galaxy parser failed with fatal error:\n ${error}",
+ "invalidGalaxyExeOverride": "> Путь Galaxy Client Override неправильный.",
+ "fatalError__i": "> Сбой анализа GOG Galaxy по причине фатальной ошибки:\n ${error}",
"gogNotCompatible": "> GOG Galaxy parser is currently only available on Windows.",
"gogNotInstalled": "> GOG Galaxy does not appear to be installed."
}
},
"amazonGamesParser": {
"exeOverrideTitle": "Amazon Games Path Override",
- "exeOverridePlaceholder": "/path/to/Amazon Games.exe",
+ "exeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Amazon Games.exe",
+ "Darwin": "/path/to/Amazon Games.app/Contents/MacOS/Amazon Games",
+ "Linux": "/path/to/Amazon Games"
+ },
"launcherModeInputTitle": "Launch games via Amazon Games",
"errors": {
"invalidExeOverride": "> Amazon Games Installation Override is not a valid directory.",
@@ -164,7 +219,11 @@
},
"itchIoParser": {
"itchIoAppDataOverrideTitle": "itch.io AppData Directory Override",
- "itchIoAppDataOverridePlaceholder": "/path/to/itch",
+ "itchIoAppDataOverridePlaceholder": {
+ "Windows_NT": "C:\\AppData\\itch\\",
+ "Darwin": "~/Library/Application Support/itch/",
+ "Linux": "~/.config/itch/"
+ },
"itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Windows-on-Linux Install Drive Redirect",
"itchIoWindowsOnLinuxInstallDriveRedirectPlaceholder": "/mnt/d/",
"errors": {
@@ -177,7 +236,11 @@
},
"eaDesktopParser": {
"eaGamesDirTitle": "EA Games Directory Override",
- "eaGamesDirPlaceholder": "/path/to/EA Games/",
+ "eaGamesDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\EA Games\\",
+ "Darwin": "/path/to/EA Games/",
+ "Linux": "/path/to/EA Games/"
+ },
"eaLauncherModeTitle": "Launch games via EA Desktop",
"errors": {
"fatalError__i": "> EA Desktop parser failed with fatal error:\n ${error}",
@@ -186,7 +249,7 @@
}
},
"globParser": {
- "inputTitle": "User's glob",
+ "inputTitle": "Search glob",
"inputPlaceholder": "${title}.@(iso|ISO)",
"errors": {
"noTitle__md": "> File glob must contain `${title}`!",
@@ -203,7 +266,7 @@
}
},
"globRegexParser": {
- "inputTitle": "User's glob-regex",
+ "inputTitle": "Search glob-regex",
"inputPlaceholder": "${/valid regex/}",
"errors": {
"noRegex__md": "> File glob must contain `${regex}` where **regex** is your regular expression!",
@@ -226,18 +289,22 @@
"stylesTitle": "Allowed grid styles",
"stylesHeroTitle": "Allowed hero styles",
"stylesLogoTitle": "Allowed logo styles",
- "stylesIconTitle": "Allowed icon styles"
+ "stylesIconTitle": "Allowed icon styles",
+ "sizesTitle": "Allowed banner dimensions",
+ "sizesHeroTitle": "Allowed hero dimensions",
+ "sizesTallTitle": "Allowed portrait dimensions",
+ "sizesIconTitle": "Allowed icon dimensions"
},
"logger": {
"component": {
"noMessages": "No messages are available",
- "error": "ERROR",
- "info": "INFO",
- "success": "SUCCESS",
- "fuzzy": "FUZZY",
- "textWrap": "TEXT-WRAP",
- "autoscroll": "AUTOSCROLL",
- "clearLog": "Clear log",
+ "error": "Error messages",
+ "info": "Info messages",
+ "success": "Success messages",
+ "fuzzy": "Fuzzy messages",
+ "textWrap": "Wrap text",
+ "autoscroll": "Autoscroll",
+ "clearLog": "Clear",
"issueDescription": "Thorough issue description with passable spelling.",
"handleExample": "CoolHandle#1234"
}
@@ -251,40 +318,42 @@
"corruptedVariables__i": "Saved custom variables are invalid!\r\nPermanent variable saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "Custom variables file has been downloaded."
+ "downloaded": "Custom variables file has been updated."
}
}
},
"configPresets": {
"service": {
"error": {
- "failedToDownload__i": "Failed to download configuration presets file. Status: ${error}.",
+ "failedToDownload__i": "Failed to download configuration presets file from commit ${commit}. Status: ${error}.",
"writingError": "Error occurred while saving configuration presets.",
"loadingError": "Error occurred while loading configuration presets.",
"corruptedVariables__i": "Saved configuration presets are invalid!\r\nPermanent file saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "New config presets have been downloaded."
+ "downloaded": "Community presets have been updated."
}
}
},
"settings": {
"component": {
"label": {
- "general": "General settings",
- "imageProviders": "Image provider settings",
- "fuzzy": "Fuzzy matcher settings",
- "environmentVariables": "Environment variable settings",
- "communityPresets": "Community variable/preset settings"
+ "general": "General",
+ "imageProviders": "Artwork Providers",
+ "fuzzy": "Fuzzy Matcher",
+ "environmentVariables": "Environment Variables",
+ "communityPresets": "Community Presets and Custom Variables"
},
"text": {
+ "autoUpdate": "Check for updates on start",
"offlineMode": "Offline mode",
- "removeApps_desc": "all added app entries and controllers",
+ "removeApps_desc": "all added games and controllers",
"removeApps_btn": "Remove",
- "preloadImages": "Preload retrieved images immediately",
+ "preloadImages": "Artwork loading strategy",
"fuzzy_verbose": "Log matching results",
- "fuzzy_filter": "Filter images",
+ "fuzzy_filter": "Filter artwork",
"enabledProviders": "Enabled image providers",
+ "dnsServers": "DNS manual override",
"selectLanguage": "Select language",
"selectTheme": "Select theme",
"resetFuzzy_desc": "fuzzy list",
@@ -292,28 +361,38 @@
"resetFuzzy_btn": "Reset",
"customVariables_desc": "custom variables",
"configPresets_desc": "config presets",
- "showSteamImages": "Show current Steam images by default",
+ "showSteamImages": "Show current Steam artwork by default",
"deleteDisabledShortcuts": "Remove shortcuts for disabled parsers",
"clearLogOnTest": "Automatically clear log before testing parsers",
- "configDir": "Open Config Directory"
+ "configDir": "Config Directory",
+ "steamDir": "Steam Directory"
},
"placeholder": {
"noProviders": "None",
- "steamDirectoryWin": "Typically C:\\Program Files (x86)\\Steam",
- "steamDirectoryMac": "Typically ~/Library/Application Support/Steam",
- "steamDirectoryLinux": "Typically /home/user/.steam/steam",
"userAccounts": "For example ${steamlogin}",
- "romsDirectoryWin": "For example D:\\ROMs",
- "romsDirectoryMac": "For example ~/ROMs",
- "romsDirectoryLinux": "For example ~/ROMs",
- "retroarchPathWin": "For example C:\\Path\\To\\retroarch.exe",
- "retroarchPathLinux": "For example /path/to/retroarch",
- "retroarchPathMac": "For example /path/to/retroarch",
- "raCoresDirectoryWin": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores",
- "raCoresDirectoryLinux": "Typically /lib/x86_64-linux-gnu/libretro/cores",
- "raCoresDirectoryMac": "Typically /Applications/Retroarch.app/Contents/Resources/cores",
- "localImagesDirectoryWin": "For example C:\\Path\\To\\LocalArtwork",
- "localImagesDirectoryUnix": "For example ~/path/to/localartwork"
+ "bySystem": {
+ "Windows_NT": {
+ "steamDirectory": "Typically C:\\Program Files (x86)\\Steam\\",
+ "romsDirectory": "For example D:\\ROMs\\",
+ "retroarchPath": "For example C:\\Path\\To\\Retroarch.exe",
+ "raCoresDirectory": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores\\",
+ "localImagesDirectory": "For example C:\\Path\\To\\LocalArtwork\\"
+ },
+ "Darwin": {
+ "steamDirectory": "Typically ~/Library/Application Support/Steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /Applications/Retroarch.app/Contents/Resources/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ },
+ "Linux": {
+ "steamDirectory": "Typically /home/user/.steam/steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /lib/x86_64-linux-gnu/libretro/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ }
+ }
}
},
"service": {
@@ -331,8 +410,9 @@
"component": {
"about": "About",
"preview": "Preview",
+ "view": "View Games",
"logger": "Log",
- "settings": "Settings",
+ "settings": "Настройки",
"parsers": "Create Parser",
"customVariables": "Variables",
"userExceptions": "Exceptions",
@@ -342,7 +422,7 @@
"userExceptions": {
"component": {
"buttons": {
- "save": "Save",
+ "save": "Сохранить",
"deleteAll": "Clear",
"undoChanges": "Undo changes",
"addItem": "Add exception",
@@ -352,6 +432,9 @@
"title": "User Exceptions",
"exclude": "Exclude Title",
"excludeArtwork": "Local Artwork Only"
+ },
+ "placeholder": {
+ "sortBy": "Sort By"
}
},
"service": {
@@ -365,14 +448,14 @@
"parsers": {
"component": {
"buttons": {
- "save": "Save",
- "copy": "Copy",
- "testParser": "Test parser",
- "delete": "Delete",
+ "save": "Сохранить",
+ "copy": "Clone",
+ "testParser": "Test",
+ "delete": "Удалить",
"moveUp": "Move up",
"moveDown": "Move down",
"faq": "FAQ",
- "undoChanges": "Undo changes",
+ "undoChanges": "Отменить изменения",
"undoDelete": "Undo delete",
"toClipboard": "Copy configuration to clipboard"
},
@@ -381,23 +464,23 @@
"opSys__i": "Operating system is \"${os}\"",
"testCompleted": "Parser test is completed.",
"nothingWasFound": "Parser found nothing.",
- "copiedToClipboard": "Configuration copied to clipboard",
+ "copiedToClipboard": "Parser copied to clipboard",
"userExclusions": "User excluded:",
- "excludedFileInfo__i": "[${index}/${total}]: ${filename}",
+ "excludedFileInfo__i": "[${index}/${total}]: ${filename}\n Excluded by \"${exceptionKey}\"",
"removingControllers__i": "Removing controller templates for parser: ${configTitle}",
"fetchingControllerTemplates": "Fetching controller templates"
},
"error": {
"missingAccounts__i": "Following ${count} user account(s) were not found (user must to login to Steam at least once):",
"missingAccountInfo__i": " ${name}",
- "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials (\"Show advanced options -> User accounts -> Use account credentials\").\r\nIf you're seeing this, preview won't be generated for this configuration.",
+ "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials.\r\nIf you're seeing this, Add Games will skip this configuration.",
"cannotParseUserIDs": "Error parsing user accounts:",
"failedToMatch": "Failed to match:",
"failedFileInfo__i": "[${index}/${total}]: ${filename}",
"testFailed": "Testing failed",
"cannotTestInvalid": "Can not test invalid configuration!",
"cannotCopyInvalid": "Can not copy invalid configuration!",
- "failedToCopy": "Failed to copy to clipbard!",
+ "failedToCopy": "Failed to copy to clipboard!",
"cannotFetchTemplates": "Can not fetch controller templates for invalid steam directory!",
"errorRemovingControllers": "Error removing controllers:",
"cannotRemoveControllers": "Can not remove controllers from invalid steam directory!"
@@ -405,8 +488,8 @@
"success": {
"foundAccounts__i": "Found ${count} available user account(s):",
"foundAccountInfo__i": " ${name} (steamID64: ${steamID64}, accountID: ${accountID})",
- "steamCategory__i": "[${index}/${total}]: Steam categories - ${steamCategory}",
- "steamCategoryInfo__i": "[${index}/${total}]: ${steamCategory}",
+ "steamCategories__i": "[${index}/${total}]: Steam categories - ${steamCategories}",
+ "steamCategoriesInfo__i": "[${index}/${total}]: ${steamCategories}",
"exceptionKey__i": "[${index}/${total}]: Exception ID - ${appid}",
"appId__i": "[${index}/${total}]: Legacy App ID - ${appid}",
"shortAppId__i": "[${index}/${total}]: App ID - ${appid}",
@@ -416,20 +499,21 @@
"filePath__i": "[${index}/${total}]: File path - ${filePath}",
"startDir__i": "[${index}/${total}]: Start dir - ${startDir}",
"completeShortcut__i": "[${index}/${total}]: Complete shortcut - ${shortcut}",
- "firstImageQuery__i": "[${index}/${total}]: Image queries - ${query}",
+ "firstImageQuery__i": "[${index}/${total}]: Artwork queries - ${query}",
+ "imagePool__i": "[${index}/${total}]: Artwork pool - ${imagePool}",
"imageQueries__i": "[${index}/${total}]: ${query}",
"defaultImage__i": "[${index}/${total}]: Resolved fallback ${artworkType}:\r\n[${index}/${total}]: ${image}",
"resolvedDefaultImage__i": "[${index}/${total}]: Fallback ${artworkType}:",
- "localImages__i": "[${index}/${total}]: Resolved ${artworkType}:",
- "resolvedLocalImages__i": "[${index}/${total}]: ${artworkType} glob:",
+ "localImages__i": "[${index}/${total}]: Resolved local ${artworkType}:",
+ "resolvedLocalImages__i": "[${index}/${total}]: Local ${artworkType} glob:",
"indexInfo__i": "[${index}/${total}]: ${indexed}",
"removedControllers__i": "Succesfully removed controllers for parser: ${configTitle}",
"fetchedTemplates": "Fetched all controller templates"
},
"label": {
"parserType": "Parser type",
- "configTitle": "Configuration title",
- "steamCategory": "Steam category",
+ "configTitle": "Parser title",
+ "steamCategories": "Steam collections",
"executableModifier": "Executable modifier",
"executableLocation": "Executable",
"romDirectory": "ROMs directory",
@@ -440,33 +524,56 @@
"titleModifier": "Title modifier",
"fuzzyMatch": "Fuzzy matching",
"executableArgs": "Command line arguments",
- "onlineImageQueries": "Online image query",
- "imagePool": "Image pool",
- "imageProviders": "Image providers",
+ "onlineImageQueries": "Artwork provider search queries",
+ "imagePool": "Artwork pool",
+ "imageProviders": "Artwork providers",
"defaultImage__i": "Fallback ${artworkType}",
"localImages__i": "Local ${artworkType} glob"
},
"placeholder": {
"parserType": "Select parser...",
"configTitle": "My Awesome Parser",
- "steamCategory": "${cat1}${cat2}",
- "steamDirectory": "${steamdirglobal} or /path/to/steam",
- "userAccounts": "${steamuser1}${steamuser2} or ${${accountsglobal}}",
- "titleFromVariable": "${myvariable}",
+ "steamDirectory": {
+ "Windows_NT": "${steamdirglobal} or C:\\path\\to\\Steam\\",
+ "Darwin": "${steamdirglobal} or /path/to/Steam/",
+ "Linux": "${steamdirglobal} or /path/to/Steam/"
+ },
+ "titleFromVariable": "${variableGroup1}${variableGroup2}",
"titleModifier": "${fuzzyTitle} or ${title}",
- "defaultImage__i": "/path/to/fallback_${artworkType}.png",
- "localImages__i": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
- "romDirectory": "/path/to/games/",
+ "defaultImage__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\fallback_${artworkType}.png",
+ "Darwin": "/path/to/fallback_${artworkType}.png",
+ "Linux": "/path/to/fallback_${artworkType}"
+ },
+ "localImages__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\art\\\\${artworkType}\\\\\\${title}.@(png|jpg)",
+ "Darwin": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
+ "Linux": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)"
+ },
+ "onlineImageQueries": "${${fuzzyTitle}} or ${${title}}${${fuzzyTitle}}",
+ "imagePool": "${fuzzyTitle}",
+ "romDirectory": {
+ "Windows_NT": "C:\\path\\to\\games\\",
+ "Darwin": "/path/to/games/",
+ "Linux": "/path/to/games/"
+ },
"glob": "${title}.@(iso|ISO)",
- "executableLocation": "Example: /path/to/emulator.exe",
- "executableArgs": "--arg1 --arg2",
+ "executableLocation": {
+ "Windows_NT": "C:\\path\\to\\emulator.exe",
+ "Darwin": "/path/to/emulator.app",
+ "Linux": "/path/to/emulator"
+ },
+ "executableArgs": "--arg1 --arg2 --launch \"${filePath}\"",
"executableModifier": "\"${exePath}\"",
- "startInDirectory": "/path/to/start/in/dir",
+ "startInDirectory": {
+ "Windows_NT": "C:\\path\\to\\start-in-dir\\",
+ "Darwin": "/path/to/start-in-dir/",
+ "Linux": "/path/to/start-in-dir/"
+ },
"imageProviders": "None",
"multiAPIPlaceholder": "No Filter"
},
"text": {
- "tryToMatchTitle": "Enable Title from Custom Variable",
"skipFileIfVariableWasNotFound": "Skip file if variable was not found",
"caseInsensitiveVariables": "Case-insensitive variables",
"shortcut_passthrough": "Follow .lnk or .desktop to destination (Windows and Linux only)",
@@ -482,18 +589,18 @@
},
"service": {
"info": {
- "updatingConfigurations": "Updating user configurations with new fields"
+ "updatingConfigurations": "Updating user's parsers with new fields"
},
"error": {
- "savingConfiguration": "Error encountered while saving user configurations!",
- "readingConfiguration": "Error encountered while reading user configurations!",
+ "savingConfiguration": "Error encountered while saving user's parsers!",
+ "readingConfiguration": "Error encountered while loading user's parsers!",
"parserTypeMissing": "Cannot save without specifying parser type",
- "corruptedConfiguration__i": "One or more saved parser configurations are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
- "fetcingTemplates": "Error encountered while fetching controllers templates!"
+ "corruptedConfiguration__i": "One or more saved parsers are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
+ "fetchingTemplates": "Error encountered while fetching controllers templates!"
},
"validationErrors": {
"parserType__md": "> Incorrect parser type!",
- "configTitle__md": "> Configuration title is required!",
+ "configTitle__md": "> Parser title field cannot be blank!",
"parserId__md": "> Parser Id is missing, something is horribly wrong.",
"parserInput": {
"noInput": "No inputs are available!",
@@ -501,19 +608,15 @@
"incorrectParser": "Incorrect parser!"
},
"romDir__md": "> ROMs directory is invalid!",
- "userAccounts__md": "> Steam parser requires `User Accounts` field",
+ "userAccounts__md": "> User accounts field is required!",
"steamDir__md": "> Steam directory is invalid!",
"startInDir__md": "> \"Start In\" directory is invalid!",
"executable__md": "> Executable is invalid!",
- "imagePool__md": "> Image pool must not be empty!",
- "defaultImage__md": "> Default image is an invalid path!",
- "titleModifier__md": "> Title modifier must not be empty!",
- "executableModifier__md": "> Executable modifier must not be empty!",
- "variableString__md": "> Uneven number of `${` and `}` pairs. Use `\\` to escape `${` or `}` if you want to use them as characters.",
- "imageProviders__md": "> Incorrect image providers type!",
- "unhandledValidationKey__md": "> Input's validation is unhandled",
- "genericDir__md": "> Directory is invalid",
- "genericPath__md": "> Path is invalid"
+ "defaultImage__md": "> Fallback artwork is an invalid path!",
+ "variableString__md": "> Uneven number of `${` and `}` pairs! Use `\\` to escape `${` or `}` if you want to use them as characters.",
+ "unhandledValidationKey__md": "> Input's validation is unhandled!",
+ "genericDir__md": "> Directory is invalid!",
+ "genericPath__md": "> Path is invalid!"
},
"text": {
"noTitle": "No title!"
@@ -540,7 +643,7 @@
"error": {
"parserNotFound__i": "Parser \"${name}\" not found!",
"tooManyFieldGlobs__md": "> Only one `$(...)$` set is allowed per input.",
- "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** ir **Glob-regex** field.",
+ "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** in **Glob-regex** field.",
"noWinSlashes__md": "> Windows directory character `\\` is not allowed! Use `/` instead."
}
},
@@ -567,11 +670,11 @@
"error": {
"readingVdf__i": "Failed to read from \"${filePath}\".\n ${error}",
"writingVdf__i": "Failed to write to \"${filePath}\".\n ${error}",
- "skippingDMCA__i": "Skipping DMCA'd image for ${title}",
+ "skippingDMCA__i": "Skipping DMCA'd artwork for ${title}",
"corruptedVdf__i": "\"${filePath}\" is corrupted.\n ${error}",
"creatingBackup__i": "Could not create backup for \"${filePath}\".\n ${error}",
"unsupportedMimeType__i": "Mime type (${type}) is unsupported (title - \"${title}\").",
- "imageError__i": "Error occurred while saving/downloading image for \"${title}\". Url: ${url}.\n ${error}"
+ "imageError__i": "Error occurred while saving/downloading artwork for \"${title}\". Url: ${url}.\n ${error}"
}
},
"helpers": {
diff --git a/src/lang/ru-RU/markdown/UWP-parser-input.md b/src/lang/ru-RU/markdown/UWP-parser-input.md
index 1a3f20be1d..f9aa7abb31 100644
--- a/src/lang/ru-RU/markdown/UWP-parser-input.md
+++ b/src/lang/ru-RU/markdown/UWP-parser-input.md
@@ -1,4 +1,4 @@
-# Unique inputs for UWP Parser
+# UWP Parser Specific Inputs
## Games directory
@@ -8,4 +8,4 @@ Set it to `C:\Program Files\WindowsApps` to grab all UWP applications -- you'll
## Launch as UWP or from GameLaunchHelper.exe
-Gamepass games can be launched both ways, although UWP is preffered.
+Игры могут запускаться в обоих направлениях, хотя предпочтение отдается UWP.
diff --git a/src/lang/ru-RU/markdown/UWP-parser.md b/src/lang/ru-RU/markdown/UWP-parser.md
index bfb5a847f3..31f722bbce 100644
--- a/src/lang/ru-RU/markdown/UWP-parser.md
+++ b/src/lang/ru-RU/markdown/UWP-parser.md
@@ -4,4 +4,4 @@ This parser imports `UWP` games in your Windows OS, having a games library path
## Compatibility
-This parser should only work on `Windows 10` and `Windows 11`.
\ No newline at end of file
+Совместимость Этот синтаксический анализатор должен работать только в Windows 10 и Windows 11.
diff --git a/src/lang/ru-RU/markdown/about.md b/src/lang/ru-RU/markdown/about.md
index 3f6320a3ea..11e3abe70d 100644
--- a/src/lang/ru-RU/markdown/about.md
+++ b/src/lang/ru-RU/markdown/about.md
@@ -1,53 +1,54 @@
-## System info
+## Информация о системе
-In case you're having trouble with SRM, feel free to visit the [discord](https://discord.gg/bnSVJrz) or the [subreddit](https://www.reddit.com/r/SteamRomManager/) and ask for our help. In order for us to help you, we would like you to provide this info:
+Если у вас возникли проблемы с SRM, не стесняйтесь посетить [discord](https://discord.gg/bnSVJrz) или [subreddit](https://www.reddit.com/r/SteamRomManager/) и попросить нашей помощи. Чтобы мы могли помочь вам, мы хотели бы, чтобы вы предоставили эту информацию:
-* SRM version: **#{APP[version]}**
-* Operating System: **#{APP[os]}**
+* Версия SRM: **#{APP[версия]}** emudeckText
+* Операционная система: **#{APP[os]}**
-## Useful links
+## Полезные ссылки
-* [SRM Releases](https://github.com/SteamGridDB/steam-rom-manager/releases)
-* [Discord Server](https://discord.gg/bnSVJrz)
-* [r/SteamRomManager](https://www.reddit.com/r/SteamRomManager/)
-* [Steam Group](https://steamcommunity.com/groups/steamrommanager)
-* [Github Repo](https://github.com/SteamGridDB/steam-rom-manager)
-* [Crowdin Translation Project](https://crowdin.com/project/steam-rom-manager)
+* [Релизы SRM](https://github.com/SteamGridDB/steam-rom-manager/releases)
+* [Сервер Discord](https://discord.gg/bnSVJrz)
+* [](https://www.reddit.com/r/SteamRomManager/)
+* [Группа Steam](https://steamcommunity.com/groups/steamrommanager)
+* [Репозиторий Github](https://github.com/SteamGridDB/steam-rom-manager)
+* [Проект перевода Crowdin](https://crowdin.com/project/steam-rom-manager)
-## Support
+## Поддержка
-Help support continued progress on Steam ROM Manager at:
+Помогите поддержать дальнейший прогресс в Steam ROM Manager на:
-
+
-[SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon.
+Если вам нравится Steam ROM Manager и вы хотите, чтобы он продолжал работать, то также можете рассмотреть возможность поддержки [SteamGridDB](https://www.steamgriddb.com/) на Patreon. <[SteamGridDB](https://www.steamgriddb.com/) хранит арты, которые использует Steam ROM Manager, чтобы сделать вашу библиотеку Steam объектом зависти для всего города, так что мы должны помочь им оставаться на виду.
-## Contributions
-* `FrogTheFrog`{.noWrap} - Creator of SRM, no longer active on SRM but currently working on the [MoonDeck Plugin](https://github.com/FrogTheFrog/moondeck)
-
-### Current Maintainers
-* `lontanadascienza`{.noWrap} - Updated SRM to handle heroes, posters, logos, and icons. Added the exception manager, controller management, platform parsers (Epic, GOG, Steam, etc), among many other things. Squashes bugs almost as fast as he introduces them.
-* `Zennn`{.noWrap} - Added category support, langauge localization, and the bug report server among many other things. Big boss over at [SteamGridDB](https://www.steamgriddb.com/).
-* `KenCinder`{.noWrap} - Manages and creates community parser presets and helps user setup SRM in [Discord](https://discord.gg/bnSVJrz).
-
-### Feature Contributions
-* `dragoonDorise`{.noWrap} - Added new themes to SRM. Creator and current maintainer of [EmuDeck](https://www.emudeck.com/).
-* `alvaromunoz`{.noWrap} - Added Game Pass parser to SRM.
-* `lexarvn`{.noWrap} - Added the Amazon Games parser and the itch.io parser.
-* `CarJem`{.noWrap} - Added the manual parser.
-* `MattMckenzy`{.noWrap} - Added ability to import and export image choices.
-* `Apalatn`{.noWrap} - Added an install drive redirect option to the itch.io parser.
-* `OneMoreByte` - Made itch.io parser work on linux and mac.
-* `UndarkAido` - Added shortcut passthrough for Linux's .desktop shortcuts.
-
-### Community
-* `HE Spoke`{.noWrap} - created a community around SRM. Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups. Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
-* `livedeht`{.noWrap} - Helps users setup SRM with and without [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/).
-* `Choko`{.noWrap} - Helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
-* `Xav83`{.noWrap} - Creator and maintainer of SRM's [Chocolatey package](https://community.chocolatey.org/packages/steam-rom-manager)
+## Помощники
+* `FrogTheFrog`{.noWrap} - создатель SRM, больше не активен на SRM, но в настоящее время работает над [MoonDeck Plugin](https://github.com/FrogTheFrog/moondeck)
+
+### Текущие помощники
+* `lontanadascienza`{.noWrap} - Добавил(-а) Обновленный SRM для обработки героев, плакатов, логотипов и иконок. Помимо прочего, добавлен менеджер исключений, управление контроллерами, парсеры платформ (Epic, GOG, Steam и т. д.). Уничтожает ошибки почти так же быстро, как и вводит их.
+* `Zennn`{.noWrap} - Добавил(-а) поддержку категорий, локализация языков, сервер сообщений об ошибках и многое другое. Большой босс в [SteamGridDB](https://www.steamgriddb.com/).
+* `KenCinder`{.noWrap} - Управляет и создает пользовательские пресеты анализатора и помогает пользователю настроить SRM в [Discord](https://discord.gg/bnSVJrz).
+
+### Функциональный вклад
+* `dragoonDorise`{.noWrap} - Добавил(-а) новые темы в SRM. Создатель и текущий сопровождающий [EmuDeck](https://www.emudeck.com/).
+* `alvaromunoz`{.noWrap} - Добавил(-а) парсер Game Pass в SRM.
+* `lexarvn`{.noWrap} - Добавил(-а) парсер Amazon Games и парсер itch.io.
+* `CarJem`{.noWrap} - Добавил(-а) пользовательский анализатор.
+* `MattMckenzy`{.noWrap} - Добавил(-а) возможность импорта и экспорта изображений.
+* `Apalatn`{.noWrap} - Добавил(-а) опцию перенаправления установочного диска в анализатор itch.io.
+*
+* `UndarkAido`{.noWrap} - Added shortcut passthrough for Linux's .desktop shortcuts.
+* .
+
+### Сообщество
+* `HE Spoke`{.noWrap} - создал сообщество вокруг SRM. Создатель групп [Steam](https://steamcommunity.com/groups/steamrommanager) и [Discord](https://discord.gg/bnSVJrz). Также помогает пользователям настроить SRM в [Discord](https://discord.gg/bnSVJrz).
+* `livedeht`{.noWrap} - Помогает пользователям настроить SRM с [EmuDeck](https://www.emudeck.com/) и без него. Текущий сопровождающий [EmuDeck](https://www.emudeck.com/).
+* `Choko`{.noWrap} - Помогает пользователям настроить SRM в [Discord](https://discord.gg/bnSVJrz).
+* `Xav83`{.noWrap} - создатель и сопровождающий SRM's [Chocolatey package](https://community.chocolatey.org/packages/steam-rom-manager) (Шоколадной Упаковки)
diff --git a/src/lang/ru-RU/markdown/amazon-games-parser-input.md b/src/lang/ru-RU/markdown/amazon-games-parser-input.md
index 7ac728e20b..ddd8bcc48a 100644
--- a/src/lang/ru-RU/markdown/amazon-games-parser-input.md
+++ b/src/lang/ru-RU/markdown/amazon-games-parser-input.md
@@ -1,8 +1,8 @@
-# Amazon Games Parser specific inputs
+# Особые входные данные для анализатора Amazon Games
-## Amazon Games Path Override
-By default Steam ROM Manager assumes your Amazon Games installation is located at `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`. This field allows you to override that path if your Amazon Games installation is elsewhere.
+## Переопределение пути к играм Amazon Games
+По умолчанию Steam ROM Manager предполагает, что ваша установка Amazon Games находится по адресу `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`. Это поле позволяет вам переопределить этот путь, если ваша система Amazon Games установлена в другом месте.
-## Launch Via Amazon Games
+## Запуск через Amazon Games
-What it sounds like, this toggle let's you set whether games will launch via Amazon Games or directly.
+Подобно тому, как это звучит. Смысл в том, что этот переключатель позволяет установить, будут ли игры запускаться через Amazon Games или напрямую.
diff --git a/src/lang/ru-RU/markdown/amazon-games-parser.md b/src/lang/ru-RU/markdown/amazon-games-parser.md
index cdfda7c283..3b5bbff4b6 100644
--- a/src/lang/ru-RU/markdown/amazon-games-parser.md
+++ b/src/lang/ru-RU/markdown/amazon-games-parser.md
@@ -1,3 +1,3 @@
-# Amazon Games Parser
+# Анализатор Amazon Games
-This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+Этот синтаксический анализатор импортирует игры из `Amazon Games`, чтобы можно было выбрать для них иллюстрации и добавить их в Steam. Если не работает, то это потому, что Amazon Games изменила структуру своей базы данных игр или файл fuel.json, в этом случае, пожалуйста, сообщите об этом разработчикам SRM, и мы решим проблему.
diff --git a/src/lang/ru-RU/markdown/battle-net-parser-input.md b/src/lang/ru-RU/markdown/battle-net-parser-input.md
new file mode 100644
index 0000000000..e63c5d45c9
--- /dev/null
+++ b/src/lang/ru-RU/markdown/battle-net-parser-input.md
@@ -0,0 +1,5 @@
+# Особые входные данные для анализатора Battle.net
+
+## Переопределение пути Battle.net.exe
+
+По умолчанию Steam ROM Manager предполагает, что исполняемый файл `Battle.net` находится по адресу `C:\Program Files (x86)\Battle.net\Battle.net.exe`. Это поле позволяет вам переопределить его, если ваша "Battle.сеть" установлена в другом месте.
diff --git a/src/lang/ru-RU/markdown/battle-net-parser.md b/src/lang/ru-RU/markdown/battle-net-parser.md
new file mode 100644
index 0000000000..497931ee8b
--- /dev/null
+++ b/src/lang/ru-RU/markdown/battle-net-parser.md
@@ -0,0 +1,5 @@
+# Анализатор Battle.net
+
+Этот анализатор импортирует игры из приложения `Battle.net`, чтобы можно было выбрать для них оформление и добавить их в Steam. Если не работает, то это потому, что Blizzard изменила структуру своих файлов базы данных, и в этом случае, пожалуйста, сообщите об этом разработчикам SRM, и мы решим проблему.
+
+Анализатор `Battle.net` несколько особенный: он использует сценарий оболочки по адресу `${srmDir}/scripts/bnet.ps1`, чтобы запустить `Battle.net`, подождать соответствующее количество времени и только потом запустить собственно заголовок.
diff --git a/src/lang/ru-RU/markdown/community-presets.md b/src/lang/ru-RU/markdown/community-presets.md
index fb3925c412..60c7e6bda3 100644
--- a/src/lang/ru-RU/markdown/community-presets.md
+++ b/src/lang/ru-RU/markdown/community-presets.md
@@ -1,10 +1,10 @@
-# Community Presets
-These are parser configurations that have been created by the SRM community and just need to be altered slightly with a few system specific parameters in order to work (usually just `ROMs Directory` and `Executable` need to be specified).
+# Пресеты Сообщества
+Это конфигурации синтаксического анализатора, которые были созданы сообществом SRM, и для их работы необходимо лишь слегка изменить несколько системных параметров (обычно требуется указать только `Каталог ROMs` и `Исполняемый файл`).
-## Generic Parser
-The Generic Parser (search `Generic` in presets) works for a wide variety of emulators that don't need specific commandline arguments in order to work, for example:
-* Yuzu
-* Citra
-* Xenia (add `--fullscreen` in `Command Line Arguments` if desired)
+## Универсальный Анализатор
+Универсальный анализатор (поиск `Универсальный` в пресетах) работает для широкого спектра эмуляторов, которым, например, не нужны особые аргументы командной строки для работы:
+* Yuzu [Юзу]
+* Citra [Цитра]
+* Xenia \[Ксения\] (при желании добавьте `--fullscreen` в `Аргументы Командной Строки`)
-If you have an emulator that isn't in the list of community presets, it is probably worth a shot to try the generic parser. If it works let us know and we will add a preset for it!
+Если у вас есть эмулятор, которого нет в списке пресетов сообщества, возможно, стоит попробовать использовать универсальный анализатор. Если все работает, сообщите нам, и мы добавим пресет к этой программе!
diff --git a/src/lang/ru-RU/markdown/config-title.md b/src/lang/ru-RU/markdown/config-title.md
index ed2eeef493..046ddbdcae 100644
--- a/src/lang/ru-RU/markdown/config-title.md
+++ b/src/lang/ru-RU/markdown/config-title.md
@@ -1,3 +1,3 @@
-# Configuration title
+#
-Title to save user configuration as. Does not have to be unique, but is required.
\ No newline at end of file
+.
diff --git a/src/lang/ru-RU/markdown/controller-templates.md b/src/lang/ru-RU/markdown/controller-templates.md
index 37c943f370..36579cbd1a 100644
--- a/src/lang/ru-RU/markdown/controller-templates.md
+++ b/src/lang/ru-RU/markdown/controller-templates.md
@@ -1,26 +1,26 @@
-# Controller Templates
-Controller templates allow you to configure the button layout per controller and per parser.
+# Шаблоны контроллеров
+Шаблоны контроллеров позволяют настраивать расположение кнопок для каждого контроллера и каждого анализатора.
-You may want to disable `Cloud Synchronization` in Steam to avoid having your SRM assigned controller configs get overwritten. You may find the setting under `Steam > Settings > Cloud`.
+Вы можете отключить `Синхронизацию облака` в Steam, чтобы избежать перезаписи конфигураций контроллеров, назначенных SRM. Настройки можно найти в разделе `Steam > Настройки [Settings] > Облако [Cloud]`.
-To make a custom template:
-* Open Steam.
-* Connect the controller you want to configure a template for.
-* Right click on any game and hit `Manage > Controller Layout`.
-* Configure the buttons as you see fit.
-* Hit `Export Config` then `Save new template binding`.
-* Name the template in the form: `Template Title (SRM)`. You must end the name with `(SRM)` or SRM will not pick up the template.
-* Repeat for as many different types of controller as you want to configure.
+Чтобы создать собственный шаблон:
+* Открытый Steam.
+* Подключите контроллер, для которого нужно настроить шаблон.
+* Щелкните правой кнопкой мыши на любой игре и нажмите `Управление [Manage] > Расположение контроллера [Controller Layout]`.
+* Настройте кнопки так, как вы считаете нужным.
+* Нажмите `Экспорт конфигурации [Export Config]`, затем `Сохраните привязку к новому шаблону [Save new template binding]`.
+* Назовите шаблон в форме: `Название шаблона (SRM) [Template Title (SRM)]`. Вы должны заканчивать имя на `(SRM)`, иначе SRM не примет шаблон.
+* Повторите процедуру для стольких различных типов контроллеров, сколько вы хотите настроить.
-In the SRM parser:
-* Hit `Re-Fetch Controller Templates` to pull templates for all controller types from steam. This will clear your currently selected template if it is not one of the templates available in Steam.
+В анализаторе SRM:
+* Нажмите `Повторно выбрать шаблоны контроллеров [Re-Fetch Controller Templates]`, чтобы получить шаблоны для всех типов контроллеров из steam. Это приведет к удалению выбранного вами в данный момент шаблона, если он не является одним из шаблонов, доступных в Steam.
-Currently, SRM pulls all of the default (Valve made) templates for each controller as well as all of the user defined templates that end in `(SRM)`.
+В настоящее время SRM извлекает все шаблоны по умолчанию (созданные Valve) для каждого контроллера, а также все пользовательские шаблоны, которые заканчиваются на `(SRM)`.
-* Select your templates and save the parser. The controller configsets will be applied once you hit `Save App List` in the preview.
+* Выберите свои шаблоны и сохраните анализатор. Настройки контроллера будут применены, как только вы нажмете `Сохранить в Steam [Save to Steam]` в разделе "Добавить игры".
-* To unset controller configs, you may either `Remove All Added App Entries` from global settings (this deletes all SRM made changes to your steam data) or hit `Unset All Controllers` in the parser (this only removes controller settings for the steam directory and user specified in that parser).
+* Чтобы отменить настройку контроллеров, вы можете либо ` Удалить все добавленные записи приложений [Remove All Added App Entries]` из глобальных настроек (это приведет к удалению всех изменений, внесенных SRM в ваши данные steam), либо нажать `Отменить настройку всех контроллеров [Unset All Controllers]` в синтаксическом анализаторе (это приведет только к удалению настроек контроллера для каталога steam и пользователь, указанный в этом синтаксическом анализаторе). Сохраните в Steam0> в разделе "Добавлять игры".
-Once this is done you can generate and save the preview as usual, and the template will be applied to all the titles in the parser.
+Как только это будет сделано, вы сможете анализировать и добавлять игры в steam в обычном режиме, и шаблоны будут применены ко всем названиям в анализаторе.
diff --git a/src/lang/ru-RU/markdown/default-image.md b/src/lang/ru-RU/markdown/default-image.md
index 47e3f9261e..11e7522cf9 100644
--- a/src/lang/ru-RU/markdown/default-image.md
+++ b/src/lang/ru-RU/markdown/default-image.md
@@ -1,13 +1,13 @@
-# Default image (optional) `[supports variables]`{.noWrap}
+#
-Allows one to use an image, stored locally, as a default/fallback image. A [special glob input](#special-glob-input) string is used to retrieve images. Only the first retrieved image is used.
+Позволяет использовать изображение, хранящееся локально, в качестве стандартного/резервного изображения. Для извлечения изображений используется специальная строка ввода [ в виде глобуса](#special-glob-input). Используется только первое полученное изображение.
-This image will be shown **only** if there are no other images available. If Steam image is available, you will be able to choose from Steam and this image.
+Это изображение будет показано **только**, если нет других доступных изображений. Если доступно изображение в Steam, вы сможете выбрать между Steam и этим изображением.
-## Allowed image extensions
+## Разрешенные расширения изображений
-Only `JPEG`{.noWrap}, `JPG`{.noWrap}, `PNG`{.noWrap} and `TGA`{.noWrap} file extensions are supported. Even if parser finds files with other extensions, they are not included into the final list.
+Поддерживаются только расширения файлов `JPEG`{.noWrap}, `JPG`{.noWrap}, `PNG`{.noWrap} и `TGA`{.noWrap}. Даже если анализатор найдет файлы с другими расширениями, они не будут включены в окончательный список.
-## Can you move the directory of default image after saving app list?
+## Можете ли вы переместить каталог с изображением по умолчанию после сохранения списка приложений?
-Yes, once the list is saved, default image is copied to a Steam directory where they are renamed to match Steam's APP ID.
+Да, после сохранения списка изображения по умолчанию копируются в каталог Steam, где они переименовываются в соответствии с APP ID Steam.
diff --git a/src/lang/ru-RU/markdown/ea-desktop-parser-input.md b/src/lang/ru-RU/markdown/ea-desktop-parser-input.md
index 7990efb5b5..977e3870fd 100644
--- a/src/lang/ru-RU/markdown/ea-desktop-parser-input.md
+++ b/src/lang/ru-RU/markdown/ea-desktop-parser-input.md
@@ -1,9 +1,9 @@
-# EA Desktop Parser specific inputs
+# Особые входные данные парсера EA Desktop
-## EA Games Directory Override
-By default Steam ROM Manager assumes your `EA Desktop` games are installed at ``C:\Program Files\EA Games\`. This field allows you to change that to wherever your games are installed, e.g.``D:\Games\EA Games`.
+## Переопределение каталога EA Games
+По умолчанию Steam ROM Manager предполагает, что ваши игры `EA Desktop` установлены в ``C:\Program Files\EA Games\`. В этом поле можно указать место, где установлены игры, например ``D:\Games\EA Games`.
-## Launch Games Via EA Desktop
-If enabled SRM will add a shortcut to `origin2://game/launch/?offerIds=${gameid}` instead of just the game's executable. This ensures the game launches via EA and will have access to online services.
+## Запуск игр через EA Desktop
+При включении SRM будет добавлять ярлык к `origin2://game/launch/?offerIds=${gameid}`, а не просто к исполняемому файлу игры. Это гарантирует, что игра выйдет через EA и будет иметь доступ к онлайн-сервисам.
-`This is required to add EA Play games. EA Play games will not be detected if this is not toggled on.`
+`Это необходимо для добавления игр EA Play. Игры EA Play не будут обнаружены, если этот параметр не включен.`
diff --git a/src/lang/ru-RU/markdown/ea-desktop-parser.md b/src/lang/ru-RU/markdown/ea-desktop-parser.md
index 7c54b483bf..938f533e24 100644
--- a/src/lang/ru-RU/markdown/ea-desktop-parser.md
+++ b/src/lang/ru-RU/markdown/ea-desktop-parser.md
@@ -1,3 +1,3 @@
-# EA Desktop Parser
+# Анализатор EA Desktop
-This parser imports games from the `EA Desktop` app, so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because EA has altered the structure of their xml files, in which case please let the developers of SRM know and we will resolve the issue.
+Этот анализатор импортирует игры из приложения `EA Desktop`, чтобы можно было выбрать для них обложку и добавить их в Steam. Если он не работает, значит, EA изменила структуру своих xml-файлов, в этом случае сообщите об этом разработчикам SRM, и мы решим эту проблему.
diff --git a/src/lang/ru-RU/markdown/empty-parser-type.md b/src/lang/ru-RU/markdown/empty-parser-type.md
index fe777dacbb..72d74b3525 100644
--- a/src/lang/ru-RU/markdown/empty-parser-type.md
+++ b/src/lang/ru-RU/markdown/empty-parser-type.md
@@ -1,5 +1,5 @@
-# Parser type
+# Тип анализатора
-Select a parser which will be used to do parsing. Once the parser is selected, you'll see more detailed information.
+Выберите анализатор, который будет использоваться для разбора. После выбора анализатора вы увидите более подробную информацию.
-**Configurations without parser types will not save, and will not be reloaded if you exit out of SRM.**
+**Конфигурации без типов анализатора не будут сохранены и не будут перезагружены, если вы выйдете из SRM.**
diff --git a/src/lang/ru-RU/markdown/epic-parser-input.md b/src/lang/ru-RU/markdown/epic-parser-input.md
index 3e8e07d69a..8a20ca5488 100644
--- a/src/lang/ru-RU/markdown/epic-parser-input.md
+++ b/src/lang/ru-RU/markdown/epic-parser-input.md
@@ -1,11 +1,11 @@
-# Epic Games Store specific inputs
+# Особые входные данные Epic Games Store
-## Manifests Directory Override
+## Переопределение каталога манифестов
-Most users shouldn't use this, as they use the standard `Epic Games Store` installation where the game manifests will be located in, for example on Windows, `C:\ProgramData\Epic\EpicGamesLauncher\Data\Manifests`.
+Большинство пользователей не используют это, так как они используют стандартную установку `Epic Games Store`, где манифесты игр расположены в папке по умолчанию. Например, для Windows она находится в `C:\ProgramData\Epic\EpicGamesLauncher\Data\Manifests`.
-If, however, for some reason your manifests directory is located in a non-typical location then you can specify the correct manifests directory here.
+Но если по какой-либо причине директория расположена в другом месте, то вы можете указать правильный путь до директории манифестов здесь.
-## Launch Via Epic Games Store `[Recommend enabled]`
+## Запуск через Epic Games Store `[Включено по рекомендации]`
-If you don't launch via the `Epic Games Store` you will not have access to Epic's online services in game. This toggle lets you set whether games will launch via the Epic Games Store or directly.
+Этот переключатель позволяет установить, будут ли игры запускаться через Epic Games Store или нет. Если вы не запустите игру через `Epic Games Store`, то вы не сможете получить доступ к онлайн-сервисам Epic Games внутри игры.
diff --git a/src/lang/ru-RU/markdown/epic-parser.md b/src/lang/ru-RU/markdown/epic-parser.md
index 9ac48fb419..6c24fac98d 100644
--- a/src/lang/ru-RU/markdown/epic-parser.md
+++ b/src/lang/ru-RU/markdown/epic-parser.md
@@ -1,12 +1,16 @@
-# Epic Games Parser
+# Анализатор Epic Games
-This parser imports games from the [Epic Games Store](https://store.epicgames.com/en-US/) so that artwork can be chosen for them and they can be added into Steam.
+Этот анализатор импортирует игры из [Epic Games Store](https://store.epicgames.com/en-US/), чтобы можно было выбрать для них обложку и добавить в Steam.
-If it doesn't work it is because Epic has altered the structure of their game manifests, in this case please let the developers of SRM know and we will resolve the issue.
+Если он не работает, это связано с тем, что Epic изменила структуру своих игровых манифестов, в этом случае сообщите разработчикам SRM, и мы решим эту проблему.
-In order for this parser to work with the open source Epic alternative [Legendary](https://github.com/derrod/legendary), [EGL sync must be enabled in Legendary](https://github.com/derrod/legendary/discussions/276#discussioncomment-709748) (this creates the appropriate files for the parser to read, and does not require the `Epic Games Store` to be installed).
+Чтобы этот анализатор работал с альтернативой Epic с открытым исходным кодом [Legendary](https://github.com/derrod/legendary), в Legendary должна быть включена
+EGL-синхронизация (это создает соответствующие файлы для чтения анализатором и не требует установки `Epic Games Store`).
-That said, there is also a `Legendary` parser in SRM which works right out of the box.
+Тем не менее, в SRM также есть анализатор `Legendary`, который работает прямо из коробки.
-## Compatibility
-This parser is currently functional on `Windows` and `Mac OS` systems only. On `Mac OS` it is not possible to launch from the Epic Store, so that toggle should remain disabled.
+
+
+## Совместимость
+
+В настоящее время этот анализатор работает только в системах `Windows` и `Mac OS`. На `Mac OS` запуск из Epic Store невозможен, поэтому этот переключатель должен оставаться отключенным.
diff --git a/src/lang/ru-RU/markdown/executable-arguments.md b/src/lang/ru-RU/markdown/executable-arguments.md
index 8b5121722a..eeee792eea 100644
--- a/src/lang/ru-RU/markdown/executable-arguments.md
+++ b/src/lang/ru-RU/markdown/executable-arguments.md
@@ -1,202 +1,206 @@
-# Command line arguments (optional) `[supports variables]`{.noWrap}
+#
-Arguments which are appended to executable to produce final shortcut. Most of the time you will want to set it using provided parser variables.
+Аргументы, которые добавляются к исполняемому файлу для создания конечного ярлыка. В большинстве случаев вам захочется установить его с помощью предоставленных переменных анализатора.
-## Examples By System
+## Примеры по Системам
-### RetroArch
+###
```
-L cores${/}YOUR_CORE.dll "${filePath}"
```
-### Cemu (WiiU)
+###
```
-f -g "${filePath}"
```
-### Dolphin Emu (Gamecube and Wii)
+### Dolphin Emu (Gamecube и Wii)
```
--exec="${filePath}" --batch --confirm=false
```
-### Project64 2.3+ (N64)
+###
```
"${filePath}"
```
-### Mupen64+ (N64)
+###
```
---fullscreen "${filePath}"
+
```
-### DeSmuME (Nintendo DS)
+###
```
-"${filePath}"
+
+
```
-### mGBA (Gameboy, Gameboy Color, and Gameboy Advance)
+### mGBA (Game boy, Gameboy Color и Gameboy Advance)
```
-f "${filePath}"
```
-### Nestopia (NES/Famicom)
+###
```
-"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
+
```
-### higan (NES/Famicom, SNES/Famicom, Gameboy, Gameboy Color, Gameboy Advance)
+###
```
-"${filePath}"
+
```
-### nullDC (Sega Dreamcast)
+###
```
--config nullDC_GUI:Fullscreen=1 -config ImageReader:DefaultImage="${filePath}"
+
```
-### Kega Fusion (Sega Genesis and Sega 32X)
+###
```
-"${filePath}" -gen -auto -fullscreen
+
```
-### RPCS3 (Sony Playstation 3)
+###
```
-"${filePath}"
+
```
-### PCSX2 (Sony Playstation 2)
+###
```
---fullscreen --nogui "${filePath}"
+
```
-### PCSX-R (Sony Playstation 1)
+###
```
--nogui -cdfile "${filePath}"
+
```
-### ePSXe (Sony Playstation 1)
+###
```
--f -nogui -loadbin "${filePath}"
+
```
-### Xebra (Sony Playstation 1)
+###
```
--IMAGE "${filePath}" -RUN1 -FULL
+
```
-### Mednafen (Sony Playstation 1, NES/Famicom, SNES/Super Famicom, etc.)
+### Mednafen (Sony Playstation 1, NES/Famicom, SNES/Super Famicom и др.)
```
-"${filePath}"
+
```
-### PPSSPP (Sony Playstation Portable)
+###
```
-"${filePath}"
+
```
-## What does "Append arguments to executable" do?
+## Что делает "Добавить аргументы к исполняемому файлу"?
+
+Вместо того чтобы добавлять аргументы в параметры запуска Steam:
-Instead of adding arguments to Steam's launch options:
+ {.fitImage.center}
- {.fitImage.center}
+аргументы добавляются к цели, как показано ниже:
-arguments are appended to target as shown below:
+ {.fitImage.center}
- {.fitImage.center}
+Этот параметр используется для изменения идентификатора APP ID Steam.
-This setting is used to influence Steam's APP ID.
+## Переменные каталога
-## Directory variables
+| Переменная (без учета регистра) | Соответствующее значение |
+| -------------------------------:|:--------------------------------------------- |
+| `` | Каталог исполняемых файлов |
+| `` | Каталог ROMs |
+| `` | Каталог Steam |
+| `` | Каталог "StartIn" |
+| `` | Файлы, полученные от анализатора или каталога |
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+Если входной каталог исполняемых файлов оставлен **пустым**, `${exeDir}`{.noWrap} будет равен `${fileDir}`{.noWrap}. Более того, если каталог "StartIn" оставить **пустым**, то `${startInDir}`{.noWrap} будет равен `${exeDir}`{.noWrap}.
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
+## Переменные имён
-## Name variables
+| Переменная (без учета регистра) | Соответствующее значение |
+| -------------------------------:|:------------------------------------------------------ |
+| `` | Имя исполняемого файла (без расширения) |
+| `${fileName}` | Имя файла, возвращенного анализатором (без расширения) |
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------------------------------- |
-| `${exeName}` | Name of executable (without extension) |
-| `${fileName}` | Name of file which was returned by a parser (without extension) |
+Если входной каталог исполняемых файлов оставлен **пустым**, `${exeName}`{.noWrap} будет равен `${fileName}`{.noWrap}.
-In case executable directory input is left **empty**, `${exeName}`{.noWrap} is equal to `${fileName}`{.noWrap}.
+## Переменные расширения
-## Extension variables
+| Переменная (без учета регистра) | Соответствующее значение |
+| -------------------------------:|:------------------------------------------------------- |
+| `${exeExt}` | Расширение исполняемого файла (с точкой) |
+| `${fileExt}` | Расширение файла, возвращенного анализатором (с точкой) |
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------------------- |
-| `${exeExt}` | Extension of executable (with a dot) |
-| `${fileExt}` | Extension of file which was returned by a parser (with a dot) |
+Если входной каталог исполняемых файлов оставлен **пустым**, `${exeExt}`{.noWrap} будет равен `${fileExt}`{.noWrap}.
-In case executable directory input is left **empty**, `${exeExt}`{.noWrap} is equal to `${fileExt}`{.noWrap}.
+## Переменные пути
-## Path variables
+| Переменная (без учета регистра) | Соответствующее значение |
+| -------------------------------:|:---------------------------------------------------------------------- |
+| `${exePath}` | Полный путь к исполняемому файлу |
+| `${filePath}` | Полный путь к файлу, который был возвращен синтаксическим анализатором |
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:-------------------------------------------------- |
-| `${exePath}` | Full path to an executable |
-| `${filePath}` | Full path to a file which was returned by a parser |
+Если входной каталог исполняемых файлов оставлен **пустым**, `${exePath}`{.noWrap} будет равен `${filePath}`{.noWrap}.
-In case executable directory input is left **empty**, `${exePath}`{.noWrap} is equal to `${filePath}`{.noWrap}.
+## Переменные анализатора
-## Parser variables
+| Переменная (без учета регистра) | Соответствующее значение |
+| -------------------------------:|:------------------------------------------------------------------ |
+| `${title}` | Извлеченное название |
+| `${fuzzyTitle}` | Нечеткое сопоставление названий |
+| `${finalTitle}` | Название, которое стало конечным результатом модификатора названия |
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------ |
-| `${title}` | Extracted title |
-| `${fuzzyTitle}` | Fuzzy matched title |
-| `${finalTitle}` | Title which was the end result of title modifier |
+Если нечеткое согласование **не работает** или **отключено**, `${fuzzyTitle}`{.noWrap} равно `${title}`{.noWrap}.
-In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
+## Переменные функции
-## Function variables
+| Переменная (без учета регистра) | Соответствующая функция |
+| -----------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------------ |
+| `${regex\|input\|substitution(optional)}` | Выполняет regex на вводимых данных. Поддерживает флаги `u`, `g` и `i` (захваченные группы объединяются, если не предусмотрена подстановка) |
+| `${uc\|input}` | Переменная в верхнем регистре. Преобразование ввода в верхний регистр |
+| `${lc\|input}` | Переменная в нижнем регистре. Преобразование ввода в строчные буквы |
+| `${cv:group\|input}` | Измените ввод с помощью сопоставленной пользовательской переменной (группа необязательна) |
+| `${rdc\|input}` | Замените введенные диакритические символы их латинскими эквивалентами |
+| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | Если ОС совпадает, используется значение `о совпадении` или `без совпадения` в противном случае |
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+### Пример функциональной переменной
-### Function variable example
+Допустим, переменная `${title}` равна `Pokémon (USA) (Disc 1).iso`. Затем эти переменные:
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
+${/.*/|${title}} //Подбирает все
+${/(.*)/|${title}} //Захватывает все
+${/(\(.*?\))/|${title}|} //Захватывает все скобки и заменяет их ничем
+${/(\(Disc\s?[0-9]\))/|${title}} //Захватывает часть "Диск..."
+${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Захватывает часть "Диск..." и преобразует ее в верхний регистр
+${rdc|${title}} //Замена диакритических знаков (в данном случае: é -> e)
+file${os:linux|.so|${os:win|.dll}} //Выбирает правильное расширение файла для ОС
```
-will be replaced with these:
+
+будут заменены на эти:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/ru-RU/markdown/executable-location.md b/src/lang/ru-RU/markdown/executable-location.md
index b13f57494f..0a52871478 100644
--- a/src/lang/ru-RU/markdown/executable-location.md
+++ b/src/lang/ru-RU/markdown/executable-location.md
@@ -1,11 +1,13 @@
-# Executable (optional) `[supports environment variables]`
+#
-Path to emulator's executable. Can be a file or any valid system path.
+Путь к исполняемому файлу эмулятора. Это может быть файл или любой действительный системный путь.
-## Why optional?
+## Почему необязательно?
-In some cases you might want to run game from a some kind batch file which will also automatically run the emulator itself. If that is the case, then providing executable is unnecessary.
+В некоторых случаях вы можете запустить игру из какого-нибудь пакетного файла, который также автоматически запустит сам эмулятор. Если это так, то предоставление исполняемого файла не требуется.
-### So, how do I add files to Steam without default executable?
+.
-All files retrieved by a parser will be treated as executables instead.
+### Итак, как добавить файлы в Steam без исполняемого файла по умолчанию?
+
+Все файлы, полученные анализатором, будут рассматриваться как исполняемые файлы.
diff --git a/src/lang/ru-RU/markdown/executable-modifier.md b/src/lang/ru-RU/markdown/executable-modifier.md
index c3c5739e86..ba73386ae6 100644
--- a/src/lang/ru-RU/markdown/executable-modifier.md
+++ b/src/lang/ru-RU/markdown/executable-modifier.md
@@ -1,102 +1,23 @@
-# Executable modifier `[supports variables]`{.noWrap}
+# Модификатор исполняемого файла `[поддерживает переменные]`{.noWrap}
-Default value is `"${exePath}"`{.noWrap}. This setting can be used to prepend or append desired characters to an executable which will be added to Steam (`Target` property). For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you can add `"cmd" /k start /min` to it by setting value to:
-```
-"cmd" /k start /min "${exePath}"
-```
-You can use any other variable to construct the final executable.
-
-This setting influences Steam's APP ID.
-
-
-## Shortcut Passthrough
-If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the target of that shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser.
-
-## Directory variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
-
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
-
-## Name variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------------------------------- |
-| `${exeName}` | Name of executable (without extension) |
-| `${fileName}` | Name of file which was returned by a parser (without extension) |
-
-In case executable directory input is left **empty**, `${exeName}`{.noWrap} is equal to `${fileName}`{.noWrap}.
-
-## Extension variables
+. . :
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------------------- |
-| `${exeExt}` | Extension of executable (with a dot) |
-| `${fileExt}` | Extension of file which was returned by a parser (with a dot) |
-
-In case executable directory input is left **empty**, `${exeExt}`{.noWrap} is equal to `${fileExt}`{.noWrap}.
-
-## Path variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:-------------------------------------------------- |
-| `${exePath}` | Full path to an executable |
-| `${filePath}` | Full path to a file which was returned by a parser |
+```
-In case executable directory input is left **empty**, `${exePath}`{.noWrap} is equal to `${filePath}`{.noWrap}.
+```
-## Parser variables
+В этом случае свойство `Target` начнётся с:
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------ |
-| `${title}` | Extracted title |
-| `${fuzzyTitle}` | Fuzzy matched title |
-| `${finalTitle}` | Title which was the end result of title modifier |
+```
-In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
+```
-## Function variables
+после чего в поле `Аргументы командной строки` указываются аргументы запуска.
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+Вы можете использовать любую другую переменную для создания конечного исполняемого файла.
-### Function variable example
+Эта настройка влияет на APP ID Steam.
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
-```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
-```
-will be replaced with these:
-```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+## Проход через ярлык
---On linux:
-file.so
---On Windows:
-file.dll
---On Mac OS:
-file
-```
+Если вы включите `Переместить .lnk/.desktop к месту назначения` и глобальный поиск найдет файл `.lnk` или `.desktop`, то есть ярлык, то переменная `${filePath}` будет содержать цель ярлыка, а не путь к ярлыку. Если вы хотите добавить исполняемые аргументы, добавьте их в цель ярлыка или используйте поле `Аргументы командной строки` в парсере.
diff --git a/src/lang/ru-RU/markdown/faq.md b/src/lang/ru-RU/markdown/faq.md
index 5987afe47c..d6c2aad865 100644
--- a/src/lang/ru-RU/markdown/faq.md
+++ b/src/lang/ru-RU/markdown/faq.md
@@ -1,113 +1,113 @@
-# Frequently asked questions
+# Часто задаваемые вопросы
-Read this if you're still having trouble with configuration. For most examples the following will be used unless specified otherwise:
+Ознакомьтесь с данным разделом, если у вас все еще возникают проблемы с настройкой. В большинстве примеров будут использоваться следующие значения, если не установлено иное:
-| | |
-| ------------------ | ------------------------------------------ |
-| **ROMs directory** | `C:/ROMs` |
-| **File1** | `C:/ROMs/Kingdom Hearts/game.iso` |
-| **File2** | `C:/ROMs/Kingdom Hearts II/rom.iso` |
-| **File3** | `C:/ROMs/dir1/dir2/dir3/Metroid [USA].nes` |
-| **File4** | `C:/ROMs/dir1/dir2/dir3/save.sav` |
-| **File5** | `C:/ROMs/dir1/dir2/Dragon Quest IV.NES` |
-| **File6** | `C:/ROMs/dir1/dir2/save.sav` |
+| | |
+| ---------------- | ------------------------------------------ |
+| **Каталог ROMs** | `C:/ROMs` |
+| **Файл1** | `C:/ROMs/Kingdom Hearts/game.iso` |
+| **Файл2** | `C:/ROMs/Kingdom Hearts II/rom.iso` |
+| **Файл3** | `C:/ROMs/dir1/dir2/dir3/Metroid [USA].nes` |
+| **Файл4** | `C:/ROMs/dir1/dir2/dir3/save.sav` |
+| **Файл5** | `C:/ROMs/dir1/dir2/Dragon Quest IV.NES` |
+| **Файл6** | `C:/ROMs/dir1/dir2/save.sav` |
-## So, how do I setup user's glob?
+## Итак, как мне настроить glob пользователя?
-First, let's analyze **File1**. Its full path is `C:/ROMs/Kingdom Hearts/game.iso`. Since our **ROMs directory** is `C:/ROMs`, we can just remove it from **File1**'s path.
+Сначала проанализируем **Файл1**. Полный путь к нему - `C:/ROMs/Kingdom Hearts/game.iso`. Поскольку наш каталог **ROMs** - это `C:/ROMs`, мы можем просто удалить его из пути **Файл1**.
-We end up with `Kingdom Hearts/game.iso`. It obvious for us that `Kingdom Hearts` is the title, however parser is dumber than you -- you must specify path portion which contains the title by replacing `Kingdom Hearts` with `${title}`.
+В итоге мы получаем `Kingdom Hearts/game.iso`. Для нас очевидно, что `Kingdom Hearts` - это название, однако анализатор глупее вас - вы должны указать часть пути, которая содержит название, заменив `Kingdom Hearts` на `${title}`.
-Again, we end up with `${title}/game.iso`, but we also want **File2**, because it is for the same emulator. **File1** is `game.iso` and **File2** is `rom.iso`. What now?
+Опять же, в итоге мы получаем `${title}/game.iso`, но нам также нужен **Файл2**, потому что он предназначен для того же эмулятора. **Файл1** - это `game.iso`, а **Файл2** - это `rom.iso`. Что дальше?
-Remember wild cards? They allow us to discard information that does not really matter. In this case we don't care if it is `game` or `rom`, we want both to be matched. That's why we replace them with `*`. This is the final glob for both **File1** and **File2**:
+Помните про "дикие карты"? Они позволяют нам отбрасывать информацию, которая на самом деле не имеет значения. В данном случае нам неважно, будет ли это `game` или `rom`, мы хотим, чтобы оба совпали. Поэтому мы заменяем их на `*`. Это конечный glob для обоих **Файл1** и **Файл2**:
```
${title}/*.iso
```
-Using similar logic we can produce glob for **File3**:
+Используя аналогичную логику, мы можем создать glob для **Файл3**:
```
*/*/*/${title}.nes
```
-## How to deal with multi-leveled directories?
+## Как работать с многоуровневыми каталогами?
-This time we want **File3** and **File5** (both have different extensions, read next section on what to do about it as for now we will use `*` to ignore extension). Notice that **File3** has `3` subdirectories while **File5** has `2`. What now?
+На этот раз нам нужны **Файл3** и **Файл5** (оба имеют разные расширения, читайте следующий раздел о том, что с этим делать, а пока мы будем использовать `*`, чтобы игнорировать расширение). Обратите внимание, что **Файл3** имеет `3` подкаталогов, в то время как **Файл5** имеет `2`. Что теперь?
-Now we can use a globstar and that's it!
+Теперь мы можем использовать globstar и все!
```
**/${title}.*
```
-Is it really that simple? **NO!** Globstar will have some impact in parser's performance if there are many subdirectories with thousands of files each. Globstar will make sure that parser check every file it can find. User once reported that parsing took ~10 minutes when he used globstars everywhere.
+Неужели все так просто? **NO!** Globstar будет оказывать некоторое влияние на производительность анализатора, если в нем много подкаталогов с тысячами файлов в каждом. Globstar позаботится о том, чтобы анализатор проверил все файлы, которые он сможет найти. Пользователь однажды сообщил, что парсинг занял ~10 минут, когда он использовал везде globstars.
-A recommended solution is to use braced sets. They can make multiple globs out of `1` glob. If we write a glob like this:
+Рекомендуемое решение - использовать комплекты со скобами. Они могут создавать несколько глобусов из `1` глобуса. Если мы напишем glob следующим образом:
```
{*,*/*}/*/${title}.*
```
-we will get `2` globs:
+мы получим `2` глобусов:
```
*/*/${title}.*
*/*/*/${title}.*
```
-These `2` globs both satisfy our files, **File3** and **File5**.
+Эти глобусы `2` оба удовлетворяют нашим файлам, **Файл3** и **Файл5**.
-## How to limit file extensions?
+## Как ограничить расширения файлов?
-Let's say we use glob from previous example:
+Допустим, мы используем glob из предыдущего примера:
```
{*,*/*}/*/${title}.*
```
-We will end up with 4 files: **File3**, **File4**, **File5** and **File6**. Now, we don't need **File4** and **File6**. Normally we could set glob to:
+В итоге у нас будет 4 файла: **Файл3**, **Файл4**, **Файл5** и **Файл6**. Теперь нам не нужны **Файл4** и **Файл6**. Обычно мы можем установить glob на:
```
{*,*/*}/*/${title}.nes
```
-but then we will end up only with **File3**, because `nes` is not equal to `NES` -- parser is case sensitive. There are two ways to solve this problem using extended glob matcher.
+но тогда в итоге мы получим только **Файл3**, потому что `nes` не равно `NES` - анализатор чувствителен к регистру. Есть два способа решить эту проблему с помощью расширенного glob matcher.
-### Exclude `sav` extension
+### Исключить расширение `sav`
-Extended glob matcher `!(...)` allows us to exclude stuff. Simply write glob like this:
+Расширенный glob matcher `!(...)` позволяет исключить все, что нужно. Просто напишите glob следующим образом:
```
{*,*/*}/*/${title}.!(sav)
```
-and files with `sav` extension will be excluded.
+и файлы с расширением `sav` будут исключены.
-### Check for multiple extensions
+### Проверьте наличие нескольких расширений
-Extended glob matcher `@(...)` allows us to match multiple things. Simply write glob like this:
+Расширенный glob matcher `@(...)` позволяет нам сопоставлять несколько вещей. Просто напишите glob следующим образом:
```
{*,*/*}/*/${title}.@(nes|NES)
```
-and only files with `nes` and `NES` will be matched. If you're feeling fancy or if you have files with extensions `nes`, `NES`, `neS`, `nEs`, `Nes` and etc., you need a glob that uses character range:
+и только файлы с `nes` и `NES` будут сопоставлены. Если вы чувствуете себя фантазером или у вас есть файлы с расширениями `nes`, `NES`, `neS`, `nEs`, `Nes` и т. д., вам нужен glob, который использует диапазон символов:
```
{*,*/*}/*/${title}.@([nN][eE][sS])
```
-Now parser can match any combination and is effectively case-insensitive. Technically, the following glob will work too, but the one above looks better.
+Теперь анализатор может соответствовать любой комбинации и фактически не зависит от регистра. Технически, следующий глобус тоже будет работать, но приведенный выше выглядит лучше.
```
{*,*/*}/*/${title}.[nN][eE][sS]
```
-## Troubleshooting
-* Please ensure that steam is actually closed before saving your app list.
+## Устранение неполадок
+* Перед сохранением списка приложений убедитесь, что steam действительно закрыт.
-* One common issue Steam ROM Manager runs into is the presence of old steam directories from people who logged into steam in your computer before the New Library Update. This can cause Steam ROM Manager to fail in unpredictable ways, as it tries to access directories whose structure has changed. In order to get around this, use the [User Accounts](#user-accounts) field to specify which accounts you actually want to use Steam ROM Manager with.
+* Одна из распространенных проблем, с которой сталкивается Steam ROM Manager, - наличие старых каталогов steam от людей, которые вошли в steam на вашем компьютере до обновления New Library Update. Это может привести к непредсказуемым сбоям в работе Steam ROM Manager, поскольку он пытается получить доступ к директориям, структура которых изменилась. Чтобы обойти эту проблему, используйте поле [User Accounts](#user-accounts), чтобы указать, с какими учетными записями вы хотите использовать Steam ROM Manager.
-## The Discord
+## Discord
-For further help, please see our [Discord](https://discord.gg/bnSVJrz).
+Для получения дополнительной помощи обратитесь к нашему [Discord](https://discord.gg/bnSVJrz).
diff --git a/src/lang/ru-RU/markdown/fuzzy-matching.md b/src/lang/ru-RU/markdown/fuzzy-matching.md
index 68722ae605..58e694df9f 100644
--- a/src/lang/ru-RU/markdown/fuzzy-matching.md
+++ b/src/lang/ru-RU/markdown/fuzzy-matching.md
@@ -1,19 +1,19 @@
-# Fuzzy matching
+# Нечеткое соответствие
-Fuzzy (natural) matching will be done against the tittle list provided by [SteamGridDB](http://www.steamgriddb.com/). It will try to fill in missing characters for titles which will increase probability for finding images.
+Нечеткое (естественное) сопоставление будет производиться по списку титлов, предоставленному [SteamGridDB](http://www.steamgriddb.com/). Он попытается заполнить недостающие символы в названиях, что повысит вероятность поиска изображений.
-Fuzzy titles are available as title modifiers via `${fuzzyTitle}`. Currently fuzzy matching is only enabled for `ROM Parsers` and `Manual Parsers`.
+Нечеткие заголовки доступны в качестве модификаторов заголовков через `${fuzzyTitle}`. В настоящее время нечеткое соответствие включено только для `ROM-анализаторов` и `ручных анализаторов`.
-It is possible, that `false` matching might occur for titles that are not in the list. If you encounter missing titles, feel free to post an issue on [github](https://github.com/FrogTheFrog/steam-rom-manager/issues).
+Возможно, что для названий, которых нет в списке, может возникнуть соответствие `false`. Если вы обнаружили отсутствие названий, не стесняйтесь опубликовать проблему на [github](https://github.com/FrogTheFrog/steam-rom-manager/issues).
-## Replace diacritic characters
+## Замена диакритических знаков
-Replaces diacritic characters to their latin equivalent: `Ą` -> `A`, `Ę` -> `E`, `Ė` -> `E`, etc. Might improve the matching ability of fuzzy matcher.
+Заменяет диакритические знаки на их латинские эквиваленты: `Ą` -> `A`, `Ę` -> `E`, `Ė` -> `E`, и т. д. Может улучшить способность нечеткого анализатора к согласованию.
-## Aggressive matching
+## Агрессивное соответствие
-When enabled, fuzzy matcher will remove all characters except for `a-zA-Z0-9 ()[]` and will replace `_` with space. This should improve the matching ability of fuzzy matcher.
+Если эта функция включена, то при нечетком сопоставлении будут удалены все символы, кроме `a-zA-Z0-9 ()[]`, а `_` будет заменен на пробел. Это должно улучшить способность нечеткого анализатора к согласованию.
-## Remove (...) and [...] brackets
+## Уберите скобки (...) и [...]
-When enabled, fuzzy matcher will remove all `(...)`{.noWrap} and `[...]`{.noWrap} together with their content. Useful for titles with `[USA]`{.noWrap}, `[JPN]`{.noWrap} and etc., as they prevent from matching titles correctly.
+Если эта опция включена, то fuzzy matcher удалит все `(...)`{.noWrap} и `[...]`{.noWrap} вместе с их содержимым. Полезно для названий с `[USA]`{.noWrap}, `[JPN]`{.noWrap} и т. д., так как они мешают корректному сопоставлению названий.
diff --git a/src/lang/ru-RU/markdown/glob-parser-input.md b/src/lang/ru-RU/markdown/glob-parser-input.md
index 996ae77ce1..aaac5c4f92 100644
--- a/src/lang/ru-RU/markdown/glob-parser-input.md
+++ b/src/lang/ru-RU/markdown/glob-parser-input.md
@@ -1,21 +1,21 @@
-# Glob Parser specific inputs
+# Особые входные данные для анализатора Глоб (он же "Глобальный Анализатор")
-## User's glob
+## Пользовательский Глоб
-This is where you create your glob for extracting title from file path. Please read all of [special glob characters](#special-glob-characters) if you don't know how to construct a glob.
+Здесь вы создаете свой глобальный объект для извлечения заголовка из пути к файлу. Прочитайте всю статью [специальные символы глоб](#special-glob-characters), если вы не знаете, как построить глоб.
-## How does it work?
+## Как это работает?
-In addition to special glob characters, glob parser requires you to enter `${title}`{.noWrap} variable. Parser will locate it's position inside your **glob**, for example:
+Помимо специальных глобальных символов, глобальный анализатор требует ввода переменной `${title}`{.noWrap}. Анализатор определит его положение внутри вашего **глобальной строки**, например:
-| User's glob | Position |
-| ---------------------- | --------------------------- |
-| `${title}/*/*.txt` | First level from the left |
-| `{*,*/*}/${title}.txt` | First level from the right |
-| `**/${title}/*.txt` | Second level from the right |
+| Пользовательский Глоб | Место |
+| ---------------------- | --------------------- |
+| `${title}/*/*.txt` | Первый уровень слева |
+| `{*,*/*}/${title}.txt` | Первый уровень справа |
+| `**/${title}/*.txt` | Второй уровень справа |
-After acquiring `${title}`{.noWrap} position, `${title}`{.noWrap} will be replaced with a wildcard `*`.
+После получения позиции `${title}`{.noWrap}, `${title}`{.noWrap} будет заменен на подстановочный знак `*`.
-## Limitations
+## Ограничения
-Position extraction comes with some limitations -- glob is invalid if position can not be extracted. Most of the time you will be warned about what you can't do, however, if you find a combination that is allowed, but produces incorrect titles please make an issue at [github](https://github.com/FrogTheFrog/steam-rom-manager/issues).
+Извлечение позиции имеет некоторые ограничения - глоб считается недействительным, если позиция не может быть извлечена. В большинстве случаев вы будете предупреждены о том, что делать нельзя, однако если вы найдете комбинацию, которая разрешена, но выдает неправильные названия, пожалуйста, оформите проблему на [github](https://github.com/FrogTheFrog/steam-rom-manager/issues).
diff --git a/src/lang/ru-RU/markdown/glob-parser.md b/src/lang/ru-RU/markdown/glob-parser.md
index db10236176..16ae75dba2 100644
--- a/src/lang/ru-RU/markdown/glob-parser.md
+++ b/src/lang/ru-RU/markdown/glob-parser.md
@@ -1,5 +1,5 @@
-# Glob Parser
+# Глобальный анализатор
-A glob based path parser used to extract title from a file path.
+Анализатор путей на основе glob, используемый для извлечения заголовка из пути к файлу.
-If your ROMs Directory (eg. `D:\ROMS`) contains `Donkey Kong.gba`,`Super Mario.gba`, and `Sonic.gba` then the glob `${title}.gba` will find titles `Donkey Kong`, `Super Mario`, and `Sonic`.
+Если в каталоге ROMs (например, `D:\ROMS`) содержатся `Donkey Kong.gba`, `Super Mario.gba` и `Sonic.gba`, то по глобусу `${title}.gba` будут найдены названия `Donkey Kong`, `Super Mario` и `Sonic`.
diff --git a/src/lang/ru-RU/markdown/glob-regex-parser-input.md b/src/lang/ru-RU/markdown/glob-regex-parser-input.md
index 22c1f5cea6..b87bce40ca 100644
--- a/src/lang/ru-RU/markdown/glob-regex-parser-input.md
+++ b/src/lang/ru-RU/markdown/glob-regex-parser-input.md
@@ -1,53 +1,53 @@
-# Glob-regex Parser specific inputs
+# Специфические входы анализатора Glob-regex
-## User's glob-regex
+## Пользовательский glob-regex
-This is where you create your glob for extracting title from file path. Please read all of [special glob characters](#special-glob-characters) if you don't know how to construct a glob.
+Здесь вы создаете глобус для извлечения заголовка из пути к файлу. Прочитайте всю статью [специальные символы глобуса](#special-glob-characters), если вы не знаете, как построить глобус.
-## How does it work?
+## Как это работает?
-In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
+Помимо специальных символов glob, анализатор glob требует ввода переменной `${/.../}`{.noWrap}. Анализатор определит его местоположение внутри вашего глобуса, например:
-| User's glob | Position |
-| --------------------- | --------------------------- |
-| `${/.+/}/*/*.txt` | First level from the left |
-| `{*,*/*}/${/.+/}.txt` | First level from the right |
-| `**/${/.+/}/*.txt` | Second level from the right |
+| Пользовательский Глоб | Место |
+| --------------------- | --------------------- |
+| `${/.+/}/*/*.txt` | Первый уровень слева |
+| `{*,*/*}/${/.+/}.txt` | Первый уровень справа |
+| `**/${/.+/}/*.txt` | Второй уровень справа |
-After acquiring `${/.../}`{.noWrap} position, `${/.../}`{.noWrap} will be replaced with a wildcard `*`.
+После получения позиции `${/.../}`{.noWrap}, `${/.../}`{.noWrap} будет заменен на подстановочный знак `*`.
-## Regex post-processing
+## Постобработка регексов
-After title extraction, title will be processed by a regular expression. There are 3 ways you can write a regular expression.
+После извлечения заголовка он будет обработан регулярным выражением. Существует три способа записи регулярного выражения.
-### Regular expression with no capture: `${/.+/}`{.noWrap}
+### Регулярное выражение без захвата: `${/.+/}`{.noWrap}
-This is practically identical to "Glob" parser -- every piece of extracted title will be used.
+Это практически идентично анализатору "Glob" - каждый фрагмент извлеченного заголовка будет использован.
-### Regular expression with capture brackets: `${/(.+)/}`{.noWrap}
+### Регулярное выражение с захватными скобками: `${/(.+)/}`{.noWrap}
-Multiple matches and capture groups are allowed. For example, here we have 2 match groups with multiple capture groups:
+Допускается несколько совпадений и групп захвата. Например, здесь у нас есть 2 группы соответствия с несколькими группами захвата:
```
${/(.*?)\s*\[USA\]\s*(.+)|(.*)/}
```
-First match group (from left to right) with all correct captures will be used. Furthermore, all capture groups will be **joined**.
+Будет использована первая группа матчей (слева направо) со всеми правильными захватами. Кроме того, все группы захвата будут **соединены**.
-### Regular expression with capture brackets and replacement text: `${/(.+)/|...}`{.noWrap}
+### Регулярное выражение с захватом скобок и заменой текста: `${/(.+)/|...}`{.noWrap}
-Similar to [regular expression with capture brackets](#regular-expression-with-capture-brackets) except for how it handles captured groups. Replacement text can be used to move around captured groups. For example:
+Аналогичен [регулярному выражению с захватом скобок](#regular-expression-with-capture-brackets), за исключением того, как он обрабатывает захваченные группы. Заменяющий текст можно использовать для перемещения по захваченным группам. Например:
```
-${/(.*?)\s*\[USA\]\s*(.+)/|Second capture group: "$2" precedes the first one, which is "$1" }
+${/(.*?)\s*\[USA\]\s*(.+)/|Вторая группа захвата: "$2" предшествует первой, которая "$1" }
```
-If our first capture group is `Legend of Zelda` and second one is `SUPER EDITION`, then we will get the following (not very useful) title:
+Если наша первая группа захвата - `Legend of Zelda`, а вторая - `SUPER EDITION`, то мы получим следующее (не очень полезное) название:
-`Second capture group: "SUPER EDITION" precedes the first one, which is "Legend of Zelda"`
+`Вторая группа захвата: "SUPER EDITION" предшествует первой, которая является "Legend of Zelda"`
-Untouched text will remain by default, so if you see some trailing characters be sure to add `.*` at the end or `.*?` at the begging of regular expression.
+По умолчанию текст останется нетронутым, поэтому, если вы видите несколько символов в конце, обязательно добавьте `.*` в конец или `.*?` в начало регулярного выражения.
-### Supported flags
+### Поддерживаемые флаги
-Allowed flags are `i`, `g` and `u`.
+Разрешенными флагами являются `i`, `g` и `u`.
-## Limitations
+## Ограничения
-Position extraction comes with some limitations -- glob is invalid if position can not be extracted. Most of the time you will be warned about what you can't do, however, if you find a combination that is allowed, but produces incorrect titles please make an issue at [github](https://github.com/FrogTheFrog/steam-rom-manager/issues).
+Извлечение позиции имеет некоторые ограничения - glob недействителен, если позиция не может быть извлечена. В большинстве случаев вы будете предупреждены о том, что делать нельзя, однако если вы найдете комбинацию, которая разрешена, но выдает неправильные названия, пожалуйста, оформите проблему на [github](https://github.com/FrogTheFrog/steam-rom-manager/issues).
diff --git a/src/lang/ru-RU/markdown/glob-regex-parser.md b/src/lang/ru-RU/markdown/glob-regex-parser.md
index 80ee4ee6dd..58ded56610 100644
--- a/src/lang/ru-RU/markdown/glob-regex-parser.md
+++ b/src/lang/ru-RU/markdown/glob-regex-parser.md
@@ -1,3 +1,3 @@
-# Glob-regex Parser
+# Анализатор Glob-regex (глобальных регексов)
-A glob based path parser used to extract title from a file path. Furthermore, a regular expression can be used to modify title even further. This is meant to be used when a simple "Glob" parser is not enough.
+Математический анализатор на основе Globe, используемый для извлечения заголовка из пути к файлу. Кроме того, регулярное выражение может быть использовано для дальнейшего изменения заголовка. Это предназначено для использования, когда простого "глобусного" синтаксического анализатора недостаточно.
diff --git a/src/lang/ru-RU/markdown/gog-parser-input.md b/src/lang/ru-RU/markdown/gog-parser-input.md
index 756fa3de77..2bda008741 100644
--- a/src/lang/ru-RU/markdown/gog-parser-input.md
+++ b/src/lang/ru-RU/markdown/gog-parser-input.md
@@ -1,10 +1,20 @@
-# Unique inputs for GOG Galaxy Parser
+# Особые входные данные анализатора GOG Galaxy
-## Galaxy Path Override
-By default Steam ROM Manager assumes your Galaxy Client is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe`. This field allows you to override that path if your GOG Galaxy installation is elsewhere.
+## Переопределение пути GOG Galaxy
-This field is actually only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of the Galaxy Client.
+По умолчанию Steam ROM Manager предполагает, что исполняемый файл GOG Galaxy находится по адресу `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe` на Windows и `/Applications/GOG Galaxy.app/Contents/MacOS/GOG Galaxy` на Mac. Это поле позволяет вам изменить этот путь, если исполняемый файл GOG Galaxy находится в другом месте.
-## Launch Via GOG Galaxy `[Recommend disabled]`
+Указание правильного расположения исполняемого файла GOG Galaxy необходимо только в том случае, если вы включили запуск через GOG Galaxy (см. ниже), поскольку в противном случае SRM не нуждается в расположении исполняемого файла GOG Galaxy.
-What it sounds like, this toggle let's you set whether games will launch via GOG Galaxy or directly. Note that for some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+## Запуск через GOG Galaxy `[Рекомендуется отключить]`
+
+Судя по всему, этот переключатель определяет, будут ли игры запускаться через GOG Galaxy или напрямую. Для некоторых игр запуск из GOG Galaxy может оказаться неудачным, а оверлей Steam, скорее всего, не будет работать.
+
+## Разбор связанных исполняемых файлов из GOG Galaxy
+
+Если эта опция включена, SRM будет добавлять не только игры GOG, приобретенные в магазине GOG Galaxy, но и те, для которых вы вручную связали исполняемые файлы в GOG Galaxy. Это желательно, если эти игры не разбираются на SRM в других местах.
+
+Но, поскольку GOG Galaxy не хранит в своей базе данных названия исполняемых файлов, SRM будет использовать имя директории исполняемого файла в Windows (например, `C:\\path\\to\\\Hoa\\\LaunchHoa.exe` будет присвоено название `Hoa`) и имя исполняемого файла на Mac (например, `/Applications/Symphonia.app` будет присвоено название `Symphonia`).
+
+## Разбор с использованием реестра вместо БД Galaxy `[Только для Windows] [Рекомендуется отключить]`
+Эта опция будет анализировать реестр Windows на предмет установленных игр GOG вместо SQL-базы данных GOG Galaxy, что позволит парсеру работать, даже если GOG Galaxy не установлен. Если эта опция включена, то `Разбор связанных исполняемых файлов` не будет иметь никакого эффекта, но `Запуск через GOG Galaxy` будет работать как обычно.
\ No newline at end of file
diff --git a/src/lang/ru-RU/markdown/gog-parser.md b/src/lang/ru-RU/markdown/gog-parser.md
index 68ca9157cc..3df2bd4570 100644
--- a/src/lang/ru-RU/markdown/gog-parser.md
+++ b/src/lang/ru-RU/markdown/gog-parser.md
@@ -1,7 +1,7 @@
-# GOG Galaxy Parser
+# Анализатор GOG Galaxy
-This parser imports games from `GOG Galaxy` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because GOG Galaxy has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
+Этот анализатор импортирует игры из `GOG Galaxy`, чтобы можно было выбрать для них обложку и добавить их в Steam. Если он не работает, это связано с тем, что GOG Galaxy изменил структуру своей базы данных игр, в этом случае, пожалуйста, сообщите разработчикам SRM, и мы решим эту проблему.
-## Compatibility
+## Совместимость
-This parser is currently functional on `Windows` systems only.
+В настоящее время этот анализатор работает только в системах `Windows`.
diff --git a/src/lang/ru-RU/markdown/image-pool.md b/src/lang/ru-RU/markdown/image-pool.md
index 8b54cf72d9..255e41127c 100644
--- a/src/lang/ru-RU/markdown/image-pool.md
+++ b/src/lang/ru-RU/markdown/image-pool.md
@@ -1,3 +1,5 @@
-# Image pool `[supports variables]`{.noWrap}
+#
-Default value is `${fuzzyTitle}`{.noWrap}. This setting is used to allow different apps share the same images -- same "image pool", or allow unique image pool per app. To use unique image pool per app just set it to something unique. For example `${fuzzyTitle} SNES`{.noWrap}.
+.
+
+This field is used to allow games from different parsers to share the same images (i.e. the same "image pool") if they have the same title. If you want different parsers not to share images for games with the same title, just set this field to something unique, for example `${fuzzyTitle} SNES`{.noWrap} or `${fuzzyTitle} ${parserTitle}`{.noWrap}.
diff --git a/src/lang/ru-RU/markdown/image-providers.md b/src/lang/ru-RU/markdown/image-providers.md
index 0b778780c6..228cb8ba5d 100644
--- a/src/lang/ru-RU/markdown/image-providers.md
+++ b/src/lang/ru-RU/markdown/image-providers.md
@@ -1,7 +1,7 @@
-# Image providers
+# Провайдеры графических материалов
-Here you can select image providers that are used to retrieve images. This option is for this configuration only.
+Здесь вы можете выбрать поставщиков графических материалов (онлайн-источники обложек игры), которые используются SRM для получения артов для игр.
-## Similar option in "Settings" menu
+## Аналогичная опция в меню «Настройки»
-Settings menu has "Enabled providers" which enable image providers globally -- if it's not enabled in Settings, it won't work.
+В меню настроек есть пункт «Включенные провайдеры», который включает провайдеров изображений глобально – если он не включен в настройках, он не будет работать.
diff --git a/src/lang/ru-RU/markdown/intro.md b/src/lang/ru-RU/markdown/intro.md
index f8d5fcabda..aa6f27bb8e 100644
--- a/src/lang/ru-RU/markdown/intro.md
+++ b/src/lang/ru-RU/markdown/intro.md
@@ -1,15 +1,15 @@
-# Welcome to parser configuration!
+# Добро пожаловать в конфигурацию анализатора!
-Configuring a parser might look overwhelming at first, but it is easier than you think. If you are lost, click on near option label to see related information which might be useful for you.
+Поначалу настройка анализатора может показаться непосильной задачей, но это проще, чем вы думаете. Если вы заблудились, нажмите на рядом с ярлыком опции, чтобы увидеть связанную информацию, которая может быть вам полезна.
-Also, don't forget to check FAQ. If you still got questions about setting up configuration, visit our official SRM group at [Steam](http://steamcommunity.com/groups/steamrommanager) or our official [Discord](https://discord.gg/bnSVJrz) group.
+Также, не забудьте посмотреть наш FAQ. Если у вас остались вопросы по настройкам, посетите нашу официальную группу SRM в [Steam](http://steamcommunity.com/groups/steamrommanager) или в официальный сервер [Discord](https://discord.gg/bnSVJrz).
-## Configuration color code
+## Коды цветов настройки
-After saving parser configuration, **1** of **3** colors will be shown next to its title:
+После сохранения конфигурации анализатора рядом с его названием будет показан **1** из **3** цветов:
- -- Enabled configuration. This configuration will be used when generating a list in **preview** page.
+ -- Включена конфигурация. Эта конфигурация будет использоваться при создании списка на странице **Добавить игры**.
- -- Unsaved changes. This configuration will not be used when generating a list in **preview** page, however earlier **saved** version will be used instead.
+ -- Несохраненные изменения. Эта конфигурация не будет использоваться при создании списка на странице **Добавить игры**, вместо нее будет использоваться более ранняя версия **сохраненная**.
- -- Disabled configuration. This configuration will not be used when generating a list in **preview** page.
\ No newline at end of file
+ -- Отключена конфигурация. Эта конфигурация не будет использоваться при создании списка на странице **Добавить игры**.
\ No newline at end of file
diff --git a/src/lang/ru-RU/markdown/itch-io-parser-input.md b/src/lang/ru-RU/markdown/itch-io-parser-input.md
index 4b0057c170..e8c579c673 100644
--- a/src/lang/ru-RU/markdown/itch-io-parser-input.md
+++ b/src/lang/ru-RU/markdown/itch-io-parser-input.md
@@ -1,9 +1,9 @@
-# itch.io Parser specific inputs
+# Особые входные данные анализатора itch.io
-## itch.io AppData Path Override
-By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere.
+## Переопределение пути AppData с itch.io
+По умолчанию Steam ROM Manager предполагает, что данные вашего приложения itch.io находятся по адресу `%APPDATA%\itch` на windows `$HOME/.config/itch` на linux и `$HOME/Library/Application Support/itch` на macos. Это поле позволяет вам изменить этот путь, если данные пользователя itch.io находятся в другом месте.
-## itch.io Windows-on-Linux Install Drive Redirect
-On Linux, Windows app locations are recorded with Windows paths, even if running via Proton/Wine. If set, this field replaces the root of game paths. For example, this would change a `C:\\Path\To\Game.exe` to `/Path/To/Game.exe`.
+## itch.io Перенаправление установочного диска Windows на Linux
+В Linux местоположение приложений Windows записывается с путями Windows, даже если они запущены через Proton/Wine. Если установлено, это поле заменяет корень игровых путей. Например, это изменит `C:\\Path\To\Game.exe` на `/Path/To/Game.exe`.
-This field only has an effect on Linux systems.
+Это поле имеет значение только для систем Linux.
diff --git a/src/lang/ru-RU/markdown/itch-io-parser.md b/src/lang/ru-RU/markdown/itch-io-parser.md
index 7f29ffc42d..efe8b531cc 100644
--- a/src/lang/ru-RU/markdown/itch-io-parser.md
+++ b/src/lang/ru-RU/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
-# itch.io Parser
+# Анализатор itch.io
-This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+Этот анализатор импортирует игры из `настольного приложения itch.io`, чтобы можно было выбрать для них обложку и добавить в Steam. Если он не работает, это связано с тем, что itch.io изменил структуру своей базы данных игр, в этом случае сообщите разработчикам SRM, и мы решим эту проблему.
diff --git a/src/lang/ru-RU/markdown/legendary-parser-input.md b/src/lang/ru-RU/markdown/legendary-parser-input.md
index 80ca0bcbbc..13fc979f0a 100644
--- a/src/lang/ru-RU/markdown/legendary-parser-input.md
+++ b/src/lang/ru-RU/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
-# Legendary Parser specific inputs
+# Особые входные данные Legendary анализатора
-## Legendary `installed.json` Path Override
+## Переопределение легендарного пути
-Most users shouldn't use this, as they use the standard `Legendary` installation where installed games manifest will be located at `~/.config/legendary/installed.json`.
+По умолчанию Steam ROM Manager использует `(Get-Command legendary). Путь` в Windows и `which legendary` в Linux и Mac для определения местоположения вашего исполняемого файла Legendary. Это поле позволяет вам отменить этот путь.
-If, however, for some reason your installed games manifest is located in a non-typical location then you can specify the correct manifest path here.
+Указание правильного расположения исполняемого файла Legendary необходимо только в том случае, если вы включили запуск через Legendary (см. ниже), поскольку в противном случае SRM не нужно знать расположение исполняемого файла Legendary.
+
+## Легендарный `installed.json` Переопределение пути
+
+Большинству пользователей это не нужно, так как они используют стандартную установку `Legendary`, где манифест установленных игр будет находиться по адресу `~/.config/legendary/installed.json`.
+
+Если же по какой-то причине манифест установленной игры находится в нетипичном месте, вы можете указать правильный путь к манифесту здесь.
+
+## Запуск через Legendary `[Рекомендуется включить]`
+
+Судя по всему, этот переключатель определяет, будут ли игры запускаться через Legendary или напрямую. Запуск через Legendary дает доступ к онлайн-сервисам Epic.
diff --git a/src/lang/ru-RU/markdown/legendary-parser.md b/src/lang/ru-RU/markdown/legendary-parser.md
index e9db27316c..06481d4b86 100644
--- a/src/lang/ru-RU/markdown/legendary-parser.md
+++ b/src/lang/ru-RU/markdown/legendary-parser.md
@@ -1,8 +1,8 @@
-# Legendary Parser
+# Анализатор Legendary
-This parser imports games from [Legendary](https://github.com/derrod/legendary), the open source commandline alternative to the `Epic Games Store`, so that artwork can be chosen for them and they can be added into Steam.
+Этот анализатор импортирует игры из [Legendary](https://github.com/derrod/legendary), альтернативы командной строки с открытым исходным кодом для `Epic Games Store`, чтобы можно было выбрать для них обложку и добавить их в Steam.
-If it doesn't work it is because has altered the structure of their game manifests, in this case please let the developers of SRM know and we will resolve the issue.
+Если он не работает, значит, изменилась структура их игровых манифестов, в этом случае сообщите разработчикам SRM, и мы решим этот вопрос.
-## Compatibility
-This parser works on `Windows`, `Linux`, and `Mac OS`. It would probably run just fine on your toaster if your toaster has an `installed.json` file somewhere.
+## Совместимость
+Этот анализатор работает на `Windows`, `Linux` и `Mac OS`. Возможно, он будет отлично работать на вашем тостере, если у него где-то есть файл `installed.json`.
diff --git a/src/lang/ru-RU/markdown/local-images.md b/src/lang/ru-RU/markdown/local-images.md
index cff60e5674..490a47ccf6 100644
--- a/src/lang/ru-RU/markdown/local-images.md
+++ b/src/lang/ru-RU/markdown/local-images.md
@@ -1,13 +1,13 @@
-# Local images (optional) `[supports variables]`{.noWrap}
+# Local images `[supports variables]`{.noWrap}
-Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
+Позволяет использовать изображения, хранящиеся локально. Для получения изображений используется [специальная строка glob input](#special-glob-input) поэтому например, вы можете сделать `/path/to/heroes/${title}.@(png|jpg)`. Обратные косые черты могут использоваться для экранирования символов, так что если ваши изображения находятся в `artwork [portraits]`, вы можете сделать `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. .
-Any variable you use in this field that contains special glob characters will have those characters escaped.
+Любая переменная, используемая в этом поле и содержащая специальные символы glob, будет экранирована.
-## Allowed image extensions
+## Разрешенные расширения изображений
-Only `JPEG`{.noWrap}, `JPG`{.noWrap}, `PNG`{.noWrap} and `TGA`{.noWrap} file extensions are supported. Even if parser finds files with other extensions, they are not included into the final list.
+Поддерживаются только расширения файлов `JPEG`{.noWrap}, `JPG`{.noWrap}, `PNG`{.noWrap} и `TGA`{.noWrap}. Даже если анализатор найдет файлы с другими расширениями, они не будут включены в окончательный список.
-## Can you move the directory of local images after saving app list?
+## Можете ли вы переместить каталог локальных изображений после сохранения списка приложений?
-Yes, once the list is saved, local images are copied to a Steam directory where they are renamed to match Steam's APP ID.
+Да, после сохранения списка локальные изображения копируются в каталог Steam, где они переименовываются в соответствии с APP ID Steam.
diff --git a/src/lang/ru-RU/markdown/logger.md b/src/lang/ru-RU/markdown/logger.md
index 150ae0383f..14643cb508 100644
--- a/src/lang/ru-RU/markdown/logger.md
+++ b/src/lang/ru-RU/markdown/logger.md
@@ -1,13 +1,13 @@
-Submitting a report will upload:
+Отправив отчет, вы загрузите его:
-* Your entire SRM configuration (parsers, exceptions, etc).
-* The contents of the `Event Log`.
-* The Steam VDF files that SRM modifies `[Optional]`.
+* Вся ваша конфигурация SRM (анализаторы, исключения и т. д.).
+* Содержимое `Журнала событий`.
+* Файлы Steam VDF, которые SRM изменяет `[Необязательно]`.
-After submitting a report you can:
+После отправки отчета вы можете:
-* View the report by entering the `Report ID` into the [Logs Server](https://logs.jozen.blue).
-* DM the `Report ID` to person helping you on the [SRM Discord](https://discord.gg/bnSVJrz).
-* Delete the report from the [Logs Server](https://logs.jozen.blue) by entering the `Delete Key` instead.
+* Просмотрите отчет, введя `Идентификатор отчета` в [Сервер журналов](https://logs.jozen.blue).
+* Сообщите `Report ID` человеку, помогающему вам в [SRM Discord](https://discord.gg/bnSVJrz).
+* Удалите отчет с сервера [Logs Server](https://logs.jozen.blue), введя вместо этого клавишу `Delete Key`.
-*Anyone with the `Report ID` has full access to your issue report and its attached data!*
+*Любой человек с `Идентификатором отчета` имеет полный доступ к вашему отчету о проблеме и приложенным к нему данным!*
diff --git a/src/lang/ru-RU/markdown/manual-parser-input.md b/src/lang/ru-RU/markdown/manual-parser-input.md
index bc1848d45a..9776a62213 100644
--- a/src/lang/ru-RU/markdown/manual-parser-input.md
+++ b/src/lang/ru-RU/markdown/manual-parser-input.md
@@ -1,8 +1,8 @@
-# Manual Parser specific inputs
+# Особые входные данные пользовательского анализатора
-## Manifests Directory `[Supports Environment Variables]`{.noWrap}
+## Каталог манифестов `[Поддерживает переменные окружения]`{.noWrap}
-The location of the json files you want to turn into steam shortcuts. `Manifests Directory` is expected to be of the form:
+Расположение json-файлов, которые вы хотите превратить в ярлыки steam. `Каталог манифестов`, как ожидается, будет иметь вид:
```
/path/to/manifests
@@ -11,31 +11,36 @@ The location of the json files you want to turn into steam shortcuts. `Manifests
--manifest3.json
...
```
-The names of the files do not matter. What does matter is that each `manifest.json` file is either a single title, like so:
+Имена файлов не имеют значения. Важно то, что каждый файл `manifest.json` имеет одно название, например, так:
```json
{
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args",
+ "appendArgsToExecutable": false
}
```
-Or a list of titles, like so:
+Или список названий, например, так:
```json
[
{
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args".
+ "appendArgsToExecutable": true
},
{
"title": "gameTitle2",
"target": "game2/path/target.sh",
"startIn": "game2/path",
- "launchOptions": "--args2"
+ "launchOptions": "--args2",
+ "appendArgsToExecutable": false
}
]
```
-A typical use case would be to use a single json file per game type, or per year, etc.
+Типичным вариантом является использование одного json-файла для каждого типа игры, года и т. д.
+
+Как и для анализаторов ROM, `appendArgsToExecutable` определяет, будут ли `launchOptions` добавлены к ярлыку `target` или появятся отдельно в виде опций запуска в steam.
diff --git a/src/lang/ru-RU/markdown/manual-parser.md b/src/lang/ru-RU/markdown/manual-parser.md
index fb64b82e09..8c22fa0205 100644
--- a/src/lang/ru-RU/markdown/manual-parser.md
+++ b/src/lang/ru-RU/markdown/manual-parser.md
@@ -1,3 +1,3 @@
-# Manual Parser
+# Ручной анализатор
-This parser is able to turn json files into steam shortcuts. It is useful for the creation of manual shortcuts to applications in Linux (in Windows the shortcut preset may be used instead to parse a directory of `.lnk` files).
+Этот анализатор способен превращать json-файлы в паровые ярлыки. Он полезен для создания ручных ярлыков приложений в Linux (в Windows вместо этого можно использовать предустановку ярлыков для разбора каталога с файлами `.lnk`).
diff --git a/src/lang/ru-RU/markdown/non-srm-shortcuts-parser.md b/src/lang/ru-RU/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..0994d74bc0
--- /dev/null
+++ b/src/lang/ru-RU/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,28 @@
+# Анализатор ярлыков, не относящихся к SRM
+
+Этот анализатор импортирует паровые ярлыки, не относящиеся к SRM, в SRM, чтобы можно было управлять их художественным оформлением. Он не добавляет ярлыки, и поэтому является анализатором `Artwork Only (Только художественное оформление)`. Этот анализатор требует, чтобы поле `Учетные записи пользователей` было установлено.
+
+## Учётные записи пользователей
+
+Используется для ограничения конфигурации для определенных учетных записей пользователей. Чтобы задать учетные записи пользователей, необходимо использовать следующий синтаксис:
+
+```
+```
+
+Вы **должны** использовать имя пользователя, которое вы используете для **входа** в Steam **если** включена опция [use account credentials](#what-does-use-account-credentials-do):
+
+ {.fitImage .center}
+
+Например, так можно указать учетные записи для "Banana" и "Apple":
+
+```
+${Banana}${Apple}
+```
+
+Вы также можете ограничить учетные записи, указав их идентификаторы напрямую. Например:
+
+```
+${56489124}${21987424}
+```
+
+Ограничивает поиск до `steam/userdata/56489124` и `steam/userdata/21987424`.
diff --git a/src/lang/ru-RU/markdown/online-image-queries.md b/src/lang/ru-RU/markdown/online-image-queries.md
index d4a448773b..474a7f23d8 100644
--- a/src/lang/ru-RU/markdown/online-image-queries.md
+++ b/src/lang/ru-RU/markdown/online-image-queries.md
@@ -1,18 +1,18 @@
-# Online image query `[supports variables]`{.noWrap}
+# Онлайн запрос изображений `[поддерживает переменные]`{.noWrap}
-Queries that are used to search for images. In order to set image query, the following syntax must be used:
+Запросы, используемые для поиска изображений. Чтобы задать запрос изображения, необходимо использовать следующий синтаксис:
```
${...}
```
-For example, images for "Legend of Zelda" and "The Legend of Zelda: A Link to the Past" can be queried like this:
+Например, изображения "Legend of Zelda" и "The Legend of Zelda: A Link to the Past" можно запросить следующим образом:
```
${The Legend of Zelda}${The Legend of Zelda: A Link to the Past}
```
-You will most likely want to use parser variables for queries. Which will look like this (also the **default** value):
+Скорее всего, вы захотите использовать переменные парсера для запросов. Это будет выглядеть следующим образом (также значение **default**):
```
${${fuzzyTitle}}
```
-The legacy **greedy** mode can be enabled by setting query to:
+Устаревший режим **greedy** можно включить, задав параметру query значение:
```
${${fuzzyTitle}}${${title}}
```
diff --git a/src/lang/ru-RU/markdown/parser-env-variables.md b/src/lang/ru-RU/markdown/parser-env-variables.md
index 3b186a70f7..cf4eff0c6a 100644
--- a/src/lang/ru-RU/markdown/parser-env-variables.md
+++ b/src/lang/ru-RU/markdown/parser-env-variables.md
@@ -1,15 +1,17 @@
-## Environment variables
-These variables are pre parsed and can be used even in the Rom Directory, Steam Directory, Executable Location, and Start In Dir fields.
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------------- |
-| `${/}` | System specific directory separator: `\` or `/` |
-| `${srmdir}` | Directory of portable SRM executable |
-| `${steamdirglobal}` | Global steam directory, specified in `Settings` |
-| `${accountsglobal}` | Global user accounts, specified in `Settings` |
-| `${romsdirglobal}` | Global ROMs directory, specified in `Settings` |
-| `${retroarchpath}` | Path to Retroarch executable, specified in `Settings` |
-| `${racores}` | Directory of retroarch cores, specified in `Settings` |
-| `${localimagesdir}` | Directory of your local images, specified in `Settings` |
+## Переменные среды
+Эти переменные предварительно разобраны и могут быть использованы даже в полях Rom Directory, Steam Directory, Executable Location и Start In Dir.
+| Переменная (без учета регистра) | Соответствующее значение |
+| -------------------------------:|:----------------------------------------------------------------- |
+| `${/}` | Системный разделитель каталогов: `\` или `/` |
+| `${srmdir}` | Каталог переносимого исполняемого файла SRM |
+| `${steamdirglobal}` | Глобальный каталог steam, указанный в `Настройках` |
+| `${accountsglobal}` | Глобальные учетные записи пользователей, указанные в `Настройках` |
+| `${romsdirglobal}` | Глобальный каталог ПЗУ, указанный в `Настройках` |
+| `${retroarchpath}` | Путь к исполняемому файлу Retroarch, указанный в `Настройках` |
+| `${racores}` | Каталог ядер retroarch, указанный в `Настройках` |
+| `${localimagesdir}` | Каталог ваших локальных изображений, указанный в `Настройках` |
-The utility of the environment variable `${srmdir}` is to make SRM fully portable, eg if you wanted to have the directory layout `D:\Games\Roms` and `D:\Games\PortableSRM\SRM.exe` then setting the field Roms Directory to be `${srmdir}${/}..${/}Roms` would allow you to move the Games directory somewhere else without breaking your setup.
+Смысл переменной окружения `${srmdir}` в том, чтобы сделать SRM полностью переносимым, например, если бы вы хотели иметь каталог `D:\Games\Roms` и `D:\Games\PortableSRM\SRM.exe`, то установка поля Roms Directory в `${srmdir}${/}..${/}Roms` позволила бы вам переместить каталог Games в другое место без нарушения настроек.
+
+Функциональные переменные также можно использовать в полях, допускающих переменные окружения (например, `${os:win|C:\path\to\startdir|${os:linux|/path/to/startdir}}`)
diff --git a/src/lang/ru-RU/markdown/parser-variables.md b/src/lang/ru-RU/markdown/parser-variables.md
index 7e9eb636ff..5db4b73bee 100644
--- a/src/lang/ru-RU/markdown/parser-variables.md
+++ b/src/lang/ru-RU/markdown/parser-variables.md
@@ -4,13 +4,13 @@ Here are tables of variables that can be used with options that have `[supports
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -48,6 +48,7 @@ In case executable directory input is left **empty**, `${exePath}`{.noWrap} is e
| `${title}` | Extracted title |
| `${fuzzyTitle}` | Fuzzy matched title |
| `${finalTitle}` | Title which was the end result of title modifier |
+| `${parserTitle}` | The value of the `Parser Title` field |
In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
@@ -65,28 +66,31 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
+${/.*/|${title}} //Подходит ко всему
+${/(.*)/|${title}} //Захватывает все
+${/(\(.*?\))/|${title}|} //Захватывает все скобки и заменяет их ничем
+${/(\(Disc\s?[0-9]\))/|${title}} //Захватывает часть "Диск...".
+${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Захватывает часть "Диск..." и преобразует ее в верхний регистр
+${rdc|${title}} //Замените диакритические знаки (в данном случае: é -> e)
+file${os:linux|.so|${os:win|.dll}} //Выбор правильного расширения файла для ОС
```
-will be replaced with these:
+
+будут заменены на эти:
+
```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
+Pokémon (США) (Disc 1).iso
+Pokémon (США) (Disc 1).iso
Pokémon.iso
-(Disc 1)
-(DISC 1)
+(Диск 1)
+(ДИСК 1)
Pokemon (USA) (Disc 1).iso
---On linux:
+-- На linux:
file.so
---On Windows:
+-- На Windows:
file.dll
---On Mac OS:
+-- На Mac OS:
file
```
diff --git a/src/lang/ru-RU/markdown/parsers-list.md b/src/lang/ru-RU/markdown/parsers-list.md
index 1e5e43f80f..6ab3846611 100644
--- a/src/lang/ru-RU/markdown/parsers-list.md
+++ b/src/lang/ru-RU/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# Parsers
-In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**
diff --git a/src/lang/ru-RU/markdown/rom-directory.md b/src/lang/ru-RU/markdown/rom-directory.md
index 555452224f..5b15d2e2b7 100644
--- a/src/lang/ru-RU/markdown/rom-directory.md
+++ b/src/lang/ru-RU/markdown/rom-directory.md
@@ -1,3 +1,3 @@
-# ROMs directory `[supports environment variables]`
+# ROMs directory `[supports env variables]`
Starting directory for game or app files.
diff --git a/src/lang/ru-RU/markdown/settings.md b/src/lang/ru-RU/markdown/settings.md
index c35d49e806..dc2f3a00ce 100644
--- a/src/lang/ru-RU/markdown/settings.md
+++ b/src/lang/ru-RU/markdown/settings.md
@@ -1,31 +1,51 @@
-## General Settings
-### Offline mode `[Recommend disabled]`
-
+## Общие настройки
+### Check for updates on start `[Recommend enabled]`
+Check if an update for SRM is available and prompt to update each time SRM launches.
+### Auto kill Steam `[Recommend enabled]`
+SRM will attempt to kill all running instances of Steam whenever it needs to read/write collections information (specifically when saving to steam from `Add Games` and when removing all games from `Settings`).
+### Auto restart Steam `[Recommend enabled]`
+SRM will attempt to restart Steam after killing it and completing whatever collections related task required killing Steam in the first place. Requires `Auto kill Steam` to be enabled.
+### Автономный режим `[Рекомендуется отключить]`
When enabled SRM makes no network requests, useful if you only want to use SRM for local images.
### Automatically clear log before testing parsers `[Recommend enabled]`
When enabled the log is cleared each time a parser is tested.
+## Add Games
### Show current steam images by default `[Recommend enabled]`
When enabled this setting tells SRM to default to whatever artwork is currently in steam for a given app. If it is disabled, then every time SRM is run (and saved) all artwork will be reset.
### Remove shortcuts for disabled parsers `[Recommend disabled]`
When enabled disabling a parser and running SRM will remove all added entries and artwork for the disabled parser. Useful if you want your steam library to be in 1-1 correspondence with enabled parsers.
-
+### Disable saving of steam categories `[Recommend disabled]`
+SRM will not write any collections information when saving to Steam. This allows SRM to perform its tasks while Steam is still running, at the obvious cost that added games will not be categorized.
+### Hide Steam username from Add Games
+Steam does not allow user's to alter their Steam usernames. In some cases (childish names, dead names, etc), users may no longer wish to see their Steam usernames. This setting hides it from `Add Games`.
+### Remove all added games and controllers
+Undo all SRM added changes from Steam.
+### Remove all controllers only
+Undo all SRM added controller settings from Steam.
## Fuzzy Matcher Settings
### Log matching results `[Recommend disabled]`
When enabled more verbose logs appear for the fuzzy title matcher in the `Event log`. Useful for debugging incorrect fuzzy matches.
-
### Reset fuzzy list
Resets the stored list of titles used for fuzzy matching to the list of titles returned by `SteamGridDB` (removes any user added titles).
### Reset fuzzy cache
Clears the cache of titles that fuzzy matching has already seen (try this if changes you make to fuzzy list are not resulting in changes to titles in SRM).
-
## Image provider settings
-### Preload retrieved images `[Recommend disabled]`
-When enabled, SRM will pull all available artwork for every game, rather than pulling one piece of artwork at a time as the user flips through the images. Don't enable this unless you have a good reason and a very small library of games, otherwise it could result in very large (slow) network requests.
+### Artwork loading strategy `[Recommend Load artwork lazily]`
+This is the strategy SRM uses to pull artwork thumbnails for the `Add Games` UI. If you are parsing a lot of games, `Load artwork lazily` is recommended. `Preload first artwork` will try to pull the first piece of artwork for each game in each artwork category, and `Preload all artwork` will try to pull all available artwork for each game in each artwork category. `Preload all artwork` will cause network and performance issues unless the number of games is quite small (less than `30` or so).
### Enabled providers
-Global setting to disable certain providers. Currently the only image provider is `SteamGridDB` since ConsoleGrid and RetroGaming.cloud are defunct.
-
+Global setting to enable/disable particular image providers. Current options are `SteamGridDB` and `Steam Official`.
+### DNS manual override
+Set this if you want SRM to do DNS resolution internally, as opposed to relying on your system's default DNS server. This solves many timeout issues on the Steam Deck.
+### Batch size for image downloads
+Number of images SRM will attempt to download at once when saving to Steam. May help to lower this if you are receiving timeout errors from SGDB.
+### Nuke artwork choice cache
+SRM attempts to remember your artwork choices, this button forcibly forgets all of them.
+### Nuke local artwork backups
+This deletes all artwork backups created for parsers with `Backup artwork locally` enabled.
## Community Variables and Presets
### Force download custom variables.
Resets the custom variables JSON file that is used for certain presets to whatever its current state is on the SRM github. Useful if the custom variables JSON file has been corrupted.
### Force download custom presets.
Resets the JSON files for parser presets to whatever is on the SRM github. Useful if your presets list is not automatically updating for some reason, or has become corrupted.
+### Force download shell scripts
+Re fetches the shell scripts SRM uses to perform certain tasks.
diff --git a/src/lang/ru-RU/markdown/sgdb-api-input.md b/src/lang/ru-RU/markdown/sgdb-api-input.md
index 553f4fda77..7651927a64 100644
--- a/src/lang/ru-RU/markdown/sgdb-api-input.md
+++ b/src/lang/ru-RU/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
This set of options are direct inputs into the APIs of image providers, for example SteamGridDB's [API](https://www.steamgriddb.com/api/v2).
-An interesting quirk of these settings is that re-generating the preview (hitting the `Generate App List` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove App List` button in preview before hitting `Generate App List`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the preview with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
+An interesting quirk of these settings is that re-generating the game list in Add Games (hitting the `Refresh` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove from Steam` button in Add Games before hitting `Refresh`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the game list with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
## SteamGridDB
diff --git a/src/lang/ru-RU/markdown/start-in-directory.md b/src/lang/ru-RU/markdown/start-in-directory.md
index 86cf962c23..df84a987d5 100644
--- a/src/lang/ru-RU/markdown/start-in-directory.md
+++ b/src/lang/ru-RU/markdown/start-in-directory.md
@@ -1,6 +1,6 @@
-# "Start In" directory (optional) `[supports environment variables]`{.noWrap}
+# "Start In" directory `[supports env variables]`
-By default "Start In" directory is set to executable's directory:
+If `"Start In" Directory` is unset it defaults to the executable's directory. If not executable is set, it defaults to the directory of the ${filePath} variable:
 {.fitImage.center}
@@ -11,4 +11,5 @@ This option allows you to specify any directory you want as a "Start In" directo
It is useful when you're using batch files to start emulator and a game, but emulator requires a specific "Start In" directory to work properly.
## Shortcut Passthrough
+
If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the directory of the target of that shortcut. In the future, it will be overridden with the start in directory of that shortcut.
diff --git a/src/lang/ru-RU/markdown/steam-category.md b/src/lang/ru-RU/markdown/steam-category.md
index 079073dab9..677ea3d0ef 100644
--- a/src/lang/ru-RU/markdown/steam-category.md
+++ b/src/lang/ru-RU/markdown/steam-category.md
@@ -1,21 +1,13 @@
-# Steam category (optional) `[supports variables]`{.noWrap}
+# Steam category`{.noWrap}
+
+Hit the little plus sign to add your first category.
-Also known as "tags", can be used to group apps in Steam. In order to set Steam category, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify categories for "WII" and "GBA" (paired with "ROMS") category:
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
This how "WII" category will look like in Steam:

## Emojis and non-Standard Unicode Characters
+
Please not that this field works just fine with emojis like `🎮` work just fine in category names.
You can find a list of them here: [https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/ru-RU/markdown/steam-directory.md b/src/lang/ru-RU/markdown/steam-directory.md
index b15010e819..bb82bc6a97 100644
--- a/src/lang/ru-RU/markdown/steam-directory.md
+++ b/src/lang/ru-RU/markdown/steam-directory.md
@@ -1,4 +1,4 @@
-# Steam directory `[supports environment variables]`{.noWrap}
+# Steam directory `[supports env variables]`
Must be a valid Steam directory which contains Steam executable. In order for Steam account to be detected, user must have logged in at least once.
diff --git a/src/lang/ru-RU/markdown/steam-parser-input.md b/src/lang/ru-RU/markdown/steam-parser-input.md
index 75f21d380d..1174b71b64 100644
--- a/src/lang/ru-RU/markdown/steam-parser-input.md
+++ b/src/lang/ru-RU/markdown/steam-parser-input.md
@@ -1,4 +1,4 @@
-# Steam Parser specific inputs
+# Steam Parser Specific Inputs
## Find artwork for games only
If enabled SRM will filter out any Steam applications that are not full games, such as demos and tools like `3DMark` or `Wallpaper Engine`.
diff --git a/src/lang/ru-RU/markdown/steam-parser.md b/src/lang/ru-RU/markdown/steam-parser.md
index b158f676a8..5b93d8bc77 100644
--- a/src/lang/ru-RU/markdown/steam-parser.md
+++ b/src/lang/ru-RU/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Steam parser
-This parser imports steam games into SRM. It does not add shortcuts, but it allows you to set the artwork for your steam games. By default the parser will get games from all user accounts in the steam directory specified — if you would prefer to only get the games for a subset of the accounts then specify them in the `User accounts` field.
-
-## Limitations
-Unfortunately for the time being this parser only works for steam games **that are in at least one category**. The reason for this is that Steam only stores your full list of games locally if they are categorized. Sometimes, for unknown reasons, games will be stored locally regardless and the parser will work, but to be safe the easiest thing to do is just **create a Steam Category** that has all of your Steam games in it.
-
-## User accounts (Optional)
-
-Can be used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
-```
-${...}
-```
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
-
- {.fitImage.center}
-
-For example, this is how you specify account for "Banana" and "Apple":
-
-```
-${Banana}${Apple}
-```
-
-In case the [use account credentials](#what-does-use-account-credentials-do) is disabled, you can still limit accounts by specifying their ids directly:
-
-```
-${56489124}${21987424}
-```
-
-## What does "Skip found accounts with missing data directories" do?
-
-Sometimes Steam's file that contains logins, may contain users that do not have data directory created (might have been manually deleted, etc.). You can specify to skip those accounts by enabling this option.
-
-## What does "Use account credentials" do?
-
-Tries to look for account credentials in Steam directory. In other words -- username. Username then can be used to filter accounts without actually having to know their ids.
-
-### Warning!
-
-If Steam has credential saving disabled, this option will prevent finding user accounts.
+This parser imports steam games into SRM so you can manage their artwork. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
\ No newline at end of file
diff --git a/src/lang/ru-RU/markdown/title-from-variable.md b/src/lang/ru-RU/markdown/title-from-variable.md
index bb6e4a52a2..6aa467e98c 100644
--- a/src/lang/ru-RU/markdown/title-from-variable.md
+++ b/src/lang/ru-RU/markdown/title-from-variable.md
@@ -1,43 +1,40 @@
-# Title from custom variable (optional)
+# Title from custom variable
-Allows to overwrite extracted title with a custom variable. This is done right after title extraction, meaning that the replaced title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+Allows one to overwrite the extracted title with a custom variable, pulled from the `json` files described below. This happens right after title extraction, meaning that the new title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+
+Title matching is limited to specific groups of custom variables. For example, this is how you specify groups "FBN" and "PSN":
-Title matching can be limited to specific groups of custom variables. In order to specify groups, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify groups for "RPCS3" and "rpcs3":
```
-${RPCS3}${rpcs3}
+${RPCS3}${PSN}
```
-Make sure you **toggle enable to on**.
-
-
-## Case-insensitive option
-
-If this option is enabled, case-insensitive matching will be done and first matched custom variable will be used.
-
-## Note. This feature is **experimental**
+# How it works
-Basically, it might change in the future release (very unlikelly). Furthermore, currently the only way to add variables is to create/edit `customVariables.json` used by SRM directly.
+There are two variable files, `customVariables.json` which is maintained by SRM (don't change this one, your changes will be overwritten every time SRM restarts) and `userVariables.json` which is where you should put your own variables. Both files are located in SRM's `Config Directory`.
-This file is/shoud be located in SRM's `userData` directory.
-
-SRM will throw error unless the following JSON structure is used:
+Both `customVariables.json` and `userVariables.json` have the same JSON structure. SRM will throw an error unless the following JSON structure is used:
```
{
- "RPCS3": {
+ "Group1": {
"NPUB30698": "Catherine",
"NPUB30024": "1942: Joint Strike",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
+ "Group2": {
+ "The Legend Of Zelda": "The Legend Of Link",
+ ...
},
...
}
```
-Then if your user glob were `MyDir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `MyDir`, you would set the title from custom variable field to `${Custom Stuff}` to obtain a final title of "The Legend of Link".
+Then if your user glob were `romsdir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `romsdir`, you would set the title from custom variable field to `${Group2}` to obtain a title of "The Legend of Link".
+
+## Case-insensitive variables
+
+If enabled, case-insensitive matching will be done and first matched custom variable will be used.
+
+## Skip file if variable not found
+
+If enabled, titles that don't match a variable will be excluded.
diff --git a/src/lang/ru-RU/markdown/title-modifier.md b/src/lang/ru-RU/markdown/title-modifier.md
index 791e000e27..4ecb2d02db 100644
--- a/src/lang/ru-RU/markdown/title-modifier.md
+++ b/src/lang/ru-RU/markdown/title-modifier.md
@@ -1,9 +1,11 @@
# Title modifier `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting can be used to prepend or append desired characters to a title which will be added to Steam. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset. This setting can be used to prepend or append desired characters to a Steam shortcut's `Title`. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+
```
${fuzzyTitle} (1.7.5)
```
+
You can use `${title}`{.noWrap} or any other variable to construct the final title.
This setting influences Steam's APP ID.
diff --git a/src/lang/ru-RU/markdown/uplay-parser-input.md b/src/lang/ru-RU/markdown/uplay-parser-input.md
index f40bbcd928..3a54e84b1a 100644
--- a/src/lang/ru-RU/markdown/uplay-parser-input.md
+++ b/src/lang/ru-RU/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# Unique inputs for UPlay Parser
+# UPlay Parser Specific Inputs
+
## Ubisoft Directory Override
By default Steam ROM Manager assumes your UPlay install is located in `C:\Program Files (x86)\Ubisoft`. This field allows you to override that path if your UPlay installation is elsewhere.
## Launch Via UPlay `[Recommend disabled]`
-
What it sounds like, this toggle let's you set whether games will launch via UPlay or directly from the game's executable.
For UPlay this doesn't matter too much as UPlay games will automatically launch UPlay in the background even when launched from the executable. Steam Overlay will not work when `Launch via UPlay` is enabled, whereas both Steam and Ubisoft overlays work when `Launch via UPlay` is disabled.
diff --git a/src/lang/ru-RU/markdown/user-accounts.md b/src/lang/ru-RU/markdown/user-accounts.md
index 99e4ea0bee..7a4b87ed88 100644
--- a/src/lang/ru-RU/markdown/user-accounts.md
+++ b/src/lang/ru-RU/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# User accounts (Optional)
+# User accounts
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
+This field is used to limit SRM's effects to specific user accounts. It can be set to `Global` or over ridden per parser.
-`${...}`
+## Внимание
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either:
-
-* The account id is the name of the account directory that appears in `/path/to/steam/userdata`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
-
-## Warning
-
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and `Choose Accounts` will only be able to pull your `Steam IDs`. Если вы хотите использовать `Логин Steam`, зайдите в `Steam > Настройки > Безопасность` и отключите `Не сохранять данные аккаунта на этом компьютере`, затем перезапустите Steam и SRM.
diff --git a/src/lang/ru-RU/markdown/user-exceptions.md b/src/lang/ru-RU/markdown/user-exceptions.md
index a53dd0d6d9..a6e47de497 100644
--- a/src/lang/ru-RU/markdown/user-exceptions.md
+++ b/src/lang/ru-RU/markdown/user-exceptions.md
@@ -12,7 +12,7 @@ The `Extracted Title` field matches in two ways:
Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`.
-Exceptions generated from `Preview` will always be in the form `Extracted Title ${id:XXXXXX}`.
+Exceptions generated from `Add Games` will always be in the form `Extracted Title ${id:XXXXXX}`.
## New Display Title
diff --git a/src/lang/ru-RU/markdown/what-is-app-id.md b/src/lang/ru-RU/markdown/what-is-app-id.md
index 35f46082fd..a28e639f1c 100644
--- a/src/lang/ru-RU/markdown/what-is-app-id.md
+++ b/src/lang/ru-RU/markdown/what-is-app-id.md
@@ -15,4 +15,4 @@ Steam APP ID must not be identical. This can be achieved by changing **Title mod
- Final app title;
- Command line arguments.
-Most of the time command line will contain unique game path which should allow to generate unique APP IDs.
+Большинство командной строки будет содержать уникальный путь игры, который позволит генерировать уникальные APP ID.
diff --git a/src/lang/ru-RU/markdown/what-is-glob.md b/src/lang/ru-RU/markdown/what-is-glob.md
index 2cb2d69eae..d34c66828c 100644
--- a/src/lang/ru-RU/markdown/what-is-glob.md
+++ b/src/lang/ru-RU/markdown/what-is-glob.md
@@ -1,3 +1,3 @@
# What is glob?
-Glob is a pattern that describes a file path using wildcards. For example, `*.txt` will match any file that ends with a `.txt` extension. In addition to normal wildcards, other **special** characters can be used to specify a more complex patterns making glob based parser a powerful tool for retrieving files.
+Glob is a pattern that describes a file path using wildcards. For example, `*.txt` will match any file that ends with a `.txt` extension. В дополнение к обычным подстановочным знакам, другие ** специальные** символы могут использоваться для указания более сложных шаблонов, что делает анализатор на основе globe мощным инструментом для извлечения файлов.
diff --git a/src/lang/sr-SP/langStrings.json b/src/lang/sr-SP/langStrings.json
index d42bc546d5..60484346ba 100644
--- a/src/lang/sr-SP/langStrings.json
+++ b/src/lang/sr-SP/langStrings.json
@@ -14,17 +14,17 @@
"games": "All Artwork"
},
"by": "by",
- "refreshImages": "Refresh images",
- "saveImage": "Save image to file",
- "addLocalImages": "Add local images",
- "retryDownload": "Retry download",
- "generateAppList": "Parse",
+ "refreshImages": "Refresh artwork",
+ "saveImage": "Save artwork to file",
+ "addLocalImages": "Add local artwork",
+ "retryDownload": "Retry artwork download",
+ "generateAppList": "Refresh",
"saveAppList": "Save to Steam",
"removeAppList": "Remove from Steam",
"remainingImages": "Retrieving urls:",
"stopUrlRetrieving": "Stop",
- "exportSelections": "Export",
- "importSelections": "Import",
+ "exportSelections": "Export art",
+ "importSelections": "Import art",
"backButton": "Back",
"logButton": "Log"
},
@@ -44,46 +44,46 @@
"removingFromCategories": "Removing all added category information",
"writingVDF_entries__i": "Writing VDF files and downloading high res images in batches of ${batchSize}.",
"updatingKnownSteamDirList": "Updating a list of known Steam directories.",
- "retryingDownload__i": "Retrying image download from \"${imageUrl}\" for \"${appTitle}\".",
- "disabledConfigurations__i": "${count} user configuration(s) was/were skipped (disabled by user).",
- "invalidConfigurations__i": "${count} user configuration(s) was/were skipped (invalid).",
+ "retryingDownload__i": "Retrying artwork download from \"${imageUrl}\" for \"${appTitle}\".",
+ "disabledConfigurations__i": "${count} user parser(s) was/were skipped (disabled by user).",
+ "invalidConfigurations__i": "${count} user parser(s) was/were skipped (invalid).",
"executingParsers": "Executing parsers.",
- "shutdownSteam": "Please shutdown Steam if it is running.",
- "noParserConfigurations": "Please create parser configuration in \"Parsers\" menu first.",
+ "shutdownSteam": "If Steam is running, exit Steam.",
+ "noParserConfigurations": "Please create parser in \"Parsers\" menu first.",
"parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
- "allImagesRetrieved": "All available image urls retrieved.",
+ "allImagesRetrieved": "All available artwork urls retrieved.",
"providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
"noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
- "preparingExport": "Preparing export of image choices.",
- "exportProgress__i": "Saving image choices ${progress}.",
- "readingSelections": "Applying imported image choices."
+ "preparingExport": "Preparing export of artwork choices.",
+ "exportProgress__i": "Saving artwork choices ${progress}.",
+ "readingSelections": "Applying imported artwork choices."
},
"errors": {
- "fatalError": "Fatal error occurred in Preview. See event log for details.",
- "fatalError__i": "Fatal Preview Error ${error}",
+ "fatalError": "Fatal error occurred in Add Games. See event log for details.",
+ "fatalError__i": "Fatal Add Games error: ${error}",
"knownSteamDirListIsEmpty": "A list of known Steam directories is empty.",
"steamIsRunning": "Cannot make changes while steam is running!",
"categorySaveError": "Error updating categories. See event log for details.",
"categorySaveError__i": "Category error (shortcuts and artwork will still be added): ${error}",
"controllerSaveError": "Error updating controller templates. See event log for details.",
"controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
- "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
+ "retryingDownload__i": "Artwork download from \"${imageUrl}\" failed for \"${appTitle}\".",
"providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
"unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
"exportError__i": "Could not save selections package folder: ${error}",
"importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
- "importFailError__i": "Could not import image choices: ${error}"
+ "importFailError__i": "Could not import artwork choices: ${error}"
},
"success": {
"writingVDF_entries": "Done adding/removing entries.",
"removingVDF_entries": "Entries have been removed.",
- "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
- "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
+ "exportSuccess__i": "Artwork choices folder successfully saved to \"${path}\"!",
+ "importSelectionsSuccess__i": "Successfully imported ${count} artwork choices!"
}
}
},
"steamParser": {
- "onlyGamesTitle": "Find artwork for games only (no tools)",
+ "onlyGamesTitle": "Find artwork for games only (no tools or demos)",
"onlyInstalledTitle": "Find artwork for installed titles only",
"sourceModsTitle": "Find artwork for unofficial source mods",
"errors": {
@@ -93,16 +93,30 @@
"fatalError__i": "> Steam parser failed with fatal error:\n ${error}"
}
},
+ "nonSRMShortcutsParser": {
+ "errors": {
+ "noSteamAccounts": "> Steam directory specified has no accounts.",
+ "fatalError__i": "> Non-SRM Shortcuts parser failed with fatal error:\n ${error}"
+ }
+ },
"manualParser": {
"manifestsInputTitle": "Manifests Directory",
- "manifestsInputPlaceholder": "/path/to/your/manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"errors": {
"fatalError__i": "> Manual parser failed with fatal error:\n ${error}"
}
},
"epicParser": {
"manifestsInputTitle": "Epic Manifests Directory Override",
- "manifestsInputPlaceholder": "/path/to/Manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"launcherModeInputTitle": "Launch games via Epic for online services",
"errors": {
"invalidManifestsOverride": "> Manifests Override is not a valid directory.",
@@ -112,25 +126,56 @@
}
},
"legendaryParser": {
+ "launcherModeInputTitle": "Launch games via Legendary for online services",
"legendaryInstalledFileTitle": "Legendary installed.json Path Override",
- "legendaryInstalledFilePlaceholder": "/path/to/legendary/installed.json",
+ "legendaryInstalledFilePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary\\installed.json",
+ "Darwin": "/path/to/legendary/installed.json",
+ "Linux": "/path/to/legendary/installed.json"
+ },
+ "legendaryExeOverrideTitle": "Legendary Path Override",
+ "legendaryExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary.exe",
+ "Darwin": "/path/to/legendary",
+ "Linux": "/path/to/legendary"
+ },
"errors": {
"legendaryNotInstalled": "> Legendary installed.json not found",
- "fatalError__i": "> Legendary parser failed with fatal error: \n ${error}"
+ "fatalError__i": "> Legendary parser failed with fatal error:\n ${error}"
+ }
+ },
+ "battleNetParser": {
+ "battleExeOverrideTitle": "Battle.net.exe Path Override",
+ "battleExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Battle.net\\Battle.net.exe",
+ "Darwin": "/path/to/Battle.net.app/Contents/MacOS/Battle.net",
+ "Linux": "/path/to/Battle.net"
+ },
+ "errors": {
+ "battleNotCompatible": "> Battle.net parser is only available on Windows.",
+ "fatalError__i": "> Battle.net parser failed with fatal error:\n ${error}"
}
},
"UWPParser": {
"UWPDirTitle": "XboxGames Directory Override",
- "UWPDirPlaceholder": "/path/to/XboxGames or /path/to/WindowsApps",
+ "UWPDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\XboxGames\\ or C:\\path\\to\\WindowsApps\\",
+ "Darwin": "/path/to/XboxGames/ or /path/to/WindowsApps/",
+ "Linux": "/path/to/XboxGames/ or /path/to/WindowsApps/"
+ },
"UWPLauncherModeTitle": "Launch game as UWP instead of launcher helper",
"errors": {
"fatalError__i": "> UWP parser is not compatible in this platform.",
- "UWPNotCompatible": "> UWP parser failed with fatal error:\n ${error}"
+ "UWPNotCompatible": "> UWP parser is only available on Windows."
}
},
"uplayParser": {
"uplayDirTitle": "Ubisoft Directory Override",
- "uplayDirPlaceholder": "/path/to/Ubisoft/",
+ "uplayDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Ubisoft\\",
+ "Darwin": "/path/to/Ubisoft/",
+ "Linux": "/path/to/Ubisoft/"
+ },
"launcherModeInputTitle": "Launch games via UPlay for online services",
"errors": {
"invalidManifestsOverride": "> Uplay Directory Override is not a valid directory.",
@@ -142,8 +187,14 @@
},
"gogParser": {
"galaxyExeOverrideTitle": "Galaxy Path Override",
- "galaxyExeOverridePlaceholder": "/path/to/GalaxyClient.exe",
+ "galaxyExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\GalaxyClient.exe",
+ "Darwin": "/path/to/GOG Galaxy.app/Contents/MacOS/GOG Galaxy",
+ "Linux": "/path/to/GalaxyClient"
+ },
"launcherModeInputTitle": "Launch games via GOG Galaxy",
+ "parseLinkedExecsTitle": "Parse linked executables from GOG Galaxy",
+ "parseRegistryEntries": "Parse using Registry instead of Galaxy DB",
"errors": {
"invalidGalaxyExeOverride": "> Galaxy Client Override is not a valid path.",
"fatalError__i": "> GOG Galaxy parser failed with fatal error:\n ${error}",
@@ -153,7 +204,11 @@
},
"amazonGamesParser": {
"exeOverrideTitle": "Amazon Games Path Override",
- "exeOverridePlaceholder": "/path/to/Amazon Games.exe",
+ "exeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Amazon Games.exe",
+ "Darwin": "/path/to/Amazon Games.app/Contents/MacOS/Amazon Games",
+ "Linux": "/path/to/Amazon Games"
+ },
"launcherModeInputTitle": "Launch games via Amazon Games",
"errors": {
"invalidExeOverride": "> Amazon Games Installation Override is not a valid directory.",
@@ -164,7 +219,11 @@
},
"itchIoParser": {
"itchIoAppDataOverrideTitle": "itch.io AppData Directory Override",
- "itchIoAppDataOverridePlaceholder": "/path/to/itch",
+ "itchIoAppDataOverridePlaceholder": {
+ "Windows_NT": "C:\\AppData\\itch\\",
+ "Darwin": "~/Library/Application Support/itch/",
+ "Linux": "~/.config/itch/"
+ },
"itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Windows-on-Linux Install Drive Redirect",
"itchIoWindowsOnLinuxInstallDriveRedirectPlaceholder": "/mnt/d/",
"errors": {
@@ -177,7 +236,11 @@
},
"eaDesktopParser": {
"eaGamesDirTitle": "EA Games Directory Override",
- "eaGamesDirPlaceholder": "/path/to/EA Games/",
+ "eaGamesDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\EA Games\\",
+ "Darwin": "/path/to/EA Games/",
+ "Linux": "/path/to/EA Games/"
+ },
"eaLauncherModeTitle": "Launch games via EA Desktop",
"errors": {
"fatalError__i": "> EA Desktop parser failed with fatal error:\n ${error}",
@@ -186,7 +249,7 @@
}
},
"globParser": {
- "inputTitle": "User's glob",
+ "inputTitle": "Search glob",
"inputPlaceholder": "${title}.@(iso|ISO)",
"errors": {
"noTitle__md": "> File glob must contain `${title}`!",
@@ -203,7 +266,7 @@
}
},
"globRegexParser": {
- "inputTitle": "User's glob-regex",
+ "inputTitle": "Search glob-regex",
"inputPlaceholder": "${/valid regex/}",
"errors": {
"noRegex__md": "> File glob must contain `${regex}` where **regex** is your regular expression!",
@@ -226,18 +289,22 @@
"stylesTitle": "Allowed grid styles",
"stylesHeroTitle": "Allowed hero styles",
"stylesLogoTitle": "Allowed logo styles",
- "stylesIconTitle": "Allowed icon styles"
+ "stylesIconTitle": "Allowed icon styles",
+ "sizesTitle": "Allowed banner dimensions",
+ "sizesHeroTitle": "Allowed hero dimensions",
+ "sizesTallTitle": "Allowed portrait dimensions",
+ "sizesIconTitle": "Allowed icon dimensions"
},
"logger": {
"component": {
"noMessages": "No messages are available",
- "error": "ERROR",
- "info": "INFO",
- "success": "SUCCESS",
- "fuzzy": "FUZZY",
- "textWrap": "TEXT-WRAP",
- "autoscroll": "AUTOSCROLL",
- "clearLog": "Clear log",
+ "error": "Error messages",
+ "info": "Info messages",
+ "success": "Success messages",
+ "fuzzy": "Fuzzy messages",
+ "textWrap": "Wrap text",
+ "autoscroll": "Autoscroll",
+ "clearLog": "Clear",
"issueDescription": "Thorough issue description with passable spelling.",
"handleExample": "CoolHandle#1234"
}
@@ -251,40 +318,42 @@
"corruptedVariables__i": "Saved custom variables are invalid!\r\nPermanent variable saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "Custom variables file has been downloaded."
+ "downloaded": "Custom variables file has been updated."
}
}
},
"configPresets": {
"service": {
"error": {
- "failedToDownload__i": "Failed to download configuration presets file. Status: ${error}.",
+ "failedToDownload__i": "Failed to download configuration presets file from commit ${commit}. Status: ${error}.",
"writingError": "Error occurred while saving configuration presets.",
"loadingError": "Error occurred while loading configuration presets.",
"corruptedVariables__i": "Saved configuration presets are invalid!\r\nPermanent file saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "New config presets have been downloaded."
+ "downloaded": "Community presets have been updated."
}
}
},
"settings": {
"component": {
"label": {
- "general": "General settings",
- "imageProviders": "Image provider settings",
- "fuzzy": "Fuzzy matcher settings",
- "environmentVariables": "Environment variable settings",
- "communityPresets": "Community variable/preset settings"
+ "general": "General",
+ "imageProviders": "Artwork Providers",
+ "fuzzy": "Fuzzy Matcher",
+ "environmentVariables": "Environment Variables",
+ "communityPresets": "Community Presets and Custom Variables"
},
"text": {
+ "autoUpdate": "Check for updates on start",
"offlineMode": "Offline mode",
- "removeApps_desc": "all added app entries and controllers",
+ "removeApps_desc": "all added games and controllers",
"removeApps_btn": "Remove",
- "preloadImages": "Preload retrieved images immediately",
+ "preloadImages": "Artwork loading strategy",
"fuzzy_verbose": "Log matching results",
- "fuzzy_filter": "Filter images",
+ "fuzzy_filter": "Filter artwork",
"enabledProviders": "Enabled image providers",
+ "dnsServers": "DNS manual override",
"selectLanguage": "Select language",
"selectTheme": "Select theme",
"resetFuzzy_desc": "fuzzy list",
@@ -292,28 +361,38 @@
"resetFuzzy_btn": "Reset",
"customVariables_desc": "custom variables",
"configPresets_desc": "config presets",
- "showSteamImages": "Show current Steam images by default",
+ "showSteamImages": "Show current Steam artwork by default",
"deleteDisabledShortcuts": "Remove shortcuts for disabled parsers",
"clearLogOnTest": "Automatically clear log before testing parsers",
- "configDir": "Open Config Directory"
+ "configDir": "Config Directory",
+ "steamDir": "Steam Directory"
},
"placeholder": {
"noProviders": "None",
- "steamDirectoryWin": "Typically C:\\Program Files (x86)\\Steam",
- "steamDirectoryMac": "Typically ~/Library/Application Support/Steam",
- "steamDirectoryLinux": "Typically /home/user/.steam/steam",
"userAccounts": "For example ${steamlogin}",
- "romsDirectoryWin": "For example D:\\ROMs",
- "romsDirectoryMac": "For example ~/ROMs",
- "romsDirectoryLinux": "For example ~/ROMs",
- "retroarchPathWin": "For example C:\\Path\\To\\retroarch.exe",
- "retroarchPathLinux": "For example /path/to/retroarch",
- "retroarchPathMac": "For example /path/to/retroarch",
- "raCoresDirectoryWin": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores",
- "raCoresDirectoryLinux": "Typically /lib/x86_64-linux-gnu/libretro/cores",
- "raCoresDirectoryMac": "Typically /Applications/Retroarch.app/Contents/Resources/cores",
- "localImagesDirectoryWin": "For example C:\\Path\\To\\LocalArtwork",
- "localImagesDirectoryUnix": "For example ~/path/to/localartwork"
+ "bySystem": {
+ "Windows_NT": {
+ "steamDirectory": "Typically C:\\Program Files (x86)\\Steam\\",
+ "romsDirectory": "For example D:\\ROMs\\",
+ "retroarchPath": "For example C:\\Path\\To\\Retroarch.exe",
+ "raCoresDirectory": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores\\",
+ "localImagesDirectory": "For example C:\\Path\\To\\LocalArtwork\\"
+ },
+ "Darwin": {
+ "steamDirectory": "Typically ~/Library/Application Support/Steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /Applications/Retroarch.app/Contents/Resources/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ },
+ "Linux": {
+ "steamDirectory": "Typically /home/user/.steam/steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /lib/x86_64-linux-gnu/libretro/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ }
+ }
}
},
"service": {
@@ -331,6 +410,7 @@
"component": {
"about": "About",
"preview": "Preview",
+ "view": "View Games",
"logger": "Log",
"settings": "Settings",
"parsers": "Create Parser",
@@ -352,6 +432,9 @@
"title": "User Exceptions",
"exclude": "Exclude Title",
"excludeArtwork": "Local Artwork Only"
+ },
+ "placeholder": {
+ "sortBy": "Sort By"
}
},
"service": {
@@ -366,8 +449,8 @@
"component": {
"buttons": {
"save": "Save",
- "copy": "Copy",
- "testParser": "Test parser",
+ "copy": "Clone",
+ "testParser": "Test",
"delete": "Delete",
"moveUp": "Move up",
"moveDown": "Move down",
@@ -381,23 +464,23 @@
"opSys__i": "Operating system is \"${os}\"",
"testCompleted": "Parser test is completed.",
"nothingWasFound": "Parser found nothing.",
- "copiedToClipboard": "Configuration copied to clipboard",
+ "copiedToClipboard": "Parser copied to clipboard",
"userExclusions": "User excluded:",
- "excludedFileInfo__i": "[${index}/${total}]: ${filename}",
+ "excludedFileInfo__i": "[${index}/${total}]: ${filename}\n Excluded by \"${exceptionKey}\"",
"removingControllers__i": "Removing controller templates for parser: ${configTitle}",
"fetchingControllerTemplates": "Fetching controller templates"
},
"error": {
"missingAccounts__i": "Following ${count} user account(s) were not found (user must to login to Steam at least once):",
"missingAccountInfo__i": " ${name}",
- "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials (\"Show advanced options -> User accounts -> Use account credentials\").\r\nIf you're seeing this, preview won't be generated for this configuration.",
+ "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials.\r\nIf you're seeing this, Add Games will skip this configuration.",
"cannotParseUserIDs": "Error parsing user accounts:",
"failedToMatch": "Failed to match:",
"failedFileInfo__i": "[${index}/${total}]: ${filename}",
"testFailed": "Testing failed",
"cannotTestInvalid": "Can not test invalid configuration!",
"cannotCopyInvalid": "Can not copy invalid configuration!",
- "failedToCopy": "Failed to copy to clipbard!",
+ "failedToCopy": "Failed to copy to clipboard!",
"cannotFetchTemplates": "Can not fetch controller templates for invalid steam directory!",
"errorRemovingControllers": "Error removing controllers:",
"cannotRemoveControllers": "Can not remove controllers from invalid steam directory!"
@@ -405,8 +488,8 @@
"success": {
"foundAccounts__i": "Found ${count} available user account(s):",
"foundAccountInfo__i": " ${name} (steamID64: ${steamID64}, accountID: ${accountID})",
- "steamCategory__i": "[${index}/${total}]: Steam categories - ${steamCategory}",
- "steamCategoryInfo__i": "[${index}/${total}]: ${steamCategory}",
+ "steamCategories__i": "[${index}/${total}]: Steam categories - ${steamCategories}",
+ "steamCategoriesInfo__i": "[${index}/${total}]: ${steamCategories}",
"exceptionKey__i": "[${index}/${total}]: Exception ID - ${appid}",
"appId__i": "[${index}/${total}]: Legacy App ID - ${appid}",
"shortAppId__i": "[${index}/${total}]: App ID - ${appid}",
@@ -416,20 +499,21 @@
"filePath__i": "[${index}/${total}]: File path - ${filePath}",
"startDir__i": "[${index}/${total}]: Start dir - ${startDir}",
"completeShortcut__i": "[${index}/${total}]: Complete shortcut - ${shortcut}",
- "firstImageQuery__i": "[${index}/${total}]: Image queries - ${query}",
+ "firstImageQuery__i": "[${index}/${total}]: Artwork queries - ${query}",
+ "imagePool__i": "[${index}/${total}]: Artwork pool - ${imagePool}",
"imageQueries__i": "[${index}/${total}]: ${query}",
"defaultImage__i": "[${index}/${total}]: Resolved fallback ${artworkType}:\r\n[${index}/${total}]: ${image}",
"resolvedDefaultImage__i": "[${index}/${total}]: Fallback ${artworkType}:",
- "localImages__i": "[${index}/${total}]: Resolved ${artworkType}:",
- "resolvedLocalImages__i": "[${index}/${total}]: ${artworkType} glob:",
+ "localImages__i": "[${index}/${total}]: Resolved local ${artworkType}:",
+ "resolvedLocalImages__i": "[${index}/${total}]: Local ${artworkType} glob:",
"indexInfo__i": "[${index}/${total}]: ${indexed}",
"removedControllers__i": "Succesfully removed controllers for parser: ${configTitle}",
"fetchedTemplates": "Fetched all controller templates"
},
"label": {
"parserType": "Parser type",
- "configTitle": "Configuration title",
- "steamCategory": "Steam category",
+ "configTitle": "Parser title",
+ "steamCategories": "Steam collections",
"executableModifier": "Executable modifier",
"executableLocation": "Executable",
"romDirectory": "ROMs directory",
@@ -440,33 +524,56 @@
"titleModifier": "Title modifier",
"fuzzyMatch": "Fuzzy matching",
"executableArgs": "Command line arguments",
- "onlineImageQueries": "Online image query",
- "imagePool": "Image pool",
- "imageProviders": "Image providers",
+ "onlineImageQueries": "Artwork provider search queries",
+ "imagePool": "Artwork pool",
+ "imageProviders": "Artwork providers",
"defaultImage__i": "Fallback ${artworkType}",
"localImages__i": "Local ${artworkType} glob"
},
"placeholder": {
"parserType": "Select parser...",
"configTitle": "My Awesome Parser",
- "steamCategory": "${cat1}${cat2}",
- "steamDirectory": "${steamdirglobal} or /path/to/steam",
- "userAccounts": "${steamuser1}${steamuser2} or ${${accountsglobal}}",
- "titleFromVariable": "${myvariable}",
+ "steamDirectory": {
+ "Windows_NT": "${steamdirglobal} or C:\\path\\to\\Steam\\",
+ "Darwin": "${steamdirglobal} or /path/to/Steam/",
+ "Linux": "${steamdirglobal} or /path/to/Steam/"
+ },
+ "titleFromVariable": "${variableGroup1}${variableGroup2}",
"titleModifier": "${fuzzyTitle} or ${title}",
- "defaultImage__i": "/path/to/fallback_${artworkType}.png",
- "localImages__i": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
- "romDirectory": "/path/to/games/",
+ "defaultImage__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\fallback_${artworkType}.png",
+ "Darwin": "/path/to/fallback_${artworkType}.png",
+ "Linux": "/path/to/fallback_${artworkType}"
+ },
+ "localImages__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\art\\\\${artworkType}\\\\\\${title}.@(png|jpg)",
+ "Darwin": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
+ "Linux": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)"
+ },
+ "onlineImageQueries": "${${fuzzyTitle}} or ${${title}}${${fuzzyTitle}}",
+ "imagePool": "${fuzzyTitle}",
+ "romDirectory": {
+ "Windows_NT": "C:\\path\\to\\games\\",
+ "Darwin": "/path/to/games/",
+ "Linux": "/path/to/games/"
+ },
"glob": "${title}.@(iso|ISO)",
- "executableLocation": "Example: /path/to/emulator.exe",
- "executableArgs": "--arg1 --arg2",
+ "executableLocation": {
+ "Windows_NT": "C:\\path\\to\\emulator.exe",
+ "Darwin": "/path/to/emulator.app",
+ "Linux": "/path/to/emulator"
+ },
+ "executableArgs": "--arg1 --arg2 --launch \"${filePath}\"",
"executableModifier": "\"${exePath}\"",
- "startInDirectory": "/path/to/start/in/dir",
+ "startInDirectory": {
+ "Windows_NT": "C:\\path\\to\\start-in-dir\\",
+ "Darwin": "/path/to/start-in-dir/",
+ "Linux": "/path/to/start-in-dir/"
+ },
"imageProviders": "None",
"multiAPIPlaceholder": "No Filter"
},
"text": {
- "tryToMatchTitle": "Enable Title from Custom Variable",
"skipFileIfVariableWasNotFound": "Skip file if variable was not found",
"caseInsensitiveVariables": "Case-insensitive variables",
"shortcut_passthrough": "Follow .lnk or .desktop to destination (Windows and Linux only)",
@@ -482,18 +589,18 @@
},
"service": {
"info": {
- "updatingConfigurations": "Updating user configurations with new fields"
+ "updatingConfigurations": "Updating user's parsers with new fields"
},
"error": {
- "savingConfiguration": "Error encountered while saving user configurations!",
- "readingConfiguration": "Error encountered while reading user configurations!",
+ "savingConfiguration": "Error encountered while saving user's parsers!",
+ "readingConfiguration": "Error encountered while loading user's parsers!",
"parserTypeMissing": "Cannot save without specifying parser type",
- "corruptedConfiguration__i": "One or more saved parser configurations are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
- "fetcingTemplates": "Error encountered while fetching controllers templates!"
+ "corruptedConfiguration__i": "One or more saved parsers are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
+ "fetchingTemplates": "Error encountered while fetching controllers templates!"
},
"validationErrors": {
"parserType__md": "> Incorrect parser type!",
- "configTitle__md": "> Configuration title is required!",
+ "configTitle__md": "> Parser title field cannot be blank!",
"parserId__md": "> Parser Id is missing, something is horribly wrong.",
"parserInput": {
"noInput": "No inputs are available!",
@@ -501,19 +608,15 @@
"incorrectParser": "Incorrect parser!"
},
"romDir__md": "> ROMs directory is invalid!",
- "userAccounts__md": "> Steam parser requires `User Accounts` field",
+ "userAccounts__md": "> User accounts field is required!",
"steamDir__md": "> Steam directory is invalid!",
"startInDir__md": "> \"Start In\" directory is invalid!",
"executable__md": "> Executable is invalid!",
- "imagePool__md": "> Image pool must not be empty!",
- "defaultImage__md": "> Default image is an invalid path!",
- "titleModifier__md": "> Title modifier must not be empty!",
- "executableModifier__md": "> Executable modifier must not be empty!",
- "variableString__md": "> Uneven number of `${` and `}` pairs. Use `\\` to escape `${` or `}` if you want to use them as characters.",
- "imageProviders__md": "> Incorrect image providers type!",
- "unhandledValidationKey__md": "> Input's validation is unhandled",
- "genericDir__md": "> Directory is invalid",
- "genericPath__md": "> Path is invalid"
+ "defaultImage__md": "> Fallback artwork is an invalid path!",
+ "variableString__md": "> Uneven number of `${` and `}` pairs! Use `\\` to escape `${` or `}` if you want to use them as characters.",
+ "unhandledValidationKey__md": "> Input's validation is unhandled!",
+ "genericDir__md": "> Directory is invalid!",
+ "genericPath__md": "> Path is invalid!"
},
"text": {
"noTitle": "No title!"
@@ -540,7 +643,7 @@
"error": {
"parserNotFound__i": "Parser \"${name}\" not found!",
"tooManyFieldGlobs__md": "> Only one `$(...)$` set is allowed per input.",
- "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** ir **Glob-regex** field.",
+ "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** in **Glob-regex** field.",
"noWinSlashes__md": "> Windows directory character `\\` is not allowed! Use `/` instead."
}
},
@@ -567,11 +670,11 @@
"error": {
"readingVdf__i": "Failed to read from \"${filePath}\".\n ${error}",
"writingVdf__i": "Failed to write to \"${filePath}\".\n ${error}",
- "skippingDMCA__i": "Skipping DMCA'd image for ${title}",
+ "skippingDMCA__i": "Skipping DMCA'd artwork for ${title}",
"corruptedVdf__i": "\"${filePath}\" is corrupted.\n ${error}",
"creatingBackup__i": "Could not create backup for \"${filePath}\".\n ${error}",
"unsupportedMimeType__i": "Mime type (${type}) is unsupported (title - \"${title}\").",
- "imageError__i": "Error occurred while saving/downloading image for \"${title}\". Url: ${url}.\n ${error}"
+ "imageError__i": "Error occurred while saving/downloading artwork for \"${title}\". Url: ${url}.\n ${error}"
}
},
"helpers": {
diff --git a/src/lang/sr-SP/markdown/UWP-parser-input.md b/src/lang/sr-SP/markdown/UWP-parser-input.md
index 1a3f20be1d..8c045eea77 100644
--- a/src/lang/sr-SP/markdown/UWP-parser-input.md
+++ b/src/lang/sr-SP/markdown/UWP-parser-input.md
@@ -1,4 +1,4 @@
-# Unique inputs for UWP Parser
+# UWP Parser Specific Inputs
## Games directory
@@ -8,4 +8,4 @@ Set it to `C:\Program Files\WindowsApps` to grab all UWP applications -- you'll
## Launch as UWP or from GameLaunchHelper.exe
-Gamepass games can be launched both ways, although UWP is preffered.
+Gamepass games can be launched both ways, although UWP is preferred.
diff --git a/src/lang/sr-SP/markdown/UWP-parser.md b/src/lang/sr-SP/markdown/UWP-parser.md
index bfb5a847f3..af4fee0f84 100644
--- a/src/lang/sr-SP/markdown/UWP-parser.md
+++ b/src/lang/sr-SP/markdown/UWP-parser.md
@@ -4,4 +4,4 @@ This parser imports `UWP` games in your Windows OS, having a games library path
## Compatibility
-This parser should only work on `Windows 10` and `Windows 11`.
\ No newline at end of file
+This parser should only work on `Windows 10` and `Windows 11`.
diff --git a/src/lang/sr-SP/markdown/about.md b/src/lang/sr-SP/markdown/about.md
index b5b78d51b7..1dfe83f938 100644
--- a/src/lang/sr-SP/markdown/about.md
+++ b/src/lang/sr-SP/markdown/about.md
@@ -2,7 +2,7 @@
In case you're having trouble with SRM, feel free to visit the [discord](https://discord.gg/bnSVJrz) or the [subreddit](https://www.reddit.com/r/SteamRomManager/) and ask for our help. In order for us to help you, we would like you to provide this info:
-* SRM version: **#{APP[version]}**
+* SRM version: **#{APP[version]}** emudeckText
* Operating System: **#{APP[os]}**
## Useful links
@@ -43,8 +43,9 @@ If you enjoy Steam ROM Manager and want it to continue to be useful also conside
* `CarJem`{.noWrap} - Added the manual parser.
* `MattMckenzy`{.noWrap} - Added ability to import and export image choices.
* `Apalatn`{.noWrap} - Added an install drive redirect option to the itch.io parser.
-* `OneMoreByte` - Made itch.io parser work on linux and mac.
-* `UndarkAido` - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `OneMoreByte`{.noWrap} - Made itch.io parser work on linux and mac.
+* `UndarkAido`{.noWrap} - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `HazardousBackup`{.noWrap} - Added option to GOG parser to parse Registry instead of GOG's DB.
### Community
* `HE Spoke`{.noWrap} - created a community around SRM. Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups. Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
diff --git a/src/lang/sr-SP/markdown/amazon-games-parser-input.md b/src/lang/sr-SP/markdown/amazon-games-parser-input.md
index 7ac728e20b..770697198e 100644
--- a/src/lang/sr-SP/markdown/amazon-games-parser-input.md
+++ b/src/lang/sr-SP/markdown/amazon-games-parser-input.md
@@ -1,4 +1,4 @@
-# Amazon Games Parser specific inputs
+# Amazon Games Parser Specific Inputs
## Amazon Games Path Override
By default Steam ROM Manager assumes your Amazon Games installation is located at `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`. This field allows you to override that path if your Amazon Games installation is elsewhere.
diff --git a/src/lang/sr-SP/markdown/amazon-games-parser.md b/src/lang/sr-SP/markdown/amazon-games-parser.md
index cdfda7c283..eb556fcc6e 100644
--- a/src/lang/sr-SP/markdown/amazon-games-parser.md
+++ b/src/lang/sr-SP/markdown/amazon-games-parser.md
@@ -1,3 +1,3 @@
# Amazon Games Parser
-This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/sr-SP/markdown/battle-net-parser-input.md b/src/lang/sr-SP/markdown/battle-net-parser-input.md
new file mode 100644
index 0000000000..1f03fae4a6
--- /dev/null
+++ b/src/lang/sr-SP/markdown/battle-net-parser-input.md
@@ -0,0 +1,5 @@
+# Battle.net Parser Specific Inputs
+
+## Battle.net.exe Path Override
+
+By default Steam ROM Manager assumes your `Battle.net` executable is located at `C:\Program Files (x86)\Battle.net\Battle.net.exe`. This field allows you to override that if your `Battle.net` is installed elsewhere.
diff --git a/src/lang/sr-SP/markdown/battle-net-parser.md b/src/lang/sr-SP/markdown/battle-net-parser.md
new file mode 100644
index 0000000000..c3ffb10b67
--- /dev/null
+++ b/src/lang/sr-SP/markdown/battle-net-parser.md
@@ -0,0 +1,5 @@
+# Battle.net Parser
+
+This parser imports games from the `Battle.net` app, so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Blizzard has altered the structure of their database files, in which case please let the developers of SRM know and we will resolve the issue.
+
+The `Battle.net` parser is somewhat special in that it uses a shell script at `${srmDir}/scripts/bnet.ps1` in order to launch `Battle.net`, wait an appropriate amount of time, and only then launch the actual title.
diff --git a/src/lang/sr-SP/markdown/config-title.md b/src/lang/sr-SP/markdown/config-title.md
index ed2eeef493..abadc31951 100644
--- a/src/lang/sr-SP/markdown/config-title.md
+++ b/src/lang/sr-SP/markdown/config-title.md
@@ -1,3 +1,5 @@
-# Configuration title
+# Parser title
-Title to save user configuration as. Does not have to be unique, but is required.
\ No newline at end of file
+Title of the parser. Does not have to be unique, but is required.
+
+This field will not affect what is added to `Steam` in any way.
diff --git a/src/lang/sr-SP/markdown/controller-templates.md b/src/lang/sr-SP/markdown/controller-templates.md
index 37c943f370..686b3ba13a 100644
--- a/src/lang/sr-SP/markdown/controller-templates.md
+++ b/src/lang/sr-SP/markdown/controller-templates.md
@@ -17,10 +17,10 @@ In the SRM parser:
Currently, SRM pulls all of the default (Valve made) templates for each controller as well as all of the user defined templates that end in `(SRM)`.
-* Select your templates and save the parser. The controller configsets will be applied once you hit `Save App List` in the preview.
+* Select your templates and save the parser. The controller configsets will be applied once you hit `Save to Steam` in the Add Games.
* To unset controller configs, you may either `Remove All Added App Entries` from global settings (this deletes all SRM made changes to your steam data) or hit `Unset All Controllers` in the parser (this only removes controller settings for the steam directory and user specified in that parser).
-Once this is done you can generate and save the preview as usual, and the template will be applied to all the titles in the parser.
+Once this is done you can parse and add games to steam as usual, and the templates will be applied to all the titles in the parser.
diff --git a/src/lang/sr-SP/markdown/default-image.md b/src/lang/sr-SP/markdown/default-image.md
index 47e3f9261e..7bf4e6413d 100644
--- a/src/lang/sr-SP/markdown/default-image.md
+++ b/src/lang/sr-SP/markdown/default-image.md
@@ -1,4 +1,4 @@
-# Default image (optional) `[supports variables]`{.noWrap}
+# Default image `[supports variables]`{.noWrap}
Allows one to use an image, stored locally, as a default/fallback image. A [special glob input](#special-glob-input) string is used to retrieve images. Only the first retrieved image is used.
diff --git a/src/lang/sr-SP/markdown/ea-desktop-parser-input.md b/src/lang/sr-SP/markdown/ea-desktop-parser-input.md
index 7990efb5b5..355ba68c8e 100644
--- a/src/lang/sr-SP/markdown/ea-desktop-parser-input.md
+++ b/src/lang/sr-SP/markdown/ea-desktop-parser-input.md
@@ -1,4 +1,4 @@
-# EA Desktop Parser specific inputs
+# EA Desktop Parser Specific Inputs
## EA Games Directory Override
By default Steam ROM Manager assumes your `EA Desktop` games are installed at ``C:\Program Files\EA Games\`. This field allows you to change that to wherever your games are installed, e.g.``D:\Games\EA Games`.
diff --git a/src/lang/sr-SP/markdown/epic-parser-input.md b/src/lang/sr-SP/markdown/epic-parser-input.md
index 88b5bd915c..c175be5c5e 100644
--- a/src/lang/sr-SP/markdown/epic-parser-input.md
+++ b/src/lang/sr-SP/markdown/epic-parser-input.md
@@ -1,4 +1,4 @@
-# Epic Games Store specific inputs
+# Epic Games Store Specific Inputs
## Manifests Directory Override
diff --git a/src/lang/sr-SP/markdown/executable-arguments.md b/src/lang/sr-SP/markdown/executable-arguments.md
index 8b5121722a..c19b665402 100644
--- a/src/lang/sr-SP/markdown/executable-arguments.md
+++ b/src/lang/sr-SP/markdown/executable-arguments.md
@@ -1,4 +1,4 @@
-# Command line arguments (optional) `[supports variables]`{.noWrap}
+# Command line arguments `[supports variables]`{.noWrap}
Arguments which are appended to executable to produce final shortcut. Most of the time you will want to set it using provided parser variables.
@@ -49,7 +49,7 @@ Arguments which are appended to executable to produce final shortcut. Most of th
### Nestopia (NES/Famicom)
```
-"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
+"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
```
### higan (NES/Famicom, SNES/Famicom, Gameboy, Gameboy Color, Gameboy Advance)
@@ -126,13 +126,13 @@ This setting is used to influence Steam's APP ID.
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -187,6 +187,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -196,7 +197,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/sr-SP/markdown/executable-location.md b/src/lang/sr-SP/markdown/executable-location.md
index b13f57494f..36fbbc9a46 100644
--- a/src/lang/sr-SP/markdown/executable-location.md
+++ b/src/lang/sr-SP/markdown/executable-location.md
@@ -1,4 +1,4 @@
-# Executable (optional) `[supports environment variables]`
+# Executable `[supports env variables]`
Path to emulator's executable. Can be a file or any valid system path.
@@ -6,6 +6,8 @@ Path to emulator's executable. Can be a file or any valid system path.
In some cases you might want to run game from a some kind batch file which will also automatically run the emulator itself. If that is the case, then providing executable is unnecessary.
+The final shortcut will just be `"${filePath}" --command-line-args`.
+
### So, how do I add files to Steam without default executable?
All files retrieved by a parser will be treated as executables instead.
diff --git a/src/lang/sr-SP/markdown/executable-modifier.md b/src/lang/sr-SP/markdown/executable-modifier.md
index c3c5739e86..2131f6964d 100644
--- a/src/lang/sr-SP/markdown/executable-modifier.md
+++ b/src/lang/sr-SP/markdown/executable-modifier.md
@@ -1,102 +1,23 @@
# Executable modifier `[supports variables]`{.noWrap}
-Default value is `"${exePath}"`{.noWrap}. This setting can be used to prepend or append desired characters to an executable which will be added to Steam (`Target` property). For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you can add `"cmd" /k start /min` to it by setting value to:
+Defaults to `"${exePath}"`{.noWrap} if unset. This field can be used to prepend or append desired characters to the executable which will be added to the Steam shortcut's `Target` property. For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you could start `Retroarch` minimized by setting the `Executable Modifier` "cmd" to:
+
```
"cmd" /k start /min "${exePath}"
```
-You can use any other variable to construct the final executable.
-
-This setting influences Steam's APP ID.
-
-
-## Shortcut Passthrough
-If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the target of that shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser.
-
-## Directory variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
-
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
-
-## Name variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------------------------------- |
-| `${exeName}` | Name of executable (without extension) |
-| `${fileName}` | Name of file which was returned by a parser (without extension) |
-
-In case executable directory input is left **empty**, `${exeName}`{.noWrap} is equal to `${fileName}`{.noWrap}.
-
-## Extension variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------------------- |
-| `${exeExt}` | Extension of executable (with a dot) |
-| `${fileExt}` | Extension of file which was returned by a parser (with a dot) |
-In case executable directory input is left **empty**, `${exeExt}`{.noWrap} is equal to `${fileExt}`{.noWrap}.
+In this case the `Target` property would begin with:
-## Path variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:-------------------------------------------------- |
-| `${exePath}` | Full path to an executable |
-| `${filePath}` | Full path to a file which was returned by a parser |
-
-In case executable directory input is left **empty**, `${exePath}`{.noWrap} is equal to `${filePath}`{.noWrap}.
-
-## Parser variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------ |
-| `${title}` | Extracted title |
-| `${fuzzyTitle}` | Fuzzy matched title |
-| `${finalTitle}` | Title which was the end result of title modifier |
-
-In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
+```
+"cmd" /k start /min "C:\RetroArch\retroarch.exe"
+```
-## Function variables
+followed by whatever launch arguments you choose in the `Command Line Arguments` field.
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+You can use any other variable to construct the final executable.
-### Function variable example
+This setting influences Steam's APP ID.
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
-```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
-```
-will be replaced with these:
-```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+## Shortcut Passthrough
---On linux:
-file.so
---On Windows:
-file.dll
---On Mac OS:
-file
-```
+If you enable `Follow .lnk/.desktop to destination` and the glob search finds a `.lnk` or `.desktop` file, ie a shortcut, then the `${filePath}` variable will contain the target of the shortcut rather than the path to the shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the `Command Line Arguments` field in the parser.
diff --git a/src/lang/sr-SP/markdown/glob-parser-input.md b/src/lang/sr-SP/markdown/glob-parser-input.md
index 996ae77ce1..2a43592892 100644
--- a/src/lang/sr-SP/markdown/glob-parser-input.md
+++ b/src/lang/sr-SP/markdown/glob-parser-input.md
@@ -1,4 +1,4 @@
-# Glob Parser specific inputs
+# Glob Parser Specific Inputs
## User's glob
diff --git a/src/lang/sr-SP/markdown/glob-regex-parser-input.md b/src/lang/sr-SP/markdown/glob-regex-parser-input.md
index 22c1f5cea6..6491148a25 100644
--- a/src/lang/sr-SP/markdown/glob-regex-parser-input.md
+++ b/src/lang/sr-SP/markdown/glob-regex-parser-input.md
@@ -1,4 +1,4 @@
-# Glob-regex Parser specific inputs
+# Glob-regex Parser Specific Inputs
## User's glob-regex
@@ -6,7 +6,7 @@ This is where you create your glob for extracting title from file path. Please r
## How does it work?
-In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
+In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
| User's glob | Position |
| --------------------- | --------------------------- |
diff --git a/src/lang/sr-SP/markdown/gog-parser-input.md b/src/lang/sr-SP/markdown/gog-parser-input.md
index 756fa3de77..bf185f2c23 100644
--- a/src/lang/sr-SP/markdown/gog-parser-input.md
+++ b/src/lang/sr-SP/markdown/gog-parser-input.md
@@ -1,10 +1,20 @@
-# Unique inputs for GOG Galaxy Parser
+# GOG Galaxy Parser Specific Inputs
## Galaxy Path Override
-By default Steam ROM Manager assumes your Galaxy Client is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe`. This field allows you to override that path if your GOG Galaxy installation is elsewhere.
-This field is actually only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of the Galaxy Client.
+By default Steam ROM Manager assumes your GOG Galaxy executable is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe` on Windows and `/Applications/GOG Galaxy.app/Contents/MacOS/GOG Galaxy` on Mac. This field allows you to override that path if your GOG Galaxy executable is elsewhere.
-## Launch Via GOG Galaxy `[Recommend disabled]`
+Specifying the correct location of GOG Galaxy's executable is only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of GOG Galaxy's executable.
-What it sounds like, this toggle let's you set whether games will launch via GOG Galaxy or directly. Note that for some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+## Launch via GOG Galaxy `[Recommend disabled]`
+
+What it sounds like, this toggle determines whether games launch via GOG Galaxy or directly. For some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+
+## Parse Linked Executables from GOG Galaxy
+
+If enabled, SRM will pull in not only GOG games aquired from GOG Galaxy's store, but also those you have manually linked executables for in GOG Galaxy. This is desirable if those games are not being parsed into SRM elsewhere.
+
+A caveat is that because GOG Galaxy does not store the names linked executables in its database, SRM will use the directory name of the executable on Windows (e.g. `C:\\path\\to\\Hoa\\LaunchHoa.exe` would be assigned the title `Hoa`) and the executable name on Mac (e.g. `/Applications/Symphonia.app` would be assigned the title `Symphonia`).
+
+## Parse using Registry instead of Galaxy DB `[Windows only] [Recommend disabled]`
+This option will parse the Windows Registry for installed GOG games instead of GOG Galaxy's SQL database, allowing the parser to work even if GOG Galaxy is not installed. If this is enabled, `Parse Linked Executables` will of have no effect, but `Launch via GOG Galaxy` will work as normal.
\ No newline at end of file
diff --git a/src/lang/sr-SP/markdown/image-pool.md b/src/lang/sr-SP/markdown/image-pool.md
index 8b54cf72d9..0b4e4a94fb 100644
--- a/src/lang/sr-SP/markdown/image-pool.md
+++ b/src/lang/sr-SP/markdown/image-pool.md
@@ -1,3 +1,5 @@
-# Image pool `[supports variables]`{.noWrap}
+# Artwork pool `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting is used to allow different apps share the same images -- same "image pool", or allow unique image pool per app. To use unique image pool per app just set it to something unique. For example `${fuzzyTitle} SNES`{.noWrap}.
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset.
+
+This field is used to allow games from different parsers to share the same images (i.e. the same "image pool") if they have the same title. If you want different parsers not to share images for games with the same title, just set this field to something unique, for example `${fuzzyTitle} SNES`{.noWrap} or `${fuzzyTitle} ${parserTitle}`{.noWrap}.
diff --git a/src/lang/sr-SP/markdown/image-providers.md b/src/lang/sr-SP/markdown/image-providers.md
index 0b778780c6..f70a9275f6 100644
--- a/src/lang/sr-SP/markdown/image-providers.md
+++ b/src/lang/sr-SP/markdown/image-providers.md
@@ -1,7 +1,7 @@
-# Image providers
+# Artwork providers
-Here you can select image providers that are used to retrieve images. This option is for this configuration only.
+Here you can select artwork providers (online sources of game art) that are used by SRM to get art for your games.
## Similar option in "Settings" menu
-Settings menu has "Enabled providers" which enable image providers globally -- if it's not enabled in Settings, it won't work.
+Settings menu has "Enabled providers" which enable artwork providers globally -- if it's not enabled in Settings, it won't work.
diff --git a/src/lang/sr-SP/markdown/intro.md b/src/lang/sr-SP/markdown/intro.md
index f8d5fcabda..a6d65c0059 100644
--- a/src/lang/sr-SP/markdown/intro.md
+++ b/src/lang/sr-SP/markdown/intro.md
@@ -8,8 +8,8 @@ Also, don't forget to check FAQ. If you still got questions about setting up con
After saving parser configuration, **1** of **3** colors will be shown next to its title:
- -- Enabled configuration. This configuration will be used when generating a list in **preview** page.
+ -- Enabled configuration. This configuration will be used when generating a list in **Add Games** page.
- -- Unsaved changes. This configuration will not be used when generating a list in **preview** page, however earlier **saved** version will be used instead.
+ -- Unsaved changes. This configuration will not be used when generating a list in **Add Games** page, however earlier **saved** version will be used instead.
- -- Disabled configuration. This configuration will not be used when generating a list in **preview** page.
\ No newline at end of file
+ -- Disabled configuration. This configuration will not be used when generating a list in **Add Games** page.
\ No newline at end of file
diff --git a/src/lang/sr-SP/markdown/itch-io-parser-input.md b/src/lang/sr-SP/markdown/itch-io-parser-input.md
index 4b0057c170..ffa409af96 100644
--- a/src/lang/sr-SP/markdown/itch-io-parser-input.md
+++ b/src/lang/sr-SP/markdown/itch-io-parser-input.md
@@ -1,4 +1,4 @@
-# itch.io Parser specific inputs
+# itch.io Parser Specific Inputs
## itch.io AppData Path Override
By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere.
diff --git a/src/lang/sr-SP/markdown/itch-io-parser.md b/src/lang/sr-SP/markdown/itch-io-parser.md
index 7f29ffc42d..accb8b5ad2 100644
--- a/src/lang/sr-SP/markdown/itch-io-parser.md
+++ b/src/lang/sr-SP/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
# itch.io Parser
-This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/sr-SP/markdown/legendary-parser-input.md b/src/lang/sr-SP/markdown/legendary-parser-input.md
index 80ca0bcbbc..4a826e43da 100644
--- a/src/lang/sr-SP/markdown/legendary-parser-input.md
+++ b/src/lang/sr-SP/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
-# Legendary Parser specific inputs
+# Legendary Parser Specific Inputs
+
+## Legendary Path Override
+
+By default Steam ROM Manager uses `(Get-Command legendary).Path` on Windows and `which legendary` on Linux and Mac to determine the location of your Legendary executable. This field allows you to override that path.
+
+Specifying the correct location of the Legendary executable is only necessary if you enable launch via Legendary (see below), as otherwise SRM has no need of the location of Legendary's executable.
## Legendary `installed.json` Path Override
Most users shouldn't use this, as they use the standard `Legendary` installation where installed games manifest will be located at `~/.config/legendary/installed.json`.
If, however, for some reason your installed games manifest is located in a non-typical location then you can specify the correct manifest path here.
+
+## Launch via Legendary `[Recommend enabled]`
+
+What it sounds like, this toggle determines whether games launch via Legendary or directly. Launching via Legendary provides access to Epic's online services.
diff --git a/src/lang/sr-SP/markdown/local-images.md b/src/lang/sr-SP/markdown/local-images.md
index cff60e5674..5da2e5ae4c 100644
--- a/src/lang/sr-SP/markdown/local-images.md
+++ b/src/lang/sr-SP/markdown/local-images.md
@@ -1,4 +1,4 @@
-# Local images (optional) `[supports variables]`{.noWrap}
+# Local images `[supports variables]`{.noWrap}
Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
diff --git a/src/lang/sr-SP/markdown/manual-parser-input.md b/src/lang/sr-SP/markdown/manual-parser-input.md
index bc1848d45a..65265ebd32 100644
--- a/src/lang/sr-SP/markdown/manual-parser-input.md
+++ b/src/lang/sr-SP/markdown/manual-parser-input.md
@@ -1,4 +1,4 @@
-# Manual Parser specific inputs
+# Manual Parser Specific Inputs
## Manifests Directory `[Supports Environment Variables]`{.noWrap}
@@ -17,7 +17,8 @@ The names of the files do not matter. What does matter is that each `manifest.js
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args",
+ "appendArgsToExecutable": false
}
```
Or a list of titles, like so:
@@ -27,15 +28,19 @@ Or a list of titles, like so:
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args".
+ "appendArgsToExecutable": true
},
{
"title": "gameTitle2",
"target": "game2/path/target.sh",
"startIn": "game2/path",
- "launchOptions": "--args2"
+ "launchOptions": "--args2",
+ "appendArgsToExecutable": false
}
]
```
A typical use case would be to use a single json file per game type, or per year, etc.
+
+Just like for ROM parsers, `appendArgsToExecutable` determines whether `launchOptions` are appended to the shortcut `target` or appear separately as launch options in steam.
diff --git a/src/lang/sr-SP/markdown/non-srm-shortcuts-parser.md b/src/lang/sr-SP/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..4485008a1a
--- /dev/null
+++ b/src/lang/sr-SP/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,29 @@
+# Non-SRM Shortcut Parser
+
+This parser imports non SRM steam shortcuts into SRM so their artowrk can be managed. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
+
+## User accounts
+
+Used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
+
+```
+${...}
+```
+
+You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
+
+ {.fitImage .center}
+
+For example, this is how you specify account for "Banana" and "Apple":
+
+```
+${Banana}${Apple}
+```
+
+You can also limit accounts by specifying their ids directly. For example:
+
+```
+${56489124}${21987424}
+```
+
+Would limit the search to `steam/userdata/56489124` and `steam/userdata/21987424`.
diff --git a/src/lang/sr-SP/markdown/parser-env-variables.md b/src/lang/sr-SP/markdown/parser-env-variables.md
index 3b186a70f7..e95baf9137 100644
--- a/src/lang/sr-SP/markdown/parser-env-variables.md
+++ b/src/lang/sr-SP/markdown/parser-env-variables.md
@@ -13,3 +13,5 @@ These variables are pre parsed and can be used even in the Rom Directory, Steam
The utility of the environment variable `${srmdir}` is to make SRM fully portable, eg if you wanted to have the directory layout `D:\Games\Roms` and `D:\Games\PortableSRM\SRM.exe` then setting the field Roms Directory to be `${srmdir}${/}..${/}Roms` would allow you to move the Games directory somewhere else without breaking your setup.
+
+Function variables can also be used in fields that permit environment variables (e.g. `${os:win|C:\path\to\startdir|${os:linux|/path/to/startdir}}`)
diff --git a/src/lang/sr-SP/markdown/parser-variables.md b/src/lang/sr-SP/markdown/parser-variables.md
index 7e9eb636ff..7c164a55bc 100644
--- a/src/lang/sr-SP/markdown/parser-variables.md
+++ b/src/lang/sr-SP/markdown/parser-variables.md
@@ -4,13 +4,13 @@ Here are tables of variables that can be used with options that have `[supports
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -48,6 +48,7 @@ In case executable directory input is left **empty**, `${exePath}`{.noWrap} is e
| `${title}` | Extracted title |
| `${fuzzyTitle}` | Fuzzy matched title |
| `${finalTitle}` | Title which was the end result of title modifier |
+| `${parserTitle}` | The value of the `Parser Title` field |
In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
@@ -65,6 +66,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -74,7 +76,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/sr-SP/markdown/parsers-list.md b/src/lang/sr-SP/markdown/parsers-list.md
index 1e5e43f80f..6ab3846611 100644
--- a/src/lang/sr-SP/markdown/parsers-list.md
+++ b/src/lang/sr-SP/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# Parsers
-In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**
diff --git a/src/lang/sr-SP/markdown/rom-directory.md b/src/lang/sr-SP/markdown/rom-directory.md
index 555452224f..5b15d2e2b7 100644
--- a/src/lang/sr-SP/markdown/rom-directory.md
+++ b/src/lang/sr-SP/markdown/rom-directory.md
@@ -1,3 +1,3 @@
-# ROMs directory `[supports environment variables]`
+# ROMs directory `[supports env variables]`
Starting directory for game or app files.
diff --git a/src/lang/sr-SP/markdown/settings.md b/src/lang/sr-SP/markdown/settings.md
index c35d49e806..dd35c64609 100644
--- a/src/lang/sr-SP/markdown/settings.md
+++ b/src/lang/sr-SP/markdown/settings.md
@@ -1,31 +1,51 @@
## General Settings
+### Check for updates on start `[Recommend enabled]`
+Check if an update for SRM is available and prompt to update each time SRM launches.
+### Auto kill Steam `[Recommend enabled]`
+SRM will attempt to kill all running instances of Steam whenever it needs to read/write collections information (specifically when saving to steam from `Add Games` and when removing all games from `Settings`).
+### Auto restart Steam `[Recommend enabled]`
+SRM will attempt to restart Steam after killing it and completing whatever collections related task required killing Steam in the first place. Requires `Auto kill Steam` to be enabled.
### Offline mode `[Recommend disabled]`
-
When enabled SRM makes no network requests, useful if you only want to use SRM for local images.
### Automatically clear log before testing parsers `[Recommend enabled]`
When enabled the log is cleared each time a parser is tested.
+## Add Games
### Show current steam images by default `[Recommend enabled]`
When enabled this setting tells SRM to default to whatever artwork is currently in steam for a given app. If it is disabled, then every time SRM is run (and saved) all artwork will be reset.
### Remove shortcuts for disabled parsers `[Recommend disabled]`
When enabled disabling a parser and running SRM will remove all added entries and artwork for the disabled parser. Useful if you want your steam library to be in 1-1 correspondence with enabled parsers.
-
+### Disable saving of steam categories `[Recommend disabled]`
+SRM will not write any collections information when saving to Steam. This allows SRM to perform its tasks while Steam is still running, at the obvious cost that added games will not be categorized.
+### Hide Steam username from Add Games
+Steam does not allow user's to alter their Steam usernames. In some cases (childish names, dead names, etc), users may no longer wish to see their Steam usernames. This setting hides it from `Add Games`.
+### Remove all added games and controllers
+Undo all SRM added changes from Steam.
+### Remove all controllers only
+Undo all SRM added controller settings from Steam.
## Fuzzy Matcher Settings
### Log matching results `[Recommend disabled]`
When enabled more verbose logs appear for the fuzzy title matcher in the `Event log`. Useful for debugging incorrect fuzzy matches.
-
### Reset fuzzy list
Resets the stored list of titles used for fuzzy matching to the list of titles returned by `SteamGridDB` (removes any user added titles).
### Reset fuzzy cache
Clears the cache of titles that fuzzy matching has already seen (try this if changes you make to fuzzy list are not resulting in changes to titles in SRM).
-
## Image provider settings
-### Preload retrieved images `[Recommend disabled]`
-When enabled, SRM will pull all available artwork for every game, rather than pulling one piece of artwork at a time as the user flips through the images. Don't enable this unless you have a good reason and a very small library of games, otherwise it could result in very large (slow) network requests.
+### Artwork loading strategy `[Recommend Load artwork lazily]`
+This is the strategy SRM uses to pull artwork thumbnails for the `Add Games` UI. If you are parsing a lot of games, `Load artwork lazily` is recommended. `Preload first artwork` will try to pull the first piece of artwork for each game in each artwork category, and `Preload all artwork` will try to pull all available artwork for each game in each artwork category. `Preload all artwork` will cause network and performance issues unless the number of games is quite small (less than `30` or so).
### Enabled providers
-Global setting to disable certain providers. Currently the only image provider is `SteamGridDB` since ConsoleGrid and RetroGaming.cloud are defunct.
-
+Global setting to enable/disable particular image providers. Current options are `SteamGridDB` and `Steam Official`.
+### DNS manual override
+Set this if you want SRM to do DNS resolution internally, as opposed to relying on your system's default DNS server. This solves many timeout issues on the Steam Deck.
+### Batch size for image downloads
+Number of images SRM will attempt to download at once when saving to Steam. May help to lower this if you are receiving timeout errors from SGDB.
+### Nuke artwork choice cache
+SRM attempts to remember your artwork choices, this button forcibly forgets all of them.
+### Nuke local artwork backups
+This deletes all artwork backups created for parsers with `Backup artwork locally` enabled.
## Community Variables and Presets
### Force download custom variables.
Resets the custom variables JSON file that is used for certain presets to whatever its current state is on the SRM github. Useful if the custom variables JSON file has been corrupted.
### Force download custom presets.
Resets the JSON files for parser presets to whatever is on the SRM github. Useful if your presets list is not automatically updating for some reason, or has become corrupted.
+### Force download shell scripts
+Re fetches the shell scripts SRM uses to perform certain tasks.
diff --git a/src/lang/sr-SP/markdown/sgdb-api-input.md b/src/lang/sr-SP/markdown/sgdb-api-input.md
index 553f4fda77..7651927a64 100644
--- a/src/lang/sr-SP/markdown/sgdb-api-input.md
+++ b/src/lang/sr-SP/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
This set of options are direct inputs into the APIs of image providers, for example SteamGridDB's [API](https://www.steamgriddb.com/api/v2).
-An interesting quirk of these settings is that re-generating the preview (hitting the `Generate App List` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove App List` button in preview before hitting `Generate App List`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the preview with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
+An interesting quirk of these settings is that re-generating the game list in Add Games (hitting the `Refresh` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove from Steam` button in Add Games before hitting `Refresh`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the game list with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
## SteamGridDB
diff --git a/src/lang/sr-SP/markdown/start-in-directory.md b/src/lang/sr-SP/markdown/start-in-directory.md
index 86cf962c23..df84a987d5 100644
--- a/src/lang/sr-SP/markdown/start-in-directory.md
+++ b/src/lang/sr-SP/markdown/start-in-directory.md
@@ -1,6 +1,6 @@
-# "Start In" directory (optional) `[supports environment variables]`{.noWrap}
+# "Start In" directory `[supports env variables]`
-By default "Start In" directory is set to executable's directory:
+If `"Start In" Directory` is unset it defaults to the executable's directory. If not executable is set, it defaults to the directory of the ${filePath} variable:
 {.fitImage.center}
@@ -11,4 +11,5 @@ This option allows you to specify any directory you want as a "Start In" directo
It is useful when you're using batch files to start emulator and a game, but emulator requires a specific "Start In" directory to work properly.
## Shortcut Passthrough
+
If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the directory of the target of that shortcut. In the future, it will be overridden with the start in directory of that shortcut.
diff --git a/src/lang/sr-SP/markdown/steam-category.md b/src/lang/sr-SP/markdown/steam-category.md
index 079073dab9..677ea3d0ef 100644
--- a/src/lang/sr-SP/markdown/steam-category.md
+++ b/src/lang/sr-SP/markdown/steam-category.md
@@ -1,21 +1,13 @@
-# Steam category (optional) `[supports variables]`{.noWrap}
+# Steam category`{.noWrap}
+
+Hit the little plus sign to add your first category.
-Also known as "tags", can be used to group apps in Steam. In order to set Steam category, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify categories for "WII" and "GBA" (paired with "ROMS") category:
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
This how "WII" category will look like in Steam:

## Emojis and non-Standard Unicode Characters
+
Please not that this field works just fine with emojis like `🎮` work just fine in category names.
You can find a list of them here: [https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/sr-SP/markdown/steam-directory.md b/src/lang/sr-SP/markdown/steam-directory.md
index b15010e819..bb82bc6a97 100644
--- a/src/lang/sr-SP/markdown/steam-directory.md
+++ b/src/lang/sr-SP/markdown/steam-directory.md
@@ -1,4 +1,4 @@
-# Steam directory `[supports environment variables]`{.noWrap}
+# Steam directory `[supports env variables]`
Must be a valid Steam directory which contains Steam executable. In order for Steam account to be detected, user must have logged in at least once.
diff --git a/src/lang/sr-SP/markdown/steam-parser-input.md b/src/lang/sr-SP/markdown/steam-parser-input.md
index 75f21d380d..1174b71b64 100644
--- a/src/lang/sr-SP/markdown/steam-parser-input.md
+++ b/src/lang/sr-SP/markdown/steam-parser-input.md
@@ -1,4 +1,4 @@
-# Steam Parser specific inputs
+# Steam Parser Specific Inputs
## Find artwork for games only
If enabled SRM will filter out any Steam applications that are not full games, such as demos and tools like `3DMark` or `Wallpaper Engine`.
diff --git a/src/lang/sr-SP/markdown/steam-parser.md b/src/lang/sr-SP/markdown/steam-parser.md
index b158f676a8..5b93d8bc77 100644
--- a/src/lang/sr-SP/markdown/steam-parser.md
+++ b/src/lang/sr-SP/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Steam parser
-This parser imports steam games into SRM. It does not add shortcuts, but it allows you to set the artwork for your steam games. By default the parser will get games from all user accounts in the steam directory specified — if you would prefer to only get the games for a subset of the accounts then specify them in the `User accounts` field.
-
-## Limitations
-Unfortunately for the time being this parser only works for steam games **that are in at least one category**. The reason for this is that Steam only stores your full list of games locally if they are categorized. Sometimes, for unknown reasons, games will be stored locally regardless and the parser will work, but to be safe the easiest thing to do is just **create a Steam Category** that has all of your Steam games in it.
-
-## User accounts (Optional)
-
-Can be used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
-```
-${...}
-```
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
-
- {.fitImage.center}
-
-For example, this is how you specify account for "Banana" and "Apple":
-
-```
-${Banana}${Apple}
-```
-
-In case the [use account credentials](#what-does-use-account-credentials-do) is disabled, you can still limit accounts by specifying their ids directly:
-
-```
-${56489124}${21987424}
-```
-
-## What does "Skip found accounts with missing data directories" do?
-
-Sometimes Steam's file that contains logins, may contain users that do not have data directory created (might have been manually deleted, etc.). You can specify to skip those accounts by enabling this option.
-
-## What does "Use account credentials" do?
-
-Tries to look for account credentials in Steam directory. In other words -- username. Username then can be used to filter accounts without actually having to know their ids.
-
-### Warning!
-
-If Steam has credential saving disabled, this option will prevent finding user accounts.
+This parser imports steam games into SRM so you can manage their artwork. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
\ No newline at end of file
diff --git a/src/lang/sr-SP/markdown/title-from-variable.md b/src/lang/sr-SP/markdown/title-from-variable.md
index bb6e4a52a2..6aa467e98c 100644
--- a/src/lang/sr-SP/markdown/title-from-variable.md
+++ b/src/lang/sr-SP/markdown/title-from-variable.md
@@ -1,43 +1,40 @@
-# Title from custom variable (optional)
+# Title from custom variable
-Allows to overwrite extracted title with a custom variable. This is done right after title extraction, meaning that the replaced title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+Allows one to overwrite the extracted title with a custom variable, pulled from the `json` files described below. This happens right after title extraction, meaning that the new title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+
+Title matching is limited to specific groups of custom variables. For example, this is how you specify groups "FBN" and "PSN":
-Title matching can be limited to specific groups of custom variables. In order to specify groups, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify groups for "RPCS3" and "rpcs3":
```
-${RPCS3}${rpcs3}
+${RPCS3}${PSN}
```
-Make sure you **toggle enable to on**.
-
-
-## Case-insensitive option
-
-If this option is enabled, case-insensitive matching will be done and first matched custom variable will be used.
-
-## Note. This feature is **experimental**
+# How it works
-Basically, it might change in the future release (very unlikelly). Furthermore, currently the only way to add variables is to create/edit `customVariables.json` used by SRM directly.
+There are two variable files, `customVariables.json` which is maintained by SRM (don't change this one, your changes will be overwritten every time SRM restarts) and `userVariables.json` which is where you should put your own variables. Both files are located in SRM's `Config Directory`.
-This file is/shoud be located in SRM's `userData` directory.
-
-SRM will throw error unless the following JSON structure is used:
+Both `customVariables.json` and `userVariables.json` have the same JSON structure. SRM will throw an error unless the following JSON structure is used:
```
{
- "RPCS3": {
+ "Group1": {
"NPUB30698": "Catherine",
"NPUB30024": "1942: Joint Strike",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
+ "Group2": {
+ "The Legend Of Zelda": "The Legend Of Link",
+ ...
},
...
}
```
-Then if your user glob were `MyDir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `MyDir`, you would set the title from custom variable field to `${Custom Stuff}` to obtain a final title of "The Legend of Link".
+Then if your user glob were `romsdir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `romsdir`, you would set the title from custom variable field to `${Group2}` to obtain a title of "The Legend of Link".
+
+## Case-insensitive variables
+
+If enabled, case-insensitive matching will be done and first matched custom variable will be used.
+
+## Skip file if variable not found
+
+If enabled, titles that don't match a variable will be excluded.
diff --git a/src/lang/sr-SP/markdown/title-modifier.md b/src/lang/sr-SP/markdown/title-modifier.md
index 791e000e27..4ecb2d02db 100644
--- a/src/lang/sr-SP/markdown/title-modifier.md
+++ b/src/lang/sr-SP/markdown/title-modifier.md
@@ -1,9 +1,11 @@
# Title modifier `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting can be used to prepend or append desired characters to a title which will be added to Steam. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset. This setting can be used to prepend or append desired characters to a Steam shortcut's `Title`. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+
```
${fuzzyTitle} (1.7.5)
```
+
You can use `${title}`{.noWrap} or any other variable to construct the final title.
This setting influences Steam's APP ID.
diff --git a/src/lang/sr-SP/markdown/uplay-parser-input.md b/src/lang/sr-SP/markdown/uplay-parser-input.md
index f40bbcd928..3a54e84b1a 100644
--- a/src/lang/sr-SP/markdown/uplay-parser-input.md
+++ b/src/lang/sr-SP/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# Unique inputs for UPlay Parser
+# UPlay Parser Specific Inputs
+
## Ubisoft Directory Override
By default Steam ROM Manager assumes your UPlay install is located in `C:\Program Files (x86)\Ubisoft`. This field allows you to override that path if your UPlay installation is elsewhere.
## Launch Via UPlay `[Recommend disabled]`
-
What it sounds like, this toggle let's you set whether games will launch via UPlay or directly from the game's executable.
For UPlay this doesn't matter too much as UPlay games will automatically launch UPlay in the background even when launched from the executable. Steam Overlay will not work when `Launch via UPlay` is enabled, whereas both Steam and Ubisoft overlays work when `Launch via UPlay` is disabled.
diff --git a/src/lang/sr-SP/markdown/user-accounts.md b/src/lang/sr-SP/markdown/user-accounts.md
index 90a49b84f6..c0101b5f74 100644
--- a/src/lang/sr-SP/markdown/user-accounts.md
+++ b/src/lang/sr-SP/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# User accounts (Optional)
+# User accounts
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
-
-`${XXX}${YYY}`
-
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either:
-
-* An `Account ID` (the number that appears as the directory name of your account directory in `/path/to/steam/userdata/`). For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
+This field is used to limit SRM's effects to specific user accounts. It can be set to `Global` or over ridden per parser.
## Warning
-If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and **you must only use** `Account IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and `Choose Accounts` will only be able to pull your `Steam IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Settings` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
diff --git a/src/lang/sr-SP/markdown/user-exceptions.md b/src/lang/sr-SP/markdown/user-exceptions.md
index a53dd0d6d9..a6e47de497 100644
--- a/src/lang/sr-SP/markdown/user-exceptions.md
+++ b/src/lang/sr-SP/markdown/user-exceptions.md
@@ -12,7 +12,7 @@ The `Extracted Title` field matches in two ways:
Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`.
-Exceptions generated from `Preview` will always be in the form `Extracted Title ${id:XXXXXX}`.
+Exceptions generated from `Add Games` will always be in the form `Extracted Title ${id:XXXXXX}`.
## New Display Title
diff --git a/src/lang/sv-SE/langStrings.json b/src/lang/sv-SE/langStrings.json
index d42bc546d5..bb84366424 100644
--- a/src/lang/sv-SE/langStrings.json
+++ b/src/lang/sv-SE/langStrings.json
@@ -1,39 +1,39 @@
{
"preview": {
"component": {
- "filter": "Search for game",
+ "filter": "Sök efter spel",
"selectType": "Artwork Type",
"selectCategories": "Steam Category",
"selectParsers": "Parser Title",
"selectTypeOptions": {
"long": "Banners",
"tall": "Posters",
- "hero": "Heroes",
- "icon": "Icons",
- "logo": "Logos",
+ "hero": "Hjältar",
+ "icon": "Ikoner",
+ "logo": "Logotyper",
"games": "All Artwork"
},
- "by": "by",
- "refreshImages": "Refresh images",
- "saveImage": "Save image to file",
- "addLocalImages": "Add local images",
- "retryDownload": "Retry download",
- "generateAppList": "Parse",
+ "by": "av",
+ "refreshImages": "Refresh artwork",
+ "saveImage": "Save artwork to file",
+ "addLocalImages": "Add local artwork",
+ "retryDownload": "Retry artwork download",
+ "generateAppList": "Refresh",
"saveAppList": "Save to Steam",
"removeAppList": "Remove from Steam",
"remainingImages": "Retrieving urls:",
"stopUrlRetrieving": "Stop",
- "exportSelections": "Export",
- "importSelections": "Import",
- "backButton": "Back",
- "logButton": "Log"
+ "exportSelections": "Export art",
+ "importSelections": "Import art",
+ "backButton": "Tillbaka",
+ "logButton": "Logg"
},
"service": {
"info": {
"listIsBeingGenerated": "List is being generated. Please wait.",
"listIsBeingSaved": "List is being saved. Please wait.",
"listIsBeingRemoved": "List is being removed. Please wait.",
- "listIsEmpty": "List is empty.",
+ "listIsEmpty": "Listan är tom.",
"populatingVDF_List": "Populating VDF list.",
"creatingBackups": "Creating backups.",
"readingVDF_Files": "Reading VDF files.",
@@ -44,46 +44,46 @@
"removingFromCategories": "Removing all added category information",
"writingVDF_entries__i": "Writing VDF files and downloading high res images in batches of ${batchSize}.",
"updatingKnownSteamDirList": "Updating a list of known Steam directories.",
- "retryingDownload__i": "Retrying image download from \"${imageUrl}\" for \"${appTitle}\".",
- "disabledConfigurations__i": "${count} user configuration(s) was/were skipped (disabled by user).",
- "invalidConfigurations__i": "${count} user configuration(s) was/were skipped (invalid).",
+ "retryingDownload__i": "Retrying artwork download from \"${imageUrl}\" for \"${appTitle}\".",
+ "disabledConfigurations__i": "${count} user parser(s) was/were skipped (disabled by user).",
+ "invalidConfigurations__i": "${count} user parser(s) was/were skipped (invalid).",
"executingParsers": "Executing parsers.",
- "shutdownSteam": "Please shutdown Steam if it is running.",
- "noParserConfigurations": "Please create parser configuration in \"Parsers\" menu first.",
+ "shutdownSteam": "If Steam is running, exit Steam.",
+ "noParserConfigurations": "Please create parser in \"Parsers\" menu first.",
"parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
- "allImagesRetrieved": "All available image urls retrieved.",
+ "allImagesRetrieved": "All available artwork urls retrieved.",
"providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
"noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
- "preparingExport": "Preparing export of image choices.",
- "exportProgress__i": "Saving image choices ${progress}.",
- "readingSelections": "Applying imported image choices."
+ "preparingExport": "Preparing export of artwork choices.",
+ "exportProgress__i": "Saving artwork choices ${progress}.",
+ "readingSelections": "Applying imported artwork choices."
},
"errors": {
- "fatalError": "Fatal error occurred in Preview. See event log for details.",
- "fatalError__i": "Fatal Preview Error ${error}",
+ "fatalError": "Fatal error occurred in Add Games. See event log for details.",
+ "fatalError__i": "Fatal Add Games error: ${error}",
"knownSteamDirListIsEmpty": "A list of known Steam directories is empty.",
"steamIsRunning": "Cannot make changes while steam is running!",
"categorySaveError": "Error updating categories. See event log for details.",
"categorySaveError__i": "Category error (shortcuts and artwork will still be added): ${error}",
"controllerSaveError": "Error updating controller templates. See event log for details.",
"controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
- "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
+ "retryingDownload__i": "Artwork download from \"${imageUrl}\" failed for \"${appTitle}\".",
"providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
"unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
"exportError__i": "Could not save selections package folder: ${error}",
"importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
- "importFailError__i": "Could not import image choices: ${error}"
+ "importFailError__i": "Could not import artwork choices: ${error}"
},
"success": {
"writingVDF_entries": "Done adding/removing entries.",
"removingVDF_entries": "Entries have been removed.",
- "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
- "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
+ "exportSuccess__i": "Artwork choices folder successfully saved to \"${path}\"!",
+ "importSelectionsSuccess__i": "Successfully imported ${count} artwork choices!"
}
}
},
"steamParser": {
- "onlyGamesTitle": "Find artwork for games only (no tools)",
+ "onlyGamesTitle": "Find artwork for games only (no tools or demos)",
"onlyInstalledTitle": "Find artwork for installed titles only",
"sourceModsTitle": "Find artwork for unofficial source mods",
"errors": {
@@ -93,16 +93,30 @@
"fatalError__i": "> Steam parser failed with fatal error:\n ${error}"
}
},
+ "nonSRMShortcutsParser": {
+ "errors": {
+ "noSteamAccounts": "> Steam directory specified has no accounts.",
+ "fatalError__i": "> Non-SRM Shortcuts parser failed with fatal error:\n ${error}"
+ }
+ },
"manualParser": {
"manifestsInputTitle": "Manifests Directory",
- "manifestsInputPlaceholder": "/path/to/your/manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"errors": {
"fatalError__i": "> Manual parser failed with fatal error:\n ${error}"
}
},
"epicParser": {
"manifestsInputTitle": "Epic Manifests Directory Override",
- "manifestsInputPlaceholder": "/path/to/Manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"launcherModeInputTitle": "Launch games via Epic for online services",
"errors": {
"invalidManifestsOverride": "> Manifests Override is not a valid directory.",
@@ -112,25 +126,56 @@
}
},
"legendaryParser": {
+ "launcherModeInputTitle": "Launch games via Legendary for online services",
"legendaryInstalledFileTitle": "Legendary installed.json Path Override",
- "legendaryInstalledFilePlaceholder": "/path/to/legendary/installed.json",
+ "legendaryInstalledFilePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary\\installed.json",
+ "Darwin": "/path/to/legendary/installed.json",
+ "Linux": "/path/to/legendary/installed.json"
+ },
+ "legendaryExeOverrideTitle": "Legendary Path Override",
+ "legendaryExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary.exe",
+ "Darwin": "/path/to/legendary",
+ "Linux": "/path/to/legendary"
+ },
"errors": {
"legendaryNotInstalled": "> Legendary installed.json not found",
- "fatalError__i": "> Legendary parser failed with fatal error: \n ${error}"
+ "fatalError__i": "> Legendary parser failed with fatal error:\n ${error}"
+ }
+ },
+ "battleNetParser": {
+ "battleExeOverrideTitle": "Battle.net.exe Path Override",
+ "battleExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Battle.net\\Battle.net.exe",
+ "Darwin": "/path/to/Battle.net.app/Contents/MacOS/Battle.net",
+ "Linux": "/path/to/Battle.net"
+ },
+ "errors": {
+ "battleNotCompatible": "> Battle.net parser is only available on Windows.",
+ "fatalError__i": "> Battle.net parser failed with fatal error:\n ${error}"
}
},
"UWPParser": {
"UWPDirTitle": "XboxGames Directory Override",
- "UWPDirPlaceholder": "/path/to/XboxGames or /path/to/WindowsApps",
+ "UWPDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\XboxGames\\ or C:\\path\\to\\WindowsApps\\",
+ "Darwin": "/path/to/XboxGames/ eller /path/to/WindowsApps/",
+ "Linux": "/path/to/XboxGames/ eller /path/to/WindowsApps/"
+ },
"UWPLauncherModeTitle": "Launch game as UWP instead of launcher helper",
"errors": {
"fatalError__i": "> UWP parser is not compatible in this platform.",
- "UWPNotCompatible": "> UWP parser failed with fatal error:\n ${error}"
+ "UWPNotCompatible": "> UWP parser is only available on Windows."
}
},
"uplayParser": {
"uplayDirTitle": "Ubisoft Directory Override",
- "uplayDirPlaceholder": "/path/to/Ubisoft/",
+ "uplayDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Ubisoft\\",
+ "Darwin": "/path/to/Ubisoft/",
+ "Linux": "/path/to/Ubisoft/"
+ },
"launcherModeInputTitle": "Launch games via UPlay for online services",
"errors": {
"invalidManifestsOverride": "> Uplay Directory Override is not a valid directory.",
@@ -142,8 +187,14 @@
},
"gogParser": {
"galaxyExeOverrideTitle": "Galaxy Path Override",
- "galaxyExeOverridePlaceholder": "/path/to/GalaxyClient.exe",
+ "galaxyExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\GalaxyClient.exe",
+ "Darwin": "/path/to/GOG Galaxy.app/Contents/MacOS/GOG Galaxy",
+ "Linux": "/path/to/GalaxyClient"
+ },
"launcherModeInputTitle": "Launch games via GOG Galaxy",
+ "parseLinkedExecsTitle": "Parse linked executables from GOG Galaxy",
+ "parseRegistryEntries": "Parse using Registry instead of Galaxy DB",
"errors": {
"invalidGalaxyExeOverride": "> Galaxy Client Override is not a valid path.",
"fatalError__i": "> GOG Galaxy parser failed with fatal error:\n ${error}",
@@ -153,7 +204,11 @@
},
"amazonGamesParser": {
"exeOverrideTitle": "Amazon Games Path Override",
- "exeOverridePlaceholder": "/path/to/Amazon Games.exe",
+ "exeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Amazon Games.exe",
+ "Darwin": "/path/to/Amazon Games.app/Contents/MacOS/Amazon Games",
+ "Linux": "/path/to/Amazon Games"
+ },
"launcherModeInputTitle": "Launch games via Amazon Games",
"errors": {
"invalidExeOverride": "> Amazon Games Installation Override is not a valid directory.",
@@ -164,7 +219,11 @@
},
"itchIoParser": {
"itchIoAppDataOverrideTitle": "itch.io AppData Directory Override",
- "itchIoAppDataOverridePlaceholder": "/path/to/itch",
+ "itchIoAppDataOverridePlaceholder": {
+ "Windows_NT": "C:\\AppData\\itch\\",
+ "Darwin": "~/Library/Application Support/itch/",
+ "Linux": "~/.config/itch/"
+ },
"itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Windows-on-Linux Install Drive Redirect",
"itchIoWindowsOnLinuxInstallDriveRedirectPlaceholder": "/mnt/d/",
"errors": {
@@ -177,7 +236,11 @@
},
"eaDesktopParser": {
"eaGamesDirTitle": "EA Games Directory Override",
- "eaGamesDirPlaceholder": "/path/to/EA Games/",
+ "eaGamesDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\EA Games\\",
+ "Darwin": "/path/to/EA Games/",
+ "Linux": "/path/to/EA Games/"
+ },
"eaLauncherModeTitle": "Launch games via EA Desktop",
"errors": {
"fatalError__i": "> EA Desktop parser failed with fatal error:\n ${error}",
@@ -186,7 +249,7 @@
}
},
"globParser": {
- "inputTitle": "User's glob",
+ "inputTitle": "Search glob",
"inputPlaceholder": "${title}.@(iso|ISO)",
"errors": {
"noTitle__md": "> File glob must contain `${title}`!",
@@ -203,7 +266,7 @@
}
},
"globRegexParser": {
- "inputTitle": "User's glob-regex",
+ "inputTitle": "Search glob-regex",
"inputPlaceholder": "${/valid regex/}",
"errors": {
"noRegex__md": "> File glob must contain `${regex}` where **regex** is your regular expression!",
@@ -226,18 +289,22 @@
"stylesTitle": "Allowed grid styles",
"stylesHeroTitle": "Allowed hero styles",
"stylesLogoTitle": "Allowed logo styles",
- "stylesIconTitle": "Allowed icon styles"
+ "stylesIconTitle": "Allowed icon styles",
+ "sizesTitle": "Allowed banner dimensions",
+ "sizesHeroTitle": "Allowed hero dimensions",
+ "sizesTallTitle": "Allowed portrait dimensions",
+ "sizesIconTitle": "Allowed icon dimensions"
},
"logger": {
"component": {
"noMessages": "No messages are available",
- "error": "ERROR",
- "info": "INFO",
- "success": "SUCCESS",
- "fuzzy": "FUZZY",
- "textWrap": "TEXT-WRAP",
- "autoscroll": "AUTOSCROLL",
- "clearLog": "Clear log",
+ "error": "Felmeddelanden",
+ "info": "Info messages",
+ "success": "Success messages",
+ "fuzzy": "Fuzzy messages",
+ "textWrap": "Wrap text",
+ "autoscroll": "Autoscroll",
+ "clearLog": "Rensa",
"issueDescription": "Thorough issue description with passable spelling.",
"handleExample": "CoolHandle#1234"
}
@@ -251,69 +318,81 @@
"corruptedVariables__i": "Saved custom variables are invalid!\r\nPermanent variable saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "Custom variables file has been downloaded."
+ "downloaded": "Custom variables file has been updated."
}
}
},
"configPresets": {
"service": {
"error": {
- "failedToDownload__i": "Failed to download configuration presets file. Status: ${error}.",
+ "failedToDownload__i": "Failed to download configuration presets file from commit ${commit}. Status: ${error}.",
"writingError": "Error occurred while saving configuration presets.",
"loadingError": "Error occurred while loading configuration presets.",
"corruptedVariables__i": "Saved configuration presets are invalid!\r\nPermanent file saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "New config presets have been downloaded."
+ "downloaded": "Community presets have been updated."
}
}
},
"settings": {
"component": {
"label": {
- "general": "General settings",
- "imageProviders": "Image provider settings",
- "fuzzy": "Fuzzy matcher settings",
- "environmentVariables": "Environment variable settings",
- "communityPresets": "Community variable/preset settings"
+ "general": "Allmänt",
+ "imageProviders": "Artwork Providers",
+ "fuzzy": "Fuzzy Matcher",
+ "environmentVariables": "Environment Variables",
+ "communityPresets": "Community Presets and Custom Variables"
},
"text": {
- "offlineMode": "Offline mode",
- "removeApps_desc": "all added app entries and controllers",
- "removeApps_btn": "Remove",
- "preloadImages": "Preload retrieved images immediately",
+ "autoUpdate": "Check for updates on start",
+ "offlineMode": "Offline-läge",
+ "removeApps_desc": "all added games and controllers",
+ "removeApps_btn": "Ta bort",
+ "preloadImages": "Artwork loading strategy",
"fuzzy_verbose": "Log matching results",
- "fuzzy_filter": "Filter images",
+ "fuzzy_filter": "Filter artwork",
"enabledProviders": "Enabled image providers",
- "selectLanguage": "Select language",
- "selectTheme": "Select theme",
+ "dnsServers": "DNS manual override",
+ "selectLanguage": "Välj språk",
+ "selectTheme": "Välj tema",
"resetFuzzy_desc": "fuzzy list",
"resetFuzzyCache_desc": "fuzzy cache",
- "resetFuzzy_btn": "Reset",
- "customVariables_desc": "custom variables",
+ "resetFuzzy_btn": "Återställ",
+ "customVariables_desc": "anpassade variabler",
"configPresets_desc": "config presets",
- "showSteamImages": "Show current Steam images by default",
+ "showSteamImages": "Show current Steam artwork by default",
"deleteDisabledShortcuts": "Remove shortcuts for disabled parsers",
"clearLogOnTest": "Automatically clear log before testing parsers",
- "configDir": "Open Config Directory"
+ "configDir": "Config Directory",
+ "steamDir": "Steam Directory"
},
"placeholder": {
- "noProviders": "None",
- "steamDirectoryWin": "Typically C:\\Program Files (x86)\\Steam",
- "steamDirectoryMac": "Typically ~/Library/Application Support/Steam",
- "steamDirectoryLinux": "Typically /home/user/.steam/steam",
+ "noProviders": "Ingen",
"userAccounts": "For example ${steamlogin}",
- "romsDirectoryWin": "For example D:\\ROMs",
- "romsDirectoryMac": "For example ~/ROMs",
- "romsDirectoryLinux": "For example ~/ROMs",
- "retroarchPathWin": "For example C:\\Path\\To\\retroarch.exe",
- "retroarchPathLinux": "For example /path/to/retroarch",
- "retroarchPathMac": "For example /path/to/retroarch",
- "raCoresDirectoryWin": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores",
- "raCoresDirectoryLinux": "Typically /lib/x86_64-linux-gnu/libretro/cores",
- "raCoresDirectoryMac": "Typically /Applications/Retroarch.app/Contents/Resources/cores",
- "localImagesDirectoryWin": "For example C:\\Path\\To\\LocalArtwork",
- "localImagesDirectoryUnix": "For example ~/path/to/localartwork"
+ "bySystem": {
+ "Windows_NT": {
+ "steamDirectory": "Typically C:\\Program Files (x86)\\Steam\\",
+ "romsDirectory": "For example D:\\ROMs\\",
+ "retroarchPath": "For example C:\\Path\\To\\Retroarch.exe",
+ "raCoresDirectory": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores\\",
+ "localImagesDirectory": "For example C:\\Path\\To\\LocalArtwork\\"
+ },
+ "Darwin": {
+ "steamDirectory": "Typically ~/Library/Application Support/Steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /Applications/Retroarch.app/Contents/Resources/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ },
+ "Linux": {
+ "steamDirectory": "Typically /home/user/.steam/steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /lib/x86_64-linux-gnu/libretro/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ }
+ }
}
},
"service": {
@@ -329,29 +408,33 @@
},
"nav": {
"component": {
- "about": "About",
+ "about": "Om",
"preview": "Preview",
- "logger": "Log",
- "settings": "Settings",
+ "view": "Visa spel",
+ "logger": "Logg",
+ "settings": "Inställningar",
"parsers": "Create Parser",
- "customVariables": "Variables",
- "userExceptions": "Exceptions",
- "noTitle": "No title!"
+ "customVariables": "Variabler",
+ "userExceptions": "Undantag",
+ "noTitle": "Ingen titel!"
}
},
"userExceptions": {
"component": {
"buttons": {
- "save": "Save",
- "deleteAll": "Clear",
- "undoChanges": "Undo changes",
- "addItem": "Add exception",
+ "save": "Spara",
+ "deleteAll": "Rensa",
+ "undoChanges": "Ångra ändringar",
+ "addItem": "Lägg till undantag",
"deleteItem": "Remove exception"
},
"text": {
"title": "User Exceptions",
- "exclude": "Exclude Title",
+ "exclude": "Exkludera titel",
"excludeArtwork": "Local Artwork Only"
+ },
+ "placeholder": {
+ "sortBy": "Sort By"
}
},
"service": {
@@ -365,15 +448,15 @@
"parsers": {
"component": {
"buttons": {
- "save": "Save",
- "copy": "Copy",
- "testParser": "Test parser",
- "delete": "Delete",
- "moveUp": "Move up",
- "moveDown": "Move down",
+ "save": "Spara",
+ "copy": "Klona",
+ "testParser": "Test",
+ "delete": "Radera",
+ "moveUp": "Flytta upp",
+ "moveDown": "Flytta ner",
"faq": "FAQ",
- "undoChanges": "Undo changes",
- "undoDelete": "Undo delete",
+ "undoChanges": "Ångra ändringar",
+ "undoDelete": "Ångra borttagning",
"toClipboard": "Copy configuration to clipboard"
},
"info": {
@@ -381,23 +464,23 @@
"opSys__i": "Operating system is \"${os}\"",
"testCompleted": "Parser test is completed.",
"nothingWasFound": "Parser found nothing.",
- "copiedToClipboard": "Configuration copied to clipboard",
+ "copiedToClipboard": "Parser copied to clipboard",
"userExclusions": "User excluded:",
- "excludedFileInfo__i": "[${index}/${total}]: ${filename}",
+ "excludedFileInfo__i": "[${index}/${total}]: ${filename}\n Excluded by \"${exceptionKey}\"",
"removingControllers__i": "Removing controller templates for parser: ${configTitle}",
"fetchingControllerTemplates": "Fetching controller templates"
},
"error": {
"missingAccounts__i": "Following ${count} user account(s) were not found (user must to login to Steam at least once):",
"missingAccountInfo__i": " ${name}",
- "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials (\"Show advanced options -> User accounts -> Use account credentials\").\r\nIf you're seeing this, preview won't be generated for this configuration.",
+ "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials.\r\nIf you're seeing this, Add Games will skip this configuration.",
"cannotParseUserIDs": "Error parsing user accounts:",
"failedToMatch": "Failed to match:",
"failedFileInfo__i": "[${index}/${total}]: ${filename}",
"testFailed": "Testing failed",
"cannotTestInvalid": "Can not test invalid configuration!",
"cannotCopyInvalid": "Can not copy invalid configuration!",
- "failedToCopy": "Failed to copy to clipbard!",
+ "failedToCopy": "Failed to copy to clipboard!",
"cannotFetchTemplates": "Can not fetch controller templates for invalid steam directory!",
"errorRemovingControllers": "Error removing controllers:",
"cannotRemoveControllers": "Can not remove controllers from invalid steam directory!"
@@ -405,8 +488,8 @@
"success": {
"foundAccounts__i": "Found ${count} available user account(s):",
"foundAccountInfo__i": " ${name} (steamID64: ${steamID64}, accountID: ${accountID})",
- "steamCategory__i": "[${index}/${total}]: Steam categories - ${steamCategory}",
- "steamCategoryInfo__i": "[${index}/${total}]: ${steamCategory}",
+ "steamCategories__i": "[${index}/${total}]: Steam categories - ${steamCategories}",
+ "steamCategoriesInfo__i": "[${index}/${total}]: ${steamCategories}",
"exceptionKey__i": "[${index}/${total}]: Exception ID - ${appid}",
"appId__i": "[${index}/${total}]: Legacy App ID - ${appid}",
"shortAppId__i": "[${index}/${total}]: App ID - ${appid}",
@@ -416,57 +499,81 @@
"filePath__i": "[${index}/${total}]: File path - ${filePath}",
"startDir__i": "[${index}/${total}]: Start dir - ${startDir}",
"completeShortcut__i": "[${index}/${total}]: Complete shortcut - ${shortcut}",
- "firstImageQuery__i": "[${index}/${total}]: Image queries - ${query}",
+ "firstImageQuery__i": "[${index}/${total}]: Artwork queries - ${query}",
+ "imagePool__i": "[${index}/${total}]: Artwork pool - ${imagePool}",
"imageQueries__i": "[${index}/${total}]: ${query}",
"defaultImage__i": "[${index}/${total}]: Resolved fallback ${artworkType}:\r\n[${index}/${total}]: ${image}",
"resolvedDefaultImage__i": "[${index}/${total}]: Fallback ${artworkType}:",
- "localImages__i": "[${index}/${total}]: Resolved ${artworkType}:",
- "resolvedLocalImages__i": "[${index}/${total}]: ${artworkType} glob:",
+ "localImages__i": "[${index}/${total}]: Resolved local ${artworkType}:",
+ "resolvedLocalImages__i": "[${index}/${total}]: Local ${artworkType} glob:",
"indexInfo__i": "[${index}/${total}]: ${indexed}",
"removedControllers__i": "Succesfully removed controllers for parser: ${configTitle}",
"fetchedTemplates": "Fetched all controller templates"
},
"label": {
"parserType": "Parser type",
- "configTitle": "Configuration title",
- "steamCategory": "Steam category",
+ "configTitle": "Parser title",
+ "steamCategories": "Steam collections",
"executableModifier": "Executable modifier",
"executableLocation": "Executable",
"romDirectory": "ROMs directory",
"steamDirectory": "Steam directory",
"startInDirectory": "\"Start In\" directory",
- "userAccounts": "User accounts",
+ "userAccounts": "Användarkonton",
"titleFromVariable": "Title from custom variable",
"titleModifier": "Title modifier",
"fuzzyMatch": "Fuzzy matching",
"executableArgs": "Command line arguments",
- "onlineImageQueries": "Online image query",
- "imagePool": "Image pool",
- "imageProviders": "Image providers",
+ "onlineImageQueries": "Artwork provider search queries",
+ "imagePool": "Artwork pool",
+ "imageProviders": "Artwork providers",
"defaultImage__i": "Fallback ${artworkType}",
"localImages__i": "Local ${artworkType} glob"
},
"placeholder": {
"parserType": "Select parser...",
"configTitle": "My Awesome Parser",
- "steamCategory": "${cat1}${cat2}",
- "steamDirectory": "${steamdirglobal} or /path/to/steam",
- "userAccounts": "${steamuser1}${steamuser2} or ${${accountsglobal}}",
- "titleFromVariable": "${myvariable}",
+ "steamDirectory": {
+ "Windows_NT": "${steamdirglobal} or C:\\path\\to\\Steam\\",
+ "Darwin": "${steamdirglobal} eller /path/to/Steam/",
+ "Linux": "${steamdirglobal} eller /path/to/Steam/"
+ },
+ "titleFromVariable": "${variableGroup1}${variableGroup2}",
"titleModifier": "${fuzzyTitle} or ${title}",
- "defaultImage__i": "/path/to/fallback_${artworkType}.png",
- "localImages__i": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
- "romDirectory": "/path/to/games/",
+ "defaultImage__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\fallback_${artworkType}.png",
+ "Darwin": "/path/to/fallback_${artworkType}.png",
+ "Linux": "/path/to/fallback_${artworkType}"
+ },
+ "localImages__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\art\\\\${artworkType}\\\\\\${title}.@(png|jpg)",
+ "Darwin": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
+ "Linux": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)"
+ },
+ "onlineImageQueries": "${${fuzzyTitle}} or ${${title}}${${fuzzyTitle}}",
+ "imagePool": "${fuzzyTitle}",
+ "romDirectory": {
+ "Windows_NT": "C:\\path\\to\\games\\",
+ "Darwin": "/path/to/games/",
+ "Linux": "/path/to/games/"
+ },
"glob": "${title}.@(iso|ISO)",
- "executableLocation": "Example: /path/to/emulator.exe",
- "executableArgs": "--arg1 --arg2",
+ "executableLocation": {
+ "Windows_NT": "C:\\path\\to\\emulator.exe",
+ "Darwin": "/path/to/emulator.app",
+ "Linux": "/path/to/emulator"
+ },
+ "executableArgs": "--arg1 --arg2 --launch \"${filePath}\"",
"executableModifier": "\"${exePath}\"",
- "startInDirectory": "/path/to/start/in/dir",
- "imageProviders": "None",
- "multiAPIPlaceholder": "No Filter"
+ "startInDirectory": {
+ "Windows_NT": "C:\\path\\to\\start-in-dir\\",
+ "Darwin": "/path/to/start-in-dir/",
+ "Linux": "/path/to/start-in-dir/"
+ },
+ "imageProviders": "Ingen",
+ "multiAPIPlaceholder": "Inget filter"
},
"text": {
- "tryToMatchTitle": "Enable Title from Custom Variable",
"skipFileIfVariableWasNotFound": "Skip file if variable was not found",
"caseInsensitiveVariables": "Case-insensitive variables",
"shortcut_passthrough": "Follow .lnk or .desktop to destination (Windows and Linux only)",
@@ -477,23 +584,23 @@
"appendArgsToExecutable": "Append arguments to executable",
"disabled": "Disable current parser",
"advanced": "Show advanced options",
- "noTitle": "No title!"
+ "noTitle": "Ingen titel!"
}
},
"service": {
"info": {
- "updatingConfigurations": "Updating user configurations with new fields"
+ "updatingConfigurations": "Updating user's parsers with new fields"
},
"error": {
- "savingConfiguration": "Error encountered while saving user configurations!",
- "readingConfiguration": "Error encountered while reading user configurations!",
+ "savingConfiguration": "Error encountered while saving user's parsers!",
+ "readingConfiguration": "Error encountered while loading user's parsers!",
"parserTypeMissing": "Cannot save without specifying parser type",
- "corruptedConfiguration__i": "One or more saved parser configurations are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
- "fetcingTemplates": "Error encountered while fetching controllers templates!"
+ "corruptedConfiguration__i": "One or more saved parsers are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
+ "fetchingTemplates": "Error encountered while fetching controllers templates!"
},
"validationErrors": {
"parserType__md": "> Incorrect parser type!",
- "configTitle__md": "> Configuration title is required!",
+ "configTitle__md": "> Parser title field cannot be blank!",
"parserId__md": "> Parser Id is missing, something is horribly wrong.",
"parserInput": {
"noInput": "No inputs are available!",
@@ -501,22 +608,18 @@
"incorrectParser": "Incorrect parser!"
},
"romDir__md": "> ROMs directory is invalid!",
- "userAccounts__md": "> Steam parser requires `User Accounts` field",
+ "userAccounts__md": "> User accounts field is required!",
"steamDir__md": "> Steam directory is invalid!",
"startInDir__md": "> \"Start In\" directory is invalid!",
"executable__md": "> Executable is invalid!",
- "imagePool__md": "> Image pool must not be empty!",
- "defaultImage__md": "> Default image is an invalid path!",
- "titleModifier__md": "> Title modifier must not be empty!",
- "executableModifier__md": "> Executable modifier must not be empty!",
- "variableString__md": "> Uneven number of `${` and `}` pairs. Use `\\` to escape `${` or `}` if you want to use them as characters.",
- "imageProviders__md": "> Incorrect image providers type!",
- "unhandledValidationKey__md": "> Input's validation is unhandled",
- "genericDir__md": "> Directory is invalid",
- "genericPath__md": "> Path is invalid"
+ "defaultImage__md": "> Fallback artwork is an invalid path!",
+ "variableString__md": "> Uneven number of `${` and `}` pairs! Use `\\` to escape `${` or `}` if you want to use them as characters.",
+ "unhandledValidationKey__md": "> Input's validation is unhandled!",
+ "genericDir__md": "> Directory is invalid!",
+ "genericPath__md": "> Path is invalid!"
},
"text": {
- "noTitle": "No title!"
+ "noTitle": "Ingen titel!"
}
}
},
@@ -540,7 +643,7 @@
"error": {
"parserNotFound__i": "Parser \"${name}\" not found!",
"tooManyFieldGlobs__md": "> Only one `$(...)$` set is allowed per input.",
- "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** ir **Glob-regex** field.",
+ "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** in **Glob-regex** field.",
"noWinSlashes__md": "> Windows directory character `\\` is not allowed! Use `/` instead."
}
},
@@ -567,11 +670,11 @@
"error": {
"readingVdf__i": "Failed to read from \"${filePath}\".\n ${error}",
"writingVdf__i": "Failed to write to \"${filePath}\".\n ${error}",
- "skippingDMCA__i": "Skipping DMCA'd image for ${title}",
+ "skippingDMCA__i": "Skipping DMCA'd artwork for ${title}",
"corruptedVdf__i": "\"${filePath}\" is corrupted.\n ${error}",
"creatingBackup__i": "Could not create backup for \"${filePath}\".\n ${error}",
"unsupportedMimeType__i": "Mime type (${type}) is unsupported (title - \"${title}\").",
- "imageError__i": "Error occurred while saving/downloading image for \"${title}\". Url: ${url}.\n ${error}"
+ "imageError__i": "Error occurred while saving/downloading artwork for \"${title}\". Url: ${url}.\n ${error}"
}
},
"helpers": {
diff --git a/src/lang/sv-SE/markdown/UWP-parser-input.md b/src/lang/sv-SE/markdown/UWP-parser-input.md
index 1a3f20be1d..8c045eea77 100644
--- a/src/lang/sv-SE/markdown/UWP-parser-input.md
+++ b/src/lang/sv-SE/markdown/UWP-parser-input.md
@@ -1,4 +1,4 @@
-# Unique inputs for UWP Parser
+# UWP Parser Specific Inputs
## Games directory
@@ -8,4 +8,4 @@ Set it to `C:\Program Files\WindowsApps` to grab all UWP applications -- you'll
## Launch as UWP or from GameLaunchHelper.exe
-Gamepass games can be launched both ways, although UWP is preffered.
+Gamepass games can be launched both ways, although UWP is preferred.
diff --git a/src/lang/sv-SE/markdown/UWP-parser.md b/src/lang/sv-SE/markdown/UWP-parser.md
index bfb5a847f3..1db5cf211e 100644
--- a/src/lang/sv-SE/markdown/UWP-parser.md
+++ b/src/lang/sv-SE/markdown/UWP-parser.md
@@ -2,6 +2,6 @@
This parser imports `UWP` games in your Windows OS, having a games library path as reference. Useful for PC gamepass!
-## Compatibility
+## Kompatibilitet
-This parser should only work on `Windows 10` and `Windows 11`.
\ No newline at end of file
+This parser should only work on `Windows 10` and `Windows 11`.
diff --git a/src/lang/sv-SE/markdown/about.md b/src/lang/sv-SE/markdown/about.md
index 5d541e8c17..12e3230652 100644
--- a/src/lang/sv-SE/markdown/about.md
+++ b/src/lang/sv-SE/markdown/about.md
@@ -2,7 +2,7 @@
Om du har problem med SRM, tveka inte att besöka [discorden](https://discord.gg/bnSVJrz) eller [subredditen](https://www.reddit.com/r/SteamRomManager/) och be om vår hjälp. För att vi ska kunna hjälpa dig vill vi att du tillhandahåller den här informationen:
-* SRM version: **#{APP[version]}**
+* SRM version: **#{APP[version]}** emudeckText
* Operativsystem: **#{APP[os]}**
## Användbara länkar
@@ -43,8 +43,9 @@ If you enjoy Steam ROM Manager and want it to continue to be useful also conside
* `CarJem`{.noWrap} - Added the manual parser.
* `MattMckenzy`{.noWrap} - Added ability to import and export image choices.
* `Apalatn`{.noWrap} - Added an install drive redirect option to the itch.io parser.
-* `OneMoreByte` - Made itch.io parser work on linux and mac.
-* `UndarkAido` - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `OneMoreByte`{.noWrap} - Made itch.io parser work on linux and mac.
+* `UndarkAido`{.noWrap} - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `HazardousBackup`{.noWrap} - Added option to GOG parser to parse Registry instead of GOG's DB.
### Community
* `HE Spoke`{.noWrap} - created a community around SRM. Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups. Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
diff --git a/src/lang/sv-SE/markdown/amazon-games-parser-input.md b/src/lang/sv-SE/markdown/amazon-games-parser-input.md
index 7ac728e20b..770697198e 100644
--- a/src/lang/sv-SE/markdown/amazon-games-parser-input.md
+++ b/src/lang/sv-SE/markdown/amazon-games-parser-input.md
@@ -1,4 +1,4 @@
-# Amazon Games Parser specific inputs
+# Amazon Games Parser Specific Inputs
## Amazon Games Path Override
By default Steam ROM Manager assumes your Amazon Games installation is located at `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`. This field allows you to override that path if your Amazon Games installation is elsewhere.
diff --git a/src/lang/sv-SE/markdown/amazon-games-parser.md b/src/lang/sv-SE/markdown/amazon-games-parser.md
index cdfda7c283..eb556fcc6e 100644
--- a/src/lang/sv-SE/markdown/amazon-games-parser.md
+++ b/src/lang/sv-SE/markdown/amazon-games-parser.md
@@ -1,3 +1,3 @@
# Amazon Games Parser
-This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/sv-SE/markdown/battle-net-parser-input.md b/src/lang/sv-SE/markdown/battle-net-parser-input.md
new file mode 100644
index 0000000000..1f03fae4a6
--- /dev/null
+++ b/src/lang/sv-SE/markdown/battle-net-parser-input.md
@@ -0,0 +1,5 @@
+# Battle.net Parser Specific Inputs
+
+## Battle.net.exe Path Override
+
+By default Steam ROM Manager assumes your `Battle.net` executable is located at `C:\Program Files (x86)\Battle.net\Battle.net.exe`. This field allows you to override that if your `Battle.net` is installed elsewhere.
diff --git a/src/lang/sv-SE/markdown/battle-net-parser.md b/src/lang/sv-SE/markdown/battle-net-parser.md
new file mode 100644
index 0000000000..c3ffb10b67
--- /dev/null
+++ b/src/lang/sv-SE/markdown/battle-net-parser.md
@@ -0,0 +1,5 @@
+# Battle.net Parser
+
+This parser imports games from the `Battle.net` app, so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Blizzard has altered the structure of their database files, in which case please let the developers of SRM know and we will resolve the issue.
+
+The `Battle.net` parser is somewhat special in that it uses a shell script at `${srmDir}/scripts/bnet.ps1` in order to launch `Battle.net`, wait an appropriate amount of time, and only then launch the actual title.
diff --git a/src/lang/sv-SE/markdown/config-title.md b/src/lang/sv-SE/markdown/config-title.md
index ed2eeef493..abadc31951 100644
--- a/src/lang/sv-SE/markdown/config-title.md
+++ b/src/lang/sv-SE/markdown/config-title.md
@@ -1,3 +1,5 @@
-# Configuration title
+# Parser title
-Title to save user configuration as. Does not have to be unique, but is required.
\ No newline at end of file
+Title of the parser. Does not have to be unique, but is required.
+
+This field will not affect what is added to `Steam` in any way.
diff --git a/src/lang/sv-SE/markdown/controller-templates.md b/src/lang/sv-SE/markdown/controller-templates.md
index 37c943f370..686b3ba13a 100644
--- a/src/lang/sv-SE/markdown/controller-templates.md
+++ b/src/lang/sv-SE/markdown/controller-templates.md
@@ -17,10 +17,10 @@ In the SRM parser:
Currently, SRM pulls all of the default (Valve made) templates for each controller as well as all of the user defined templates that end in `(SRM)`.
-* Select your templates and save the parser. The controller configsets will be applied once you hit `Save App List` in the preview.
+* Select your templates and save the parser. The controller configsets will be applied once you hit `Save to Steam` in the Add Games.
* To unset controller configs, you may either `Remove All Added App Entries` from global settings (this deletes all SRM made changes to your steam data) or hit `Unset All Controllers` in the parser (this only removes controller settings for the steam directory and user specified in that parser).
-Once this is done you can generate and save the preview as usual, and the template will be applied to all the titles in the parser.
+Once this is done you can parse and add games to steam as usual, and the templates will be applied to all the titles in the parser.
diff --git a/src/lang/sv-SE/markdown/default-image.md b/src/lang/sv-SE/markdown/default-image.md
index 47e3f9261e..7bf4e6413d 100644
--- a/src/lang/sv-SE/markdown/default-image.md
+++ b/src/lang/sv-SE/markdown/default-image.md
@@ -1,4 +1,4 @@
-# Default image (optional) `[supports variables]`{.noWrap}
+# Default image `[supports variables]`{.noWrap}
Allows one to use an image, stored locally, as a default/fallback image. A [special glob input](#special-glob-input) string is used to retrieve images. Only the first retrieved image is used.
diff --git a/src/lang/sv-SE/markdown/ea-desktop-parser-input.md b/src/lang/sv-SE/markdown/ea-desktop-parser-input.md
index 7990efb5b5..355ba68c8e 100644
--- a/src/lang/sv-SE/markdown/ea-desktop-parser-input.md
+++ b/src/lang/sv-SE/markdown/ea-desktop-parser-input.md
@@ -1,4 +1,4 @@
-# EA Desktop Parser specific inputs
+# EA Desktop Parser Specific Inputs
## EA Games Directory Override
By default Steam ROM Manager assumes your `EA Desktop` games are installed at ``C:\Program Files\EA Games\`. This field allows you to change that to wherever your games are installed, e.g.``D:\Games\EA Games`.
diff --git a/src/lang/sv-SE/markdown/epic-parser-input.md b/src/lang/sv-SE/markdown/epic-parser-input.md
index 88b5bd915c..c175be5c5e 100644
--- a/src/lang/sv-SE/markdown/epic-parser-input.md
+++ b/src/lang/sv-SE/markdown/epic-parser-input.md
@@ -1,4 +1,4 @@
-# Epic Games Store specific inputs
+# Epic Games Store Specific Inputs
## Manifests Directory Override
diff --git a/src/lang/sv-SE/markdown/epic-parser.md b/src/lang/sv-SE/markdown/epic-parser.md
index 9ac48fb419..147a827da3 100644
--- a/src/lang/sv-SE/markdown/epic-parser.md
+++ b/src/lang/sv-SE/markdown/epic-parser.md
@@ -8,5 +8,5 @@ In order for this parser to work with the open source Epic alternative [Legendar
That said, there is also a `Legendary` parser in SRM which works right out of the box.
-## Compatibility
+## Kompatibilitet
This parser is currently functional on `Windows` and `Mac OS` systems only. On `Mac OS` it is not possible to launch from the Epic Store, so that toggle should remain disabled.
diff --git a/src/lang/sv-SE/markdown/executable-arguments.md b/src/lang/sv-SE/markdown/executable-arguments.md
index 8b5121722a..e656c7a0d5 100644
--- a/src/lang/sv-SE/markdown/executable-arguments.md
+++ b/src/lang/sv-SE/markdown/executable-arguments.md
@@ -1,4 +1,4 @@
-# Command line arguments (optional) `[supports variables]`{.noWrap}
+# Command line arguments `[supports variables]`{.noWrap}
Arguments which are appended to executable to produce final shortcut. Most of the time you will want to set it using provided parser variables.
@@ -49,7 +49,7 @@ Arguments which are appended to executable to produce final shortcut. Most of th
### Nestopia (NES/Famicom)
```
-"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
+"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
```
### higan (NES/Famicom, SNES/Famicom, Gameboy, Gameboy Color, Gameboy Advance)
@@ -126,13 +126,13 @@ This setting is used to influence Steam's APP ID.
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -173,7 +173,7 @@ In case executable directory input is left **empty**, `${exePath}`{.noWrap} is e
In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
-## Function variables
+## Funktionsvariabler
| Variable (case-insensitive) | Corresponding function |
| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
@@ -187,6 +187,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -196,7 +197,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/sv-SE/markdown/executable-location.md b/src/lang/sv-SE/markdown/executable-location.md
index b13f57494f..36fbbc9a46 100644
--- a/src/lang/sv-SE/markdown/executable-location.md
+++ b/src/lang/sv-SE/markdown/executable-location.md
@@ -1,4 +1,4 @@
-# Executable (optional) `[supports environment variables]`
+# Executable `[supports env variables]`
Path to emulator's executable. Can be a file or any valid system path.
@@ -6,6 +6,8 @@ Path to emulator's executable. Can be a file or any valid system path.
In some cases you might want to run game from a some kind batch file which will also automatically run the emulator itself. If that is the case, then providing executable is unnecessary.
+The final shortcut will just be `"${filePath}" --command-line-args`.
+
### So, how do I add files to Steam without default executable?
All files retrieved by a parser will be treated as executables instead.
diff --git a/src/lang/sv-SE/markdown/executable-modifier.md b/src/lang/sv-SE/markdown/executable-modifier.md
index c3c5739e86..2131f6964d 100644
--- a/src/lang/sv-SE/markdown/executable-modifier.md
+++ b/src/lang/sv-SE/markdown/executable-modifier.md
@@ -1,102 +1,23 @@
# Executable modifier `[supports variables]`{.noWrap}
-Default value is `"${exePath}"`{.noWrap}. This setting can be used to prepend or append desired characters to an executable which will be added to Steam (`Target` property). For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you can add `"cmd" /k start /min` to it by setting value to:
+Defaults to `"${exePath}"`{.noWrap} if unset. This field can be used to prepend or append desired characters to the executable which will be added to the Steam shortcut's `Target` property. For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you could start `Retroarch` minimized by setting the `Executable Modifier` "cmd" to:
+
```
"cmd" /k start /min "${exePath}"
```
-You can use any other variable to construct the final executable.
-
-This setting influences Steam's APP ID.
-
-
-## Shortcut Passthrough
-If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the target of that shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser.
-
-## Directory variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
-
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
-
-## Name variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------------------------------- |
-| `${exeName}` | Name of executable (without extension) |
-| `${fileName}` | Name of file which was returned by a parser (without extension) |
-
-In case executable directory input is left **empty**, `${exeName}`{.noWrap} is equal to `${fileName}`{.noWrap}.
-
-## Extension variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------------------- |
-| `${exeExt}` | Extension of executable (with a dot) |
-| `${fileExt}` | Extension of file which was returned by a parser (with a dot) |
-In case executable directory input is left **empty**, `${exeExt}`{.noWrap} is equal to `${fileExt}`{.noWrap}.
+In this case the `Target` property would begin with:
-## Path variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:-------------------------------------------------- |
-| `${exePath}` | Full path to an executable |
-| `${filePath}` | Full path to a file which was returned by a parser |
-
-In case executable directory input is left **empty**, `${exePath}`{.noWrap} is equal to `${filePath}`{.noWrap}.
-
-## Parser variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------ |
-| `${title}` | Extracted title |
-| `${fuzzyTitle}` | Fuzzy matched title |
-| `${finalTitle}` | Title which was the end result of title modifier |
-
-In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
+```
+"cmd" /k start /min "C:\RetroArch\retroarch.exe"
+```
-## Function variables
+followed by whatever launch arguments you choose in the `Command Line Arguments` field.
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+You can use any other variable to construct the final executable.
-### Function variable example
+This setting influences Steam's APP ID.
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
-```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
-```
-will be replaced with these:
-```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+## Shortcut Passthrough
---On linux:
-file.so
---On Windows:
-file.dll
---On Mac OS:
-file
-```
+If you enable `Follow .lnk/.desktop to destination` and the glob search finds a `.lnk` or `.desktop` file, ie a shortcut, then the `${filePath}` variable will contain the target of the shortcut rather than the path to the shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the `Command Line Arguments` field in the parser.
diff --git a/src/lang/sv-SE/markdown/faq.md b/src/lang/sv-SE/markdown/faq.md
index 5987afe47c..1043322c3a 100644
--- a/src/lang/sv-SE/markdown/faq.md
+++ b/src/lang/sv-SE/markdown/faq.md
@@ -5,12 +5,12 @@ Read this if you're still having trouble with configuration. For most examples t
| | |
| ------------------ | ------------------------------------------ |
| **ROMs directory** | `C:/ROMs` |
-| **File1** | `C:/ROMs/Kingdom Hearts/game.iso` |
-| **File2** | `C:/ROMs/Kingdom Hearts II/rom.iso` |
-| **File3** | `C:/ROMs/dir1/dir2/dir3/Metroid [USA].nes` |
-| **File4** | `C:/ROMs/dir1/dir2/dir3/save.sav` |
-| **File5** | `C:/ROMs/dir1/dir2/Dragon Quest IV.NES` |
-| **File6** | `C:/ROMs/dir1/dir2/save.sav` |
+| **Fil1** | `C:/ROMs/Kingdom Hearts/game.iso` |
+| **Fil2** | `C:/ROMs/Kingdom Hearts II/rom.iso` |
+| **Fil3** | `C:/ROMs/dir1/dir2/dir3/Metroid [USA].nes` |
+| **Fil4** | `C:/ROMs/dir1/dir2/dir3/save.sav` |
+| **Fil5** | `C:/ROMs/dir1/dir2/Dragon Quest IV.NES` |
+| **Fil6** | `C:/ROMs/dir1/dir2/save.sav` |
## So, how do I setup user's glob?
@@ -18,7 +18,7 @@ First, let's analyze **File1**. Its full path is `C:/ROMs/Kingdom Hearts/game.is
We end up with `Kingdom Hearts/game.iso`. It obvious for us that `Kingdom Hearts` is the title, however parser is dumber than you -- you must specify path portion which contains the title by replacing `Kingdom Hearts` with `${title}`.
-Again, we end up with `${title}/game.iso`, but we also want **File2**, because it is for the same emulator. **File1** is `game.iso` and **File2** is `rom.iso`. What now?
+Again, we end up with `${title}/game.iso`, but we also want **File2**, because it is for the same emulator. **File1** is `game.iso` and **File2** is `rom.iso`. Vad händer nu?
Remember wild cards? They allow us to discard information that does not really matter. In this case we don't care if it is `game` or `rom`, we want both to be matched. That's why we replace them with `*`. This is the final glob for both **File1** and **File2**:
@@ -34,7 +34,7 @@ Using similar logic we can produce glob for **File3**:
## How to deal with multi-leveled directories?
-This time we want **File3** and **File5** (both have different extensions, read next section on what to do about it as for now we will use `*` to ignore extension). Notice that **File3** has `3` subdirectories while **File5** has `2`. What now?
+This time we want **File3** and **File5** (both have different extensions, read next section on what to do about it as for now we will use `*` to ignore extension). Notice that **File3** has `3` subdirectories while **File5** has `2`. Vad händer nu?
Now we can use a globstar and that's it!
```
@@ -103,7 +103,7 @@ Now parser can match any combination and is effectively case-insensitive. Techni
{*,*/*}/*/${title}.[nN][eE][sS]
```
-## Troubleshooting
+## Felsökning
* Please ensure that steam is actually closed before saving your app list.
* One common issue Steam ROM Manager runs into is the presence of old steam directories from people who logged into steam in your computer before the New Library Update. This can cause Steam ROM Manager to fail in unpredictable ways, as it tries to access directories whose structure has changed. In order to get around this, use the [User Accounts](#user-accounts) field to specify which accounts you actually want to use Steam ROM Manager with.
diff --git a/src/lang/sv-SE/markdown/glob-parser-input.md b/src/lang/sv-SE/markdown/glob-parser-input.md
index 996ae77ce1..f10cf80247 100644
--- a/src/lang/sv-SE/markdown/glob-parser-input.md
+++ b/src/lang/sv-SE/markdown/glob-parser-input.md
@@ -1,10 +1,10 @@
-# Glob Parser specific inputs
+# Glob Parser Specific Inputs
## User's glob
This is where you create your glob for extracting title from file path. Please read all of [special glob characters](#special-glob-characters) if you don't know how to construct a glob.
-## How does it work?
+## Hur funkar det?
In addition to special glob characters, glob parser requires you to enter `${title}`{.noWrap} variable. Parser will locate it's position inside your **glob**, for example:
@@ -16,6 +16,6 @@ In addition to special glob characters, glob parser requires you to enter `${tit
After acquiring `${title}`{.noWrap} position, `${title}`{.noWrap} will be replaced with a wildcard `*`.
-## Limitations
+## Begränsningar
Position extraction comes with some limitations -- glob is invalid if position can not be extracted. Most of the time you will be warned about what you can't do, however, if you find a combination that is allowed, but produces incorrect titles please make an issue at [github](https://github.com/FrogTheFrog/steam-rom-manager/issues).
diff --git a/src/lang/sv-SE/markdown/glob-regex-parser-input.md b/src/lang/sv-SE/markdown/glob-regex-parser-input.md
index 22c1f5cea6..90c37cc9ff 100644
--- a/src/lang/sv-SE/markdown/glob-regex-parser-input.md
+++ b/src/lang/sv-SE/markdown/glob-regex-parser-input.md
@@ -1,12 +1,12 @@
-# Glob-regex Parser specific inputs
+# Glob-regex Parser Specific Inputs
## User's glob-regex
This is where you create your glob for extracting title from file path. Please read all of [special glob characters](#special-glob-characters) if you don't know how to construct a glob.
-## How does it work?
+## Hur funkar det?
-In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
+In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
| User's glob | Position |
| --------------------- | --------------------------- |
@@ -34,7 +34,7 @@ First match group (from left to right) with all correct captures will be used. F
### Regular expression with capture brackets and replacement text: `${/(.+)/|...}`{.noWrap}
-Similar to [regular expression with capture brackets](#regular-expression-with-capture-brackets) except for how it handles captured groups. Replacement text can be used to move around captured groups. For example:
+Similar to [regular expression with capture brackets](#regular-expression-with-capture-brackets) except for how it handles captured groups. Replacement text can be used to move around captured groups. Till exempel:
```
${/(.*?)\s*\[USA\]\s*(.+)/|Second capture group: "$2" precedes the first one, which is "$1" }
```
@@ -48,6 +48,6 @@ Untouched text will remain by default, so if you see some trailing characters be
Allowed flags are `i`, `g` and `u`.
-## Limitations
+## Begränsningar
Position extraction comes with some limitations -- glob is invalid if position can not be extracted. Most of the time you will be warned about what you can't do, however, if you find a combination that is allowed, but produces incorrect titles please make an issue at [github](https://github.com/FrogTheFrog/steam-rom-manager/issues).
diff --git a/src/lang/sv-SE/markdown/gog-parser-input.md b/src/lang/sv-SE/markdown/gog-parser-input.md
index 756fa3de77..bf185f2c23 100644
--- a/src/lang/sv-SE/markdown/gog-parser-input.md
+++ b/src/lang/sv-SE/markdown/gog-parser-input.md
@@ -1,10 +1,20 @@
-# Unique inputs for GOG Galaxy Parser
+# GOG Galaxy Parser Specific Inputs
## Galaxy Path Override
-By default Steam ROM Manager assumes your Galaxy Client is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe`. This field allows you to override that path if your GOG Galaxy installation is elsewhere.
-This field is actually only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of the Galaxy Client.
+By default Steam ROM Manager assumes your GOG Galaxy executable is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe` on Windows and `/Applications/GOG Galaxy.app/Contents/MacOS/GOG Galaxy` on Mac. This field allows you to override that path if your GOG Galaxy executable is elsewhere.
-## Launch Via GOG Galaxy `[Recommend disabled]`
+Specifying the correct location of GOG Galaxy's executable is only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of GOG Galaxy's executable.
-What it sounds like, this toggle let's you set whether games will launch via GOG Galaxy or directly. Note that for some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+## Launch via GOG Galaxy `[Recommend disabled]`
+
+What it sounds like, this toggle determines whether games launch via GOG Galaxy or directly. For some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+
+## Parse Linked Executables from GOG Galaxy
+
+If enabled, SRM will pull in not only GOG games aquired from GOG Galaxy's store, but also those you have manually linked executables for in GOG Galaxy. This is desirable if those games are not being parsed into SRM elsewhere.
+
+A caveat is that because GOG Galaxy does not store the names linked executables in its database, SRM will use the directory name of the executable on Windows (e.g. `C:\\path\\to\\Hoa\\LaunchHoa.exe` would be assigned the title `Hoa`) and the executable name on Mac (e.g. `/Applications/Symphonia.app` would be assigned the title `Symphonia`).
+
+## Parse using Registry instead of Galaxy DB `[Windows only] [Recommend disabled]`
+This option will parse the Windows Registry for installed GOG games instead of GOG Galaxy's SQL database, allowing the parser to work even if GOG Galaxy is not installed. If this is enabled, `Parse Linked Executables` will of have no effect, but `Launch via GOG Galaxy` will work as normal.
\ No newline at end of file
diff --git a/src/lang/sv-SE/markdown/image-pool.md b/src/lang/sv-SE/markdown/image-pool.md
index 8b54cf72d9..0b4e4a94fb 100644
--- a/src/lang/sv-SE/markdown/image-pool.md
+++ b/src/lang/sv-SE/markdown/image-pool.md
@@ -1,3 +1,5 @@
-# Image pool `[supports variables]`{.noWrap}
+# Artwork pool `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting is used to allow different apps share the same images -- same "image pool", or allow unique image pool per app. To use unique image pool per app just set it to something unique. For example `${fuzzyTitle} SNES`{.noWrap}.
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset.
+
+This field is used to allow games from different parsers to share the same images (i.e. the same "image pool") if they have the same title. If you want different parsers not to share images for games with the same title, just set this field to something unique, for example `${fuzzyTitle} SNES`{.noWrap} or `${fuzzyTitle} ${parserTitle}`{.noWrap}.
diff --git a/src/lang/sv-SE/markdown/image-providers.md b/src/lang/sv-SE/markdown/image-providers.md
index 0b778780c6..f70a9275f6 100644
--- a/src/lang/sv-SE/markdown/image-providers.md
+++ b/src/lang/sv-SE/markdown/image-providers.md
@@ -1,7 +1,7 @@
-# Image providers
+# Artwork providers
-Here you can select image providers that are used to retrieve images. This option is for this configuration only.
+Here you can select artwork providers (online sources of game art) that are used by SRM to get art for your games.
## Similar option in "Settings" menu
-Settings menu has "Enabled providers" which enable image providers globally -- if it's not enabled in Settings, it won't work.
+Settings menu has "Enabled providers" which enable artwork providers globally -- if it's not enabled in Settings, it won't work.
diff --git a/src/lang/sv-SE/markdown/intro.md b/src/lang/sv-SE/markdown/intro.md
index f8d5fcabda..a6d65c0059 100644
--- a/src/lang/sv-SE/markdown/intro.md
+++ b/src/lang/sv-SE/markdown/intro.md
@@ -8,8 +8,8 @@ Also, don't forget to check FAQ. If you still got questions about setting up con
After saving parser configuration, **1** of **3** colors will be shown next to its title:
- -- Enabled configuration. This configuration will be used when generating a list in **preview** page.
+ -- Enabled configuration. This configuration will be used when generating a list in **Add Games** page.
- -- Unsaved changes. This configuration will not be used when generating a list in **preview** page, however earlier **saved** version will be used instead.
+ -- Unsaved changes. This configuration will not be used when generating a list in **Add Games** page, however earlier **saved** version will be used instead.
- -- Disabled configuration. This configuration will not be used when generating a list in **preview** page.
\ No newline at end of file
+ -- Disabled configuration. This configuration will not be used when generating a list in **Add Games** page.
\ No newline at end of file
diff --git a/src/lang/sv-SE/markdown/itch-io-parser-input.md b/src/lang/sv-SE/markdown/itch-io-parser-input.md
index 4b0057c170..ffa409af96 100644
--- a/src/lang/sv-SE/markdown/itch-io-parser-input.md
+++ b/src/lang/sv-SE/markdown/itch-io-parser-input.md
@@ -1,4 +1,4 @@
-# itch.io Parser specific inputs
+# itch.io Parser Specific Inputs
## itch.io AppData Path Override
By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere.
diff --git a/src/lang/sv-SE/markdown/itch-io-parser.md b/src/lang/sv-SE/markdown/itch-io-parser.md
index 7f29ffc42d..accb8b5ad2 100644
--- a/src/lang/sv-SE/markdown/itch-io-parser.md
+++ b/src/lang/sv-SE/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
# itch.io Parser
-This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/sv-SE/markdown/legendary-parser-input.md b/src/lang/sv-SE/markdown/legendary-parser-input.md
index 80ca0bcbbc..4a826e43da 100644
--- a/src/lang/sv-SE/markdown/legendary-parser-input.md
+++ b/src/lang/sv-SE/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
-# Legendary Parser specific inputs
+# Legendary Parser Specific Inputs
+
+## Legendary Path Override
+
+By default Steam ROM Manager uses `(Get-Command legendary).Path` on Windows and `which legendary` on Linux and Mac to determine the location of your Legendary executable. This field allows you to override that path.
+
+Specifying the correct location of the Legendary executable is only necessary if you enable launch via Legendary (see below), as otherwise SRM has no need of the location of Legendary's executable.
## Legendary `installed.json` Path Override
Most users shouldn't use this, as they use the standard `Legendary` installation where installed games manifest will be located at `~/.config/legendary/installed.json`.
If, however, for some reason your installed games manifest is located in a non-typical location then you can specify the correct manifest path here.
+
+## Launch via Legendary `[Recommend enabled]`
+
+What it sounds like, this toggle determines whether games launch via Legendary or directly. Launching via Legendary provides access to Epic's online services.
diff --git a/src/lang/sv-SE/markdown/legendary-parser.md b/src/lang/sv-SE/markdown/legendary-parser.md
index e9db27316c..c1e4ba31d2 100644
--- a/src/lang/sv-SE/markdown/legendary-parser.md
+++ b/src/lang/sv-SE/markdown/legendary-parser.md
@@ -4,5 +4,5 @@ This parser imports games from [Legendary](https://github.com/derrod/legendary),
If it doesn't work it is because has altered the structure of their game manifests, in this case please let the developers of SRM know and we will resolve the issue.
-## Compatibility
+## Kompatibilitet
This parser works on `Windows`, `Linux`, and `Mac OS`. It would probably run just fine on your toaster if your toaster has an `installed.json` file somewhere.
diff --git a/src/lang/sv-SE/markdown/local-images.md b/src/lang/sv-SE/markdown/local-images.md
index cff60e5674..5da2e5ae4c 100644
--- a/src/lang/sv-SE/markdown/local-images.md
+++ b/src/lang/sv-SE/markdown/local-images.md
@@ -1,4 +1,4 @@
-# Local images (optional) `[supports variables]`{.noWrap}
+# Local images `[supports variables]`{.noWrap}
Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
diff --git a/src/lang/sv-SE/markdown/manual-parser-input.md b/src/lang/sv-SE/markdown/manual-parser-input.md
index bc1848d45a..65265ebd32 100644
--- a/src/lang/sv-SE/markdown/manual-parser-input.md
+++ b/src/lang/sv-SE/markdown/manual-parser-input.md
@@ -1,4 +1,4 @@
-# Manual Parser specific inputs
+# Manual Parser Specific Inputs
## Manifests Directory `[Supports Environment Variables]`{.noWrap}
@@ -17,7 +17,8 @@ The names of the files do not matter. What does matter is that each `manifest.js
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args",
+ "appendArgsToExecutable": false
}
```
Or a list of titles, like so:
@@ -27,15 +28,19 @@ Or a list of titles, like so:
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args".
+ "appendArgsToExecutable": true
},
{
"title": "gameTitle2",
"target": "game2/path/target.sh",
"startIn": "game2/path",
- "launchOptions": "--args2"
+ "launchOptions": "--args2",
+ "appendArgsToExecutable": false
}
]
```
A typical use case would be to use a single json file per game type, or per year, etc.
+
+Just like for ROM parsers, `appendArgsToExecutable` determines whether `launchOptions` are appended to the shortcut `target` or appear separately as launch options in steam.
diff --git a/src/lang/sv-SE/markdown/non-srm-shortcuts-parser.md b/src/lang/sv-SE/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..509b486cef
--- /dev/null
+++ b/src/lang/sv-SE/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,29 @@
+# Non-SRM Shortcut Parser
+
+This parser imports non SRM steam shortcuts into SRM so their artowrk can be managed. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
+
+## Användarkonton
+
+Used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
+
+```
+${...}
+```
+
+You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
+
+ {.fitImage .center}
+
+For example, this is how you specify account for "Banana" and "Apple":
+
+```
+${Banana}${Apple}
+```
+
+You can also limit accounts by specifying their ids directly. Till exempel:
+
+```
+${56489124}${21987424}
+```
+
+Would limit the search to `steam/userdata/56489124` and `steam/userdata/21987424`.
diff --git a/src/lang/sv-SE/markdown/parser-env-variables.md b/src/lang/sv-SE/markdown/parser-env-variables.md
index 3b186a70f7..e95baf9137 100644
--- a/src/lang/sv-SE/markdown/parser-env-variables.md
+++ b/src/lang/sv-SE/markdown/parser-env-variables.md
@@ -13,3 +13,5 @@ These variables are pre parsed and can be used even in the Rom Directory, Steam
The utility of the environment variable `${srmdir}` is to make SRM fully portable, eg if you wanted to have the directory layout `D:\Games\Roms` and `D:\Games\PortableSRM\SRM.exe` then setting the field Roms Directory to be `${srmdir}${/}..${/}Roms` would allow you to move the Games directory somewhere else without breaking your setup.
+
+Function variables can also be used in fields that permit environment variables (e.g. `${os:win|C:\path\to\startdir|${os:linux|/path/to/startdir}}`)
diff --git a/src/lang/sv-SE/markdown/parser-variables.md b/src/lang/sv-SE/markdown/parser-variables.md
index 7e9eb636ff..e7ff60cc69 100644
--- a/src/lang/sv-SE/markdown/parser-variables.md
+++ b/src/lang/sv-SE/markdown/parser-variables.md
@@ -4,13 +4,13 @@ Here are tables of variables that can be used with options that have `[supports
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -48,10 +48,11 @@ In case executable directory input is left **empty**, `${exePath}`{.noWrap} is e
| `${title}` | Extracted title |
| `${fuzzyTitle}` | Fuzzy matched title |
| `${finalTitle}` | Title which was the end result of title modifier |
+| `${parserTitle}` | The value of the `Parser Title` field |
In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
-## Function variables
+## Funktionsvariabler
| Variable (case-insensitive) | Corresponding function |
| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
@@ -65,6 +66,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -74,7 +76,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/sv-SE/markdown/parsers-list.md b/src/lang/sv-SE/markdown/parsers-list.md
index 1e5e43f80f..6ab3846611 100644
--- a/src/lang/sv-SE/markdown/parsers-list.md
+++ b/src/lang/sv-SE/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# Parsers
-In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**
diff --git a/src/lang/sv-SE/markdown/rom-directory.md b/src/lang/sv-SE/markdown/rom-directory.md
index 555452224f..5b15d2e2b7 100644
--- a/src/lang/sv-SE/markdown/rom-directory.md
+++ b/src/lang/sv-SE/markdown/rom-directory.md
@@ -1,3 +1,3 @@
-# ROMs directory `[supports environment variables]`
+# ROMs directory `[supports env variables]`
Starting directory for game or app files.
diff --git a/src/lang/sv-SE/markdown/settings.md b/src/lang/sv-SE/markdown/settings.md
index c35d49e806..9264da1de4 100644
--- a/src/lang/sv-SE/markdown/settings.md
+++ b/src/lang/sv-SE/markdown/settings.md
@@ -1,31 +1,51 @@
-## General Settings
+## Allmänna inställningar
+### Check for updates on start `[Recommend enabled]`
+Check if an update for SRM is available and prompt to update each time SRM launches.
+### Auto kill Steam `[Recommend enabled]`
+SRM will attempt to kill all running instances of Steam whenever it needs to read/write collections information (specifically when saving to steam from `Add Games` and when removing all games from `Settings`).
+### Auto restart Steam `[Recommend enabled]`
+SRM will attempt to restart Steam after killing it and completing whatever collections related task required killing Steam in the first place. Requires `Auto kill Steam` to be enabled.
### Offline mode `[Recommend disabled]`
-
When enabled SRM makes no network requests, useful if you only want to use SRM for local images.
### Automatically clear log before testing parsers `[Recommend enabled]`
When enabled the log is cleared each time a parser is tested.
+## Lägg till spel
### Show current steam images by default `[Recommend enabled]`
When enabled this setting tells SRM to default to whatever artwork is currently in steam for a given app. If it is disabled, then every time SRM is run (and saved) all artwork will be reset.
### Remove shortcuts for disabled parsers `[Recommend disabled]`
When enabled disabling a parser and running SRM will remove all added entries and artwork for the disabled parser. Useful if you want your steam library to be in 1-1 correspondence with enabled parsers.
-
+### Disable saving of steam categories `[Recommend disabled]`
+SRM will not write any collections information when saving to Steam. This allows SRM to perform its tasks while Steam is still running, at the obvious cost that added games will not be categorized.
+### Hide Steam username from Add Games
+Steam does not allow user's to alter their Steam usernames. In some cases (childish names, dead names, etc), users may no longer wish to see their Steam usernames. This setting hides it from `Add Games`.
+### Remove all added games and controllers
+Undo all SRM added changes from Steam.
+### Remove all controllers only
+Undo all SRM added controller settings from Steam.
## Fuzzy Matcher Settings
### Log matching results `[Recommend disabled]`
When enabled more verbose logs appear for the fuzzy title matcher in the `Event log`. Useful for debugging incorrect fuzzy matches.
-
### Reset fuzzy list
Resets the stored list of titles used for fuzzy matching to the list of titles returned by `SteamGridDB` (removes any user added titles).
### Reset fuzzy cache
Clears the cache of titles that fuzzy matching has already seen (try this if changes you make to fuzzy list are not resulting in changes to titles in SRM).
-
## Image provider settings
-### Preload retrieved images `[Recommend disabled]`
-When enabled, SRM will pull all available artwork for every game, rather than pulling one piece of artwork at a time as the user flips through the images. Don't enable this unless you have a good reason and a very small library of games, otherwise it could result in very large (slow) network requests.
+### Artwork loading strategy `[Recommend Load artwork lazily]`
+This is the strategy SRM uses to pull artwork thumbnails for the `Add Games` UI. If you are parsing a lot of games, `Load artwork lazily` is recommended. `Preload first artwork` will try to pull the first piece of artwork for each game in each artwork category, and `Preload all artwork` will try to pull all available artwork for each game in each artwork category. `Preload all artwork` will cause network and performance issues unless the number of games is quite small (less than `30` or so).
### Enabled providers
-Global setting to disable certain providers. Currently the only image provider is `SteamGridDB` since ConsoleGrid and RetroGaming.cloud are defunct.
-
+Global setting to enable/disable particular image providers. Current options are `SteamGridDB` and `Steam Official`.
+### DNS manual override
+Set this if you want SRM to do DNS resolution internally, as opposed to relying on your system's default DNS server. This solves many timeout issues on the Steam Deck.
+### Batch size for image downloads
+Number of images SRM will attempt to download at once when saving to Steam. May help to lower this if you are receiving timeout errors from SGDB.
+### Nuke artwork choice cache
+SRM attempts to remember your artwork choices, this button forcibly forgets all of them.
+### Nuke local artwork backups
+This deletes all artwork backups created for parsers with `Backup artwork locally` enabled.
## Community Variables and Presets
### Force download custom variables.
Resets the custom variables JSON file that is used for certain presets to whatever its current state is on the SRM github. Useful if the custom variables JSON file has been corrupted.
### Force download custom presets.
Resets the JSON files for parser presets to whatever is on the SRM github. Useful if your presets list is not automatically updating for some reason, or has become corrupted.
+### Force download shell scripts
+Re fetches the shell scripts SRM uses to perform certain tasks.
diff --git a/src/lang/sv-SE/markdown/sgdb-api-input.md b/src/lang/sv-SE/markdown/sgdb-api-input.md
index 553f4fda77..7651927a64 100644
--- a/src/lang/sv-SE/markdown/sgdb-api-input.md
+++ b/src/lang/sv-SE/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
This set of options are direct inputs into the APIs of image providers, for example SteamGridDB's [API](https://www.steamgriddb.com/api/v2).
-An interesting quirk of these settings is that re-generating the preview (hitting the `Generate App List` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove App List` button in preview before hitting `Generate App List`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the preview with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
+An interesting quirk of these settings is that re-generating the game list in Add Games (hitting the `Refresh` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove from Steam` button in Add Games before hitting `Refresh`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the game list with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
## SteamGridDB
diff --git a/src/lang/sv-SE/markdown/special-glob-input.md b/src/lang/sv-SE/markdown/special-glob-input.md
index f5d491df25..b4df1f6360 100644
--- a/src/lang/sv-SE/markdown/special-glob-input.md
+++ b/src/lang/sv-SE/markdown/special-glob-input.md
@@ -1,6 +1,6 @@
# Special glob input
-## How does it work?
+## Hur funkar det?
Image paths are resolved in 4 step process:
1. String is evaluated to see if a glob based parser is used. Depending on the result, further parsing may continue with `2` glob sets.
@@ -10,7 +10,7 @@ Image paths are resolved in 4 step process:
## Usage example
-### Absolute paths
+### Absoluta sökvägar
Let's say that the extracted title is `Metroid Fusion [USA]` and fuzzy title is `Metroid Fusion`. You can then construct an image path like this:
@@ -22,7 +22,7 @@ which will be resolved to this:
- `C:/path/to/images/Metroid Fusion [USA].png`
- `C:/path/to/images/Metroid Fusion.jpg`
-### Relative paths
+### Relativa sökvägar
For this example, let's say that ROMs directory is `C:/ROMS/GBA` and rom itself is `C:/ROMS/GBA/Metroid Fusion [USA].gba`. Set up a relative path, using `${filePath}`{.noWrap} or `${dir}`{.noWrap} variables, for example:
diff --git a/src/lang/sv-SE/markdown/start-in-directory.md b/src/lang/sv-SE/markdown/start-in-directory.md
index 86cf962c23..df84a987d5 100644
--- a/src/lang/sv-SE/markdown/start-in-directory.md
+++ b/src/lang/sv-SE/markdown/start-in-directory.md
@@ -1,6 +1,6 @@
-# "Start In" directory (optional) `[supports environment variables]`{.noWrap}
+# "Start In" directory `[supports env variables]`
-By default "Start In" directory is set to executable's directory:
+If `"Start In" Directory` is unset it defaults to the executable's directory. If not executable is set, it defaults to the directory of the ${filePath} variable:
 {.fitImage.center}
@@ -11,4 +11,5 @@ This option allows you to specify any directory you want as a "Start In" directo
It is useful when you're using batch files to start emulator and a game, but emulator requires a specific "Start In" directory to work properly.
## Shortcut Passthrough
+
If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the directory of the target of that shortcut. In the future, it will be overridden with the start in directory of that shortcut.
diff --git a/src/lang/sv-SE/markdown/steam-category.md b/src/lang/sv-SE/markdown/steam-category.md
index 079073dab9..677ea3d0ef 100644
--- a/src/lang/sv-SE/markdown/steam-category.md
+++ b/src/lang/sv-SE/markdown/steam-category.md
@@ -1,21 +1,13 @@
-# Steam category (optional) `[supports variables]`{.noWrap}
+# Steam category`{.noWrap}
+
+Hit the little plus sign to add your first category.
-Also known as "tags", can be used to group apps in Steam. In order to set Steam category, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify categories for "WII" and "GBA" (paired with "ROMS") category:
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
This how "WII" category will look like in Steam:

## Emojis and non-Standard Unicode Characters
+
Please not that this field works just fine with emojis like `🎮` work just fine in category names.
You can find a list of them here: [https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/sv-SE/markdown/steam-directory.md b/src/lang/sv-SE/markdown/steam-directory.md
index b15010e819..bb82bc6a97 100644
--- a/src/lang/sv-SE/markdown/steam-directory.md
+++ b/src/lang/sv-SE/markdown/steam-directory.md
@@ -1,4 +1,4 @@
-# Steam directory `[supports environment variables]`{.noWrap}
+# Steam directory `[supports env variables]`
Must be a valid Steam directory which contains Steam executable. In order for Steam account to be detected, user must have logged in at least once.
diff --git a/src/lang/sv-SE/markdown/steam-parser-input.md b/src/lang/sv-SE/markdown/steam-parser-input.md
index 75f21d380d..1174b71b64 100644
--- a/src/lang/sv-SE/markdown/steam-parser-input.md
+++ b/src/lang/sv-SE/markdown/steam-parser-input.md
@@ -1,4 +1,4 @@
-# Steam Parser specific inputs
+# Steam Parser Specific Inputs
## Find artwork for games only
If enabled SRM will filter out any Steam applications that are not full games, such as demos and tools like `3DMark` or `Wallpaper Engine`.
diff --git a/src/lang/sv-SE/markdown/steam-parser.md b/src/lang/sv-SE/markdown/steam-parser.md
index b158f676a8..5b93d8bc77 100644
--- a/src/lang/sv-SE/markdown/steam-parser.md
+++ b/src/lang/sv-SE/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Steam parser
-This parser imports steam games into SRM. It does not add shortcuts, but it allows you to set the artwork for your steam games. By default the parser will get games from all user accounts in the steam directory specified — if you would prefer to only get the games for a subset of the accounts then specify them in the `User accounts` field.
-
-## Limitations
-Unfortunately for the time being this parser only works for steam games **that are in at least one category**. The reason for this is that Steam only stores your full list of games locally if they are categorized. Sometimes, for unknown reasons, games will be stored locally regardless and the parser will work, but to be safe the easiest thing to do is just **create a Steam Category** that has all of your Steam games in it.
-
-## User accounts (Optional)
-
-Can be used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
-```
-${...}
-```
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
-
- {.fitImage.center}
-
-For example, this is how you specify account for "Banana" and "Apple":
-
-```
-${Banana}${Apple}
-```
-
-In case the [use account credentials](#what-does-use-account-credentials-do) is disabled, you can still limit accounts by specifying their ids directly:
-
-```
-${56489124}${21987424}
-```
-
-## What does "Skip found accounts with missing data directories" do?
-
-Sometimes Steam's file that contains logins, may contain users that do not have data directory created (might have been manually deleted, etc.). You can specify to skip those accounts by enabling this option.
-
-## What does "Use account credentials" do?
-
-Tries to look for account credentials in Steam directory. In other words -- username. Username then can be used to filter accounts without actually having to know their ids.
-
-### Warning!
-
-If Steam has credential saving disabled, this option will prevent finding user accounts.
+This parser imports steam games into SRM so you can manage their artwork. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
\ No newline at end of file
diff --git a/src/lang/sv-SE/markdown/title-from-variable.md b/src/lang/sv-SE/markdown/title-from-variable.md
index bb6e4a52a2..6a81c5b533 100644
--- a/src/lang/sv-SE/markdown/title-from-variable.md
+++ b/src/lang/sv-SE/markdown/title-from-variable.md
@@ -1,43 +1,40 @@
-# Title from custom variable (optional)
+# Title from custom variable
-Allows to overwrite extracted title with a custom variable. This is done right after title extraction, meaning that the replaced title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+Allows one to overwrite the extracted title with a custom variable, pulled from the `json` files described below. This happens right after title extraction, meaning that the new title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+
+Title matching is limited to specific groups of custom variables. For example, this is how you specify groups "FBN" and "PSN":
-Title matching can be limited to specific groups of custom variables. In order to specify groups, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify groups for "RPCS3" and "rpcs3":
```
-${RPCS3}${rpcs3}
+${RPCS3}${PSN}
```
-Make sure you **toggle enable to on**.
-
-
-## Case-insensitive option
-
-If this option is enabled, case-insensitive matching will be done and first matched custom variable will be used.
-
-## Note. This feature is **experimental**
+# Hur det fungerar
-Basically, it might change in the future release (very unlikelly). Furthermore, currently the only way to add variables is to create/edit `customVariables.json` used by SRM directly.
+There are two variable files, `customVariables.json` which is maintained by SRM (don't change this one, your changes will be overwritten every time SRM restarts) and `userVariables.json` which is where you should put your own variables. Both files are located in SRM's `Config Directory`.
-This file is/shoud be located in SRM's `userData` directory.
-
-SRM will throw error unless the following JSON structure is used:
+Both `customVariables.json` and `userVariables.json` have the same JSON structure. SRM will throw an error unless the following JSON structure is used:
```
{
- "RPCS3": {
+ "Group1": {
"NPUB30698": "Catherine",
"NPUB30024": "1942: Joint Strike",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
+ "Group2": {
+ "The Legend Of Zelda": "The Legend Of Link",
+ ...
},
...
}
```
-Then if your user glob were `MyDir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `MyDir`, you would set the title from custom variable field to `${Custom Stuff}` to obtain a final title of "The Legend of Link".
+Then if your user glob were `romsdir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `romsdir`, you would set the title from custom variable field to `${Group2}` to obtain a title of "The Legend of Link".
+
+## Case-insensitive variables
+
+If enabled, case-insensitive matching will be done and first matched custom variable will be used.
+
+## Skip file if variable not found
+
+If enabled, titles that don't match a variable will be excluded.
diff --git a/src/lang/sv-SE/markdown/title-modifier.md b/src/lang/sv-SE/markdown/title-modifier.md
index 791e000e27..4ecb2d02db 100644
--- a/src/lang/sv-SE/markdown/title-modifier.md
+++ b/src/lang/sv-SE/markdown/title-modifier.md
@@ -1,9 +1,11 @@
# Title modifier `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting can be used to prepend or append desired characters to a title which will be added to Steam. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset. This setting can be used to prepend or append desired characters to a Steam shortcut's `Title`. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+
```
${fuzzyTitle} (1.7.5)
```
+
You can use `${title}`{.noWrap} or any other variable to construct the final title.
This setting influences Steam's APP ID.
diff --git a/src/lang/sv-SE/markdown/uplay-parser-input.md b/src/lang/sv-SE/markdown/uplay-parser-input.md
index f40bbcd928..3a54e84b1a 100644
--- a/src/lang/sv-SE/markdown/uplay-parser-input.md
+++ b/src/lang/sv-SE/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# Unique inputs for UPlay Parser
+# UPlay Parser Specific Inputs
+
## Ubisoft Directory Override
By default Steam ROM Manager assumes your UPlay install is located in `C:\Program Files (x86)\Ubisoft`. This field allows you to override that path if your UPlay installation is elsewhere.
## Launch Via UPlay `[Recommend disabled]`
-
What it sounds like, this toggle let's you set whether games will launch via UPlay or directly from the game's executable.
For UPlay this doesn't matter too much as UPlay games will automatically launch UPlay in the background even when launched from the executable. Steam Overlay will not work when `Launch via UPlay` is enabled, whereas both Steam and Ubisoft overlays work when `Launch via UPlay` is disabled.
diff --git a/src/lang/sv-SE/markdown/user-accounts.md b/src/lang/sv-SE/markdown/user-accounts.md
index 90a49b84f6..79a0782205 100644
--- a/src/lang/sv-SE/markdown/user-accounts.md
+++ b/src/lang/sv-SE/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# User accounts (Optional)
+# Användarkonton
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
+This field is used to limit SRM's effects to specific user accounts. It can be set to `Global` or over ridden per parser.
-`${XXX}${YYY}`
+## Varning
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either:
-
-* An `Account ID` (the number that appears as the directory name of your account directory in `/path/to/steam/userdata/`). For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
-
-## Warning
-
-If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and **you must only use** `Account IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and `Choose Accounts` will only be able to pull your `Steam IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Settings` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
diff --git a/src/lang/sv-SE/markdown/user-exceptions.md b/src/lang/sv-SE/markdown/user-exceptions.md
index a53dd0d6d9..0dbac2139d 100644
--- a/src/lang/sv-SE/markdown/user-exceptions.md
+++ b/src/lang/sv-SE/markdown/user-exceptions.md
@@ -12,7 +12,7 @@ The `Extracted Title` field matches in two ways:
Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`.
-Exceptions generated from `Preview` will always be in the form `Extracted Title ${id:XXXXXX}`.
+Exceptions generated from `Add Games` will always be in the form `Extracted Title ${id:XXXXXX}`.
## New Display Title
@@ -37,5 +37,5 @@ The ability to exclude individual titles from being added to Steam. This allows
Don't fetch artwork from remote providers (e.g. [steamgriddb](https://www.steamgriddb.com)). Useful when SGDB is incorrectly matching the game or you just don't like any of the artwork available for it.
-## Custom Variables
+## Anpassade variabler
The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten.
diff --git a/src/lang/tr-TR/langStrings.json b/src/lang/tr-TR/langStrings.json
index d42bc546d5..b175910b94 100644
--- a/src/lang/tr-TR/langStrings.json
+++ b/src/lang/tr-TR/langStrings.json
@@ -13,18 +13,18 @@
"logo": "Logos",
"games": "All Artwork"
},
- "by": "by",
- "refreshImages": "Refresh images",
- "saveImage": "Save image to file",
- "addLocalImages": "Add local images",
- "retryDownload": "Retry download",
- "generateAppList": "Parse",
+ "by": "tarafından",
+ "refreshImages": "eseri yenile",
+ "saveImage": "eseri dosyaya kaydet",
+ "addLocalImages": "Yerel eser ekle",
+ "retryDownload": "Retry artwork download",
+ "generateAppList": "Yenile",
"saveAppList": "Save to Steam",
"removeAppList": "Remove from Steam",
"remainingImages": "Retrieving urls:",
"stopUrlRetrieving": "Stop",
- "exportSelections": "Export",
- "importSelections": "Import",
+ "exportSelections": "Export art",
+ "importSelections": "Import art",
"backButton": "Back",
"logButton": "Log"
},
@@ -44,46 +44,46 @@
"removingFromCategories": "Removing all added category information",
"writingVDF_entries__i": "Writing VDF files and downloading high res images in batches of ${batchSize}.",
"updatingKnownSteamDirList": "Updating a list of known Steam directories.",
- "retryingDownload__i": "Retrying image download from \"${imageUrl}\" for \"${appTitle}\".",
- "disabledConfigurations__i": "${count} user configuration(s) was/were skipped (disabled by user).",
- "invalidConfigurations__i": "${count} user configuration(s) was/were skipped (invalid).",
+ "retryingDownload__i": "Retrying artwork download from \"${imageUrl}\" for \"${appTitle}\".",
+ "disabledConfigurations__i": "${count} user parser(s) was/were skipped (disabled by user).",
+ "invalidConfigurations__i": "${count} user parser(s) was/were skipped (invalid).",
"executingParsers": "Executing parsers.",
- "shutdownSteam": "Please shutdown Steam if it is running.",
- "noParserConfigurations": "Please create parser configuration in \"Parsers\" menu first.",
+ "shutdownSteam": "If Steam is running, exit Steam.",
+ "noParserConfigurations": "Please create parser in \"Parsers\" menu first.",
"parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
- "allImagesRetrieved": "All available image urls retrieved.",
+ "allImagesRetrieved": "All available artwork urls retrieved.",
"providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
"noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
- "preparingExport": "Preparing export of image choices.",
- "exportProgress__i": "Saving image choices ${progress}.",
- "readingSelections": "Applying imported image choices."
+ "preparingExport": "Preparing export of artwork choices.",
+ "exportProgress__i": "Saving artwork choices ${progress}.",
+ "readingSelections": "Applying imported artwork choices."
},
"errors": {
- "fatalError": "Fatal error occurred in Preview. See event log for details.",
- "fatalError__i": "Fatal Preview Error ${error}",
+ "fatalError": "Fatal error occurred in Add Games. See event log for details.",
+ "fatalError__i": "Fatal Add Games error: ${error}",
"knownSteamDirListIsEmpty": "A list of known Steam directories is empty.",
"steamIsRunning": "Cannot make changes while steam is running!",
"categorySaveError": "Error updating categories. See event log for details.",
"categorySaveError__i": "Category error (shortcuts and artwork will still be added): ${error}",
"controllerSaveError": "Error updating controller templates. See event log for details.",
"controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
- "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
+ "retryingDownload__i": "Artwork download from \"${imageUrl}\" failed for \"${appTitle}\".",
"providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
"unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
"exportError__i": "Could not save selections package folder: ${error}",
"importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
- "importFailError__i": "Could not import image choices: ${error}"
+ "importFailError__i": "Could not import artwork choices: ${error}"
},
"success": {
"writingVDF_entries": "Done adding/removing entries.",
"removingVDF_entries": "Entries have been removed.",
- "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
- "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
+ "exportSuccess__i": "Artwork choices folder successfully saved to \"${path}\"!",
+ "importSelectionsSuccess__i": "Successfully imported ${count} artwork choices!"
}
}
},
"steamParser": {
- "onlyGamesTitle": "Find artwork for games only (no tools)",
+ "onlyGamesTitle": "Find artwork for games only (no tools or demos)",
"onlyInstalledTitle": "Find artwork for installed titles only",
"sourceModsTitle": "Find artwork for unofficial source mods",
"errors": {
@@ -93,16 +93,30 @@
"fatalError__i": "> Steam parser failed with fatal error:\n ${error}"
}
},
+ "nonSRMShortcutsParser": {
+ "errors": {
+ "noSteamAccounts": "> Steam directory specified has no accounts.",
+ "fatalError__i": "> Non-SRM Shortcuts parser failed with fatal error:\n ${error}"
+ }
+ },
"manualParser": {
"manifestsInputTitle": "Manifests Directory",
- "manifestsInputPlaceholder": "/path/to/your/manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"errors": {
"fatalError__i": "> Manual parser failed with fatal error:\n ${error}"
}
},
"epicParser": {
"manifestsInputTitle": "Epic Manifests Directory Override",
- "manifestsInputPlaceholder": "/path/to/Manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"launcherModeInputTitle": "Launch games via Epic for online services",
"errors": {
"invalidManifestsOverride": "> Manifests Override is not a valid directory.",
@@ -112,25 +126,56 @@
}
},
"legendaryParser": {
+ "launcherModeInputTitle": "Launch games via Legendary for online services",
"legendaryInstalledFileTitle": "Legendary installed.json Path Override",
- "legendaryInstalledFilePlaceholder": "/path/to/legendary/installed.json",
+ "legendaryInstalledFilePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary\\installed.json",
+ "Darwin": "/path/to/legendary/installed.json",
+ "Linux": "/path/to/legendary/installed.json"
+ },
+ "legendaryExeOverrideTitle": "Legendary Path Override",
+ "legendaryExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary.exe",
+ "Darwin": "/path/to/legendary",
+ "Linux": "/path/to/legendary"
+ },
"errors": {
"legendaryNotInstalled": "> Legendary installed.json not found",
- "fatalError__i": "> Legendary parser failed with fatal error: \n ${error}"
+ "fatalError__i": "> Legendary parser failed with fatal error:\n ${error}"
+ }
+ },
+ "battleNetParser": {
+ "battleExeOverrideTitle": "Battle.net.exe Path Override",
+ "battleExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Battle.net\\Battle.net.exe",
+ "Darwin": "/path/to/Battle.net.app/Contents/MacOS/Battle.net",
+ "Linux": "/path/to/Battle.net"
+ },
+ "errors": {
+ "battleNotCompatible": "> Battle.net parser is only available on Windows.",
+ "fatalError__i": "> Battle.net parser failed with fatal error:\n ${error}"
}
},
"UWPParser": {
"UWPDirTitle": "XboxGames Directory Override",
- "UWPDirPlaceholder": "/path/to/XboxGames or /path/to/WindowsApps",
+ "UWPDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\XboxGames\\ or C:\\path\\to\\WindowsApps\\",
+ "Darwin": "/path/to/XboxGames/ or /path/to/WindowsApps/",
+ "Linux": "/path/to/XboxGames/ or /path/to/WindowsApps/"
+ },
"UWPLauncherModeTitle": "Launch game as UWP instead of launcher helper",
"errors": {
"fatalError__i": "> UWP parser is not compatible in this platform.",
- "UWPNotCompatible": "> UWP parser failed with fatal error:\n ${error}"
+ "UWPNotCompatible": "> UWP parser is only available on Windows."
}
},
"uplayParser": {
"uplayDirTitle": "Ubisoft Directory Override",
- "uplayDirPlaceholder": "/path/to/Ubisoft/",
+ "uplayDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Ubisoft\\",
+ "Darwin": "/path/to/Ubisoft/",
+ "Linux": "/path/to/Ubisoft/"
+ },
"launcherModeInputTitle": "Launch games via UPlay for online services",
"errors": {
"invalidManifestsOverride": "> Uplay Directory Override is not a valid directory.",
@@ -142,8 +187,14 @@
},
"gogParser": {
"galaxyExeOverrideTitle": "Galaxy Path Override",
- "galaxyExeOverridePlaceholder": "/path/to/GalaxyClient.exe",
+ "galaxyExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\GalaxyClient.exe",
+ "Darwin": "/path/to/GOG Galaxy.app/Contents/MacOS/GOG Galaxy",
+ "Linux": "/path/to/GalaxyClient"
+ },
"launcherModeInputTitle": "Launch games via GOG Galaxy",
+ "parseLinkedExecsTitle": "Parse linked executables from GOG Galaxy",
+ "parseRegistryEntries": "Parse using Registry instead of Galaxy DB",
"errors": {
"invalidGalaxyExeOverride": "> Galaxy Client Override is not a valid path.",
"fatalError__i": "> GOG Galaxy parser failed with fatal error:\n ${error}",
@@ -153,7 +204,11 @@
},
"amazonGamesParser": {
"exeOverrideTitle": "Amazon Games Path Override",
- "exeOverridePlaceholder": "/path/to/Amazon Games.exe",
+ "exeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Amazon Games.exe",
+ "Darwin": "/path/to/Amazon Games.app/Contents/MacOS/Amazon Games",
+ "Linux": "/path/to/Amazon Games"
+ },
"launcherModeInputTitle": "Launch games via Amazon Games",
"errors": {
"invalidExeOverride": "> Amazon Games Installation Override is not a valid directory.",
@@ -164,7 +219,11 @@
},
"itchIoParser": {
"itchIoAppDataOverrideTitle": "itch.io AppData Directory Override",
- "itchIoAppDataOverridePlaceholder": "/path/to/itch",
+ "itchIoAppDataOverridePlaceholder": {
+ "Windows_NT": "C:\\AppData\\itch\\",
+ "Darwin": "~/Library/Application Support/itch/",
+ "Linux": "~/.config/itch/"
+ },
"itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Windows-on-Linux Install Drive Redirect",
"itchIoWindowsOnLinuxInstallDriveRedirectPlaceholder": "/mnt/d/",
"errors": {
@@ -177,7 +236,11 @@
},
"eaDesktopParser": {
"eaGamesDirTitle": "EA Games Directory Override",
- "eaGamesDirPlaceholder": "/path/to/EA Games/",
+ "eaGamesDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\EA Games\\",
+ "Darwin": "/path/to/EA Games/",
+ "Linux": "/path/to/EA Games/"
+ },
"eaLauncherModeTitle": "Launch games via EA Desktop",
"errors": {
"fatalError__i": "> EA Desktop parser failed with fatal error:\n ${error}",
@@ -186,7 +249,7 @@
}
},
"globParser": {
- "inputTitle": "User's glob",
+ "inputTitle": "Search glob",
"inputPlaceholder": "${title}.@(iso|ISO)",
"errors": {
"noTitle__md": "> File glob must contain `${title}`!",
@@ -203,7 +266,7 @@
}
},
"globRegexParser": {
- "inputTitle": "User's glob-regex",
+ "inputTitle": "Search glob-regex",
"inputPlaceholder": "${/valid regex/}",
"errors": {
"noRegex__md": "> File glob must contain `${regex}` where **regex** is your regular expression!",
@@ -226,18 +289,22 @@
"stylesTitle": "Allowed grid styles",
"stylesHeroTitle": "Allowed hero styles",
"stylesLogoTitle": "Allowed logo styles",
- "stylesIconTitle": "Allowed icon styles"
+ "stylesIconTitle": "Allowed icon styles",
+ "sizesTitle": "Allowed banner dimensions",
+ "sizesHeroTitle": "Allowed hero dimensions",
+ "sizesTallTitle": "Allowed portrait dimensions",
+ "sizesIconTitle": "Allowed icon dimensions"
},
"logger": {
"component": {
"noMessages": "No messages are available",
- "error": "ERROR",
- "info": "INFO",
- "success": "SUCCESS",
- "fuzzy": "FUZZY",
- "textWrap": "TEXT-WRAP",
- "autoscroll": "AUTOSCROLL",
- "clearLog": "Clear log",
+ "error": "Error messages",
+ "info": "Info messages",
+ "success": "Success messages",
+ "fuzzy": "Fuzzy messages",
+ "textWrap": "Wrap text",
+ "autoscroll": "Autoscroll",
+ "clearLog": "Clear",
"issueDescription": "Thorough issue description with passable spelling.",
"handleExample": "CoolHandle#1234"
}
@@ -251,40 +318,42 @@
"corruptedVariables__i": "Saved custom variables are invalid!\r\nPermanent variable saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "Custom variables file has been downloaded."
+ "downloaded": "Custom variables file has been updated."
}
}
},
"configPresets": {
"service": {
"error": {
- "failedToDownload__i": "Failed to download configuration presets file. Status: ${error}.",
+ "failedToDownload__i": "Failed to download configuration presets file from commit ${commit}. Status: ${error}.",
"writingError": "Error occurred while saving configuration presets.",
"loadingError": "Error occurred while loading configuration presets.",
"corruptedVariables__i": "Saved configuration presets are invalid!\r\nPermanent file saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "New config presets have been downloaded."
+ "downloaded": "Community presets have been updated."
}
}
},
"settings": {
"component": {
"label": {
- "general": "General settings",
- "imageProviders": "Image provider settings",
- "fuzzy": "Fuzzy matcher settings",
- "environmentVariables": "Environment variable settings",
- "communityPresets": "Community variable/preset settings"
+ "general": "General",
+ "imageProviders": "Artwork Providers",
+ "fuzzy": "Fuzzy Matcher",
+ "environmentVariables": "Environment Variables",
+ "communityPresets": "Community Presets and Custom Variables"
},
"text": {
+ "autoUpdate": "Check for updates on start",
"offlineMode": "Offline mode",
- "removeApps_desc": "all added app entries and controllers",
+ "removeApps_desc": "all added games and controllers",
"removeApps_btn": "Remove",
- "preloadImages": "Preload retrieved images immediately",
+ "preloadImages": "Artwork loading strategy",
"fuzzy_verbose": "Log matching results",
- "fuzzy_filter": "Filter images",
+ "fuzzy_filter": "Filter artwork",
"enabledProviders": "Enabled image providers",
+ "dnsServers": "DNS manual override",
"selectLanguage": "Select language",
"selectTheme": "Select theme",
"resetFuzzy_desc": "fuzzy list",
@@ -292,28 +361,38 @@
"resetFuzzy_btn": "Reset",
"customVariables_desc": "custom variables",
"configPresets_desc": "config presets",
- "showSteamImages": "Show current Steam images by default",
+ "showSteamImages": "Show current Steam artwork by default",
"deleteDisabledShortcuts": "Remove shortcuts for disabled parsers",
"clearLogOnTest": "Automatically clear log before testing parsers",
- "configDir": "Open Config Directory"
+ "configDir": "Config Directory",
+ "steamDir": "Steam Directory"
},
"placeholder": {
"noProviders": "None",
- "steamDirectoryWin": "Typically C:\\Program Files (x86)\\Steam",
- "steamDirectoryMac": "Typically ~/Library/Application Support/Steam",
- "steamDirectoryLinux": "Typically /home/user/.steam/steam",
"userAccounts": "For example ${steamlogin}",
- "romsDirectoryWin": "For example D:\\ROMs",
- "romsDirectoryMac": "For example ~/ROMs",
- "romsDirectoryLinux": "For example ~/ROMs",
- "retroarchPathWin": "For example C:\\Path\\To\\retroarch.exe",
- "retroarchPathLinux": "For example /path/to/retroarch",
- "retroarchPathMac": "For example /path/to/retroarch",
- "raCoresDirectoryWin": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores",
- "raCoresDirectoryLinux": "Typically /lib/x86_64-linux-gnu/libretro/cores",
- "raCoresDirectoryMac": "Typically /Applications/Retroarch.app/Contents/Resources/cores",
- "localImagesDirectoryWin": "For example C:\\Path\\To\\LocalArtwork",
- "localImagesDirectoryUnix": "For example ~/path/to/localartwork"
+ "bySystem": {
+ "Windows_NT": {
+ "steamDirectory": "Typically C:\\Program Files (x86)\\Steam\\",
+ "romsDirectory": "For example D:\\ROMs\\",
+ "retroarchPath": "For example C:\\Path\\To\\Retroarch.exe",
+ "raCoresDirectory": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores\\",
+ "localImagesDirectory": "For example C:\\Path\\To\\LocalArtwork\\"
+ },
+ "Darwin": {
+ "steamDirectory": "Typically ~/Library/Application Support/Steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /Applications/Retroarch.app/Contents/Resources/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ },
+ "Linux": {
+ "steamDirectory": "Typically /home/user/.steam/steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /lib/x86_64-linux-gnu/libretro/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ }
+ }
}
},
"service": {
@@ -331,6 +410,7 @@
"component": {
"about": "About",
"preview": "Preview",
+ "view": "View Games",
"logger": "Log",
"settings": "Settings",
"parsers": "Create Parser",
@@ -352,6 +432,9 @@
"title": "User Exceptions",
"exclude": "Exclude Title",
"excludeArtwork": "Local Artwork Only"
+ },
+ "placeholder": {
+ "sortBy": "Sort By"
}
},
"service": {
@@ -366,8 +449,8 @@
"component": {
"buttons": {
"save": "Save",
- "copy": "Copy",
- "testParser": "Test parser",
+ "copy": "Clone",
+ "testParser": "Test",
"delete": "Delete",
"moveUp": "Move up",
"moveDown": "Move down",
@@ -381,23 +464,23 @@
"opSys__i": "Operating system is \"${os}\"",
"testCompleted": "Parser test is completed.",
"nothingWasFound": "Parser found nothing.",
- "copiedToClipboard": "Configuration copied to clipboard",
+ "copiedToClipboard": "Parser copied to clipboard",
"userExclusions": "User excluded:",
- "excludedFileInfo__i": "[${index}/${total}]: ${filename}",
+ "excludedFileInfo__i": "[${index}/${total}]: ${filename}\n Excluded by \"${exceptionKey}\"",
"removingControllers__i": "Removing controller templates for parser: ${configTitle}",
"fetchingControllerTemplates": "Fetching controller templates"
},
"error": {
"missingAccounts__i": "Following ${count} user account(s) were not found (user must to login to Steam at least once):",
"missingAccountInfo__i": " ${name}",
- "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials (\"Show advanced options -> User accounts -> Use account credentials\").\r\nIf you're seeing this, preview won't be generated for this configuration.",
+ "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials.\r\nIf you're seeing this, Add Games will skip this configuration.",
"cannotParseUserIDs": "Error parsing user accounts:",
"failedToMatch": "Failed to match:",
"failedFileInfo__i": "[${index}/${total}]: ${filename}",
"testFailed": "Testing failed",
"cannotTestInvalid": "Can not test invalid configuration!",
"cannotCopyInvalid": "Can not copy invalid configuration!",
- "failedToCopy": "Failed to copy to clipbard!",
+ "failedToCopy": "Failed to copy to clipboard!",
"cannotFetchTemplates": "Can not fetch controller templates for invalid steam directory!",
"errorRemovingControllers": "Error removing controllers:",
"cannotRemoveControllers": "Can not remove controllers from invalid steam directory!"
@@ -405,8 +488,8 @@
"success": {
"foundAccounts__i": "Found ${count} available user account(s):",
"foundAccountInfo__i": " ${name} (steamID64: ${steamID64}, accountID: ${accountID})",
- "steamCategory__i": "[${index}/${total}]: Steam categories - ${steamCategory}",
- "steamCategoryInfo__i": "[${index}/${total}]: ${steamCategory}",
+ "steamCategories__i": "[${index}/${total}]: Steam categories - ${steamCategories}",
+ "steamCategoriesInfo__i": "[${index}/${total}]: ${steamCategories}",
"exceptionKey__i": "[${index}/${total}]: Exception ID - ${appid}",
"appId__i": "[${index}/${total}]: Legacy App ID - ${appid}",
"shortAppId__i": "[${index}/${total}]: App ID - ${appid}",
@@ -416,20 +499,21 @@
"filePath__i": "[${index}/${total}]: File path - ${filePath}",
"startDir__i": "[${index}/${total}]: Start dir - ${startDir}",
"completeShortcut__i": "[${index}/${total}]: Complete shortcut - ${shortcut}",
- "firstImageQuery__i": "[${index}/${total}]: Image queries - ${query}",
+ "firstImageQuery__i": "[${index}/${total}]: Artwork queries - ${query}",
+ "imagePool__i": "[${index}/${total}]: Artwork pool - ${imagePool}",
"imageQueries__i": "[${index}/${total}]: ${query}",
"defaultImage__i": "[${index}/${total}]: Resolved fallback ${artworkType}:\r\n[${index}/${total}]: ${image}",
"resolvedDefaultImage__i": "[${index}/${total}]: Fallback ${artworkType}:",
- "localImages__i": "[${index}/${total}]: Resolved ${artworkType}:",
- "resolvedLocalImages__i": "[${index}/${total}]: ${artworkType} glob:",
+ "localImages__i": "[${index}/${total}]: Resolved local ${artworkType}:",
+ "resolvedLocalImages__i": "[${index}/${total}]: Local ${artworkType} glob:",
"indexInfo__i": "[${index}/${total}]: ${indexed}",
"removedControllers__i": "Succesfully removed controllers for parser: ${configTitle}",
"fetchedTemplates": "Fetched all controller templates"
},
"label": {
"parserType": "Parser type",
- "configTitle": "Configuration title",
- "steamCategory": "Steam category",
+ "configTitle": "Parser title",
+ "steamCategories": "Steam collections",
"executableModifier": "Executable modifier",
"executableLocation": "Executable",
"romDirectory": "ROMs directory",
@@ -440,33 +524,56 @@
"titleModifier": "Title modifier",
"fuzzyMatch": "Fuzzy matching",
"executableArgs": "Command line arguments",
- "onlineImageQueries": "Online image query",
- "imagePool": "Image pool",
- "imageProviders": "Image providers",
+ "onlineImageQueries": "Artwork provider search queries",
+ "imagePool": "Artwork pool",
+ "imageProviders": "Artwork providers",
"defaultImage__i": "Fallback ${artworkType}",
"localImages__i": "Local ${artworkType} glob"
},
"placeholder": {
"parserType": "Select parser...",
"configTitle": "My Awesome Parser",
- "steamCategory": "${cat1}${cat2}",
- "steamDirectory": "${steamdirglobal} or /path/to/steam",
- "userAccounts": "${steamuser1}${steamuser2} or ${${accountsglobal}}",
- "titleFromVariable": "${myvariable}",
+ "steamDirectory": {
+ "Windows_NT": "${steamdirglobal} or C:\\path\\to\\Steam\\",
+ "Darwin": "${steamdirglobal} or /path/to/Steam/",
+ "Linux": "${steamdirglobal} or /path/to/Steam/"
+ },
+ "titleFromVariable": "${variableGroup1}${variableGroup2}",
"titleModifier": "${fuzzyTitle} or ${title}",
- "defaultImage__i": "/path/to/fallback_${artworkType}.png",
- "localImages__i": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
- "romDirectory": "/path/to/games/",
+ "defaultImage__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\fallback_${artworkType}.png",
+ "Darwin": "/path/to/fallback_${artworkType}.png",
+ "Linux": "/path/to/fallback_${artworkType}"
+ },
+ "localImages__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\art\\\\${artworkType}\\\\\\${title}.@(png|jpg)",
+ "Darwin": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
+ "Linux": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)"
+ },
+ "onlineImageQueries": "${${fuzzyTitle}} or ${${title}}${${fuzzyTitle}}",
+ "imagePool": "${fuzzyTitle}",
+ "romDirectory": {
+ "Windows_NT": "C:\\path\\to\\games\\",
+ "Darwin": "/path/to/games/",
+ "Linux": "/path/to/games/"
+ },
"glob": "${title}.@(iso|ISO)",
- "executableLocation": "Example: /path/to/emulator.exe",
- "executableArgs": "--arg1 --arg2",
+ "executableLocation": {
+ "Windows_NT": "C:\\path\\to\\emulator.exe",
+ "Darwin": "/path/to/emulator.app",
+ "Linux": "/path/to/emulator"
+ },
+ "executableArgs": "--arg1 --arg2 --launch \"${filePath}\"",
"executableModifier": "\"${exePath}\"",
- "startInDirectory": "/path/to/start/in/dir",
+ "startInDirectory": {
+ "Windows_NT": "C:\\path\\to\\start-in-dir\\",
+ "Darwin": "/path/to/start-in-dir/",
+ "Linux": "/path/to/start-in-dir/"
+ },
"imageProviders": "None",
"multiAPIPlaceholder": "No Filter"
},
"text": {
- "tryToMatchTitle": "Enable Title from Custom Variable",
"skipFileIfVariableWasNotFound": "Skip file if variable was not found",
"caseInsensitiveVariables": "Case-insensitive variables",
"shortcut_passthrough": "Follow .lnk or .desktop to destination (Windows and Linux only)",
@@ -482,18 +589,18 @@
},
"service": {
"info": {
- "updatingConfigurations": "Updating user configurations with new fields"
+ "updatingConfigurations": "Updating user's parsers with new fields"
},
"error": {
- "savingConfiguration": "Error encountered while saving user configurations!",
- "readingConfiguration": "Error encountered while reading user configurations!",
+ "savingConfiguration": "Error encountered while saving user's parsers!",
+ "readingConfiguration": "Error encountered while loading user's parsers!",
"parserTypeMissing": "Cannot save without specifying parser type",
- "corruptedConfiguration__i": "One or more saved parser configurations are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
- "fetcingTemplates": "Error encountered while fetching controllers templates!"
+ "corruptedConfiguration__i": "One or more saved parsers are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
+ "fetchingTemplates": "Error encountered while fetching controllers templates!"
},
"validationErrors": {
"parserType__md": "> Incorrect parser type!",
- "configTitle__md": "> Configuration title is required!",
+ "configTitle__md": "> Parser title field cannot be blank!",
"parserId__md": "> Parser Id is missing, something is horribly wrong.",
"parserInput": {
"noInput": "No inputs are available!",
@@ -501,19 +608,15 @@
"incorrectParser": "Incorrect parser!"
},
"romDir__md": "> ROMs directory is invalid!",
- "userAccounts__md": "> Steam parser requires `User Accounts` field",
+ "userAccounts__md": "> User accounts field is required!",
"steamDir__md": "> Steam directory is invalid!",
"startInDir__md": "> \"Start In\" directory is invalid!",
"executable__md": "> Executable is invalid!",
- "imagePool__md": "> Image pool must not be empty!",
- "defaultImage__md": "> Default image is an invalid path!",
- "titleModifier__md": "> Title modifier must not be empty!",
- "executableModifier__md": "> Executable modifier must not be empty!",
- "variableString__md": "> Uneven number of `${` and `}` pairs. Use `\\` to escape `${` or `}` if you want to use them as characters.",
- "imageProviders__md": "> Incorrect image providers type!",
- "unhandledValidationKey__md": "> Input's validation is unhandled",
- "genericDir__md": "> Directory is invalid",
- "genericPath__md": "> Path is invalid"
+ "defaultImage__md": "> Fallback artwork is an invalid path!",
+ "variableString__md": "> Uneven number of `${` and `}` pairs! Use `\\` to escape `${` or `}` if you want to use them as characters.",
+ "unhandledValidationKey__md": "> Input's validation is unhandled!",
+ "genericDir__md": "> Directory is invalid!",
+ "genericPath__md": "> Path is invalid!"
},
"text": {
"noTitle": "No title!"
@@ -540,7 +643,7 @@
"error": {
"parserNotFound__i": "Parser \"${name}\" not found!",
"tooManyFieldGlobs__md": "> Only one `$(...)$` set is allowed per input.",
- "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** ir **Glob-regex** field.",
+ "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** in **Glob-regex** field.",
"noWinSlashes__md": "> Windows directory character `\\` is not allowed! Use `/` instead."
}
},
@@ -567,11 +670,11 @@
"error": {
"readingVdf__i": "Failed to read from \"${filePath}\".\n ${error}",
"writingVdf__i": "Failed to write to \"${filePath}\".\n ${error}",
- "skippingDMCA__i": "Skipping DMCA'd image for ${title}",
+ "skippingDMCA__i": "Skipping DMCA'd artwork for ${title}",
"corruptedVdf__i": "\"${filePath}\" is corrupted.\n ${error}",
"creatingBackup__i": "Could not create backup for \"${filePath}\".\n ${error}",
"unsupportedMimeType__i": "Mime type (${type}) is unsupported (title - \"${title}\").",
- "imageError__i": "Error occurred while saving/downloading image for \"${title}\". Url: ${url}.\n ${error}"
+ "imageError__i": "Error occurred while saving/downloading artwork for \"${title}\". Url: ${url}.\n ${error}"
}
},
"helpers": {
diff --git a/src/lang/tr-TR/markdown/UWP-parser-input.md b/src/lang/tr-TR/markdown/UWP-parser-input.md
index 1a3f20be1d..8c045eea77 100644
--- a/src/lang/tr-TR/markdown/UWP-parser-input.md
+++ b/src/lang/tr-TR/markdown/UWP-parser-input.md
@@ -1,4 +1,4 @@
-# Unique inputs for UWP Parser
+# UWP Parser Specific Inputs
## Games directory
@@ -8,4 +8,4 @@ Set it to `C:\Program Files\WindowsApps` to grab all UWP applications -- you'll
## Launch as UWP or from GameLaunchHelper.exe
-Gamepass games can be launched both ways, although UWP is preffered.
+Gamepass games can be launched both ways, although UWP is preferred.
diff --git a/src/lang/tr-TR/markdown/UWP-parser.md b/src/lang/tr-TR/markdown/UWP-parser.md
index bfb5a847f3..af4fee0f84 100644
--- a/src/lang/tr-TR/markdown/UWP-parser.md
+++ b/src/lang/tr-TR/markdown/UWP-parser.md
@@ -4,4 +4,4 @@ This parser imports `UWP` games in your Windows OS, having a games library path
## Compatibility
-This parser should only work on `Windows 10` and `Windows 11`.
\ No newline at end of file
+This parser should only work on `Windows 10` and `Windows 11`.
diff --git a/src/lang/tr-TR/markdown/about.md b/src/lang/tr-TR/markdown/about.md
index 3f6320a3ea..75a2ba0293 100644
--- a/src/lang/tr-TR/markdown/about.md
+++ b/src/lang/tr-TR/markdown/about.md
@@ -1,25 +1,25 @@
-## System info
+## Sistem Bilgileri
-In case you're having trouble with SRM, feel free to visit the [discord](https://discord.gg/bnSVJrz) or the [subreddit](https://www.reddit.com/r/SteamRomManager/) and ask for our help. In order for us to help you, we would like you to provide this info:
+SRM ile ilgili bir problem yaşamaktaysanız, [discordu](https://discord.gg/bnSVJrz) ya da [subredditimize](https://www.reddit.com/r/SteamRomManager/) göz atabilir ve yardım isteyebilirsiniz. Size yardım edebilmemiz için, bu bilgileri sağlamanızı isteriz:
-* SRM version: **#{APP[version]}**
+* SRM version: **#{APP[version]}** emudeckText
* Operating System: **#{APP[os]}**
-## Useful links
+## Faydalı bağlantılar
-* [SRM Releases](https://github.com/SteamGridDB/steam-rom-manager/releases)
-* [Discord Server](https://discord.gg/bnSVJrz)
+* [SRM Sürümleri](https://github.com/SteamGridDB/steam-rom-manager/releases)
+* [Discord Sunucusu](https://discord.gg/bnSVJrz)
* [r/SteamRomManager](https://www.reddit.com/r/SteamRomManager/)
-* [Steam Group](https://steamcommunity.com/groups/steamrommanager)
-* [Github Repo](https://github.com/SteamGridDB/steam-rom-manager)
-* [Crowdin Translation Project](https://crowdin.com/project/steam-rom-manager)
+* [Steam Grubu](https://steamcommunity.com/groups/steamrommanager)
+* [GitHub Deposu](https://github.com/SteamGridDB/steam-rom-manager)
+* [Crowdin Çeviri Projesi](https://crowdin.com/project/steam-rom-manager)
-## Support
+## Destek
-Help support continued progress on Steam ROM Manager at:
+Steam ROM Manager'ın sürekli gelişimini desteklemek için:
-
+
[SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon.
@@ -28,11 +28,11 @@ Help support continued progress on Steam ROM Manager at:
-## Contributions
+## Katkılar
* `FrogTheFrog`{.noWrap} - Creator of SRM, no longer active on SRM but currently working on the [MoonDeck Plugin](https://github.com/FrogTheFrog/moondeck)
-### Current Maintainers
-* `lontanadascienza`{.noWrap} - Updated SRM to handle heroes, posters, logos, and icons. Added the exception manager, controller management, platform parsers (Epic, GOG, Steam, etc), among many other things. Squashes bugs almost as fast as he introduces them.
+### Güncel Sağlayıcılar
+* `lontanadascienza`{.noWrap} - Updated SRM to handle heroes, posters, logos, and icons. İstisna yöneticisi, denetleyici yönetimi, platform ayrıştırıcıları (Epic, GOG, Steam vb.) ve daha birçok şey eklendi. Squashes bugs almost as fast as he introduces them.
* `Zennn`{.noWrap} - Added category support, langauge localization, and the bug report server among many other things. Big boss over at [SteamGridDB](https://www.steamgriddb.com/).
* `KenCinder`{.noWrap} - Manages and creates community parser presets and helps user setup SRM in [Discord](https://discord.gg/bnSVJrz).
@@ -43,10 +43,11 @@ Help support continued progress on Steam ROM Manager at:
* `CarJem`{.noWrap} - Added the manual parser.
* `MattMckenzy`{.noWrap} - Added ability to import and export image choices.
* `Apalatn`{.noWrap} - Added an install drive redirect option to the itch.io parser.
-* `OneMoreByte` - Made itch.io parser work on linux and mac.
-* `UndarkAido` - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `OneMoreByte`{.noWrap} - Made itch.io parser work on linux and mac.
+* `UndarkAido`{.noWrap} - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `HazardousBackup`{.noWrap} - Added option to GOG parser to parse Registry instead of GOG's DB.
-### Community
+### Topluluk
* `HE Spoke`{.noWrap} - created a community around SRM. Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups. Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
* `livedeht`{.noWrap} - Helps users setup SRM with and without [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/).
* `Choko`{.noWrap} - Helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
diff --git a/src/lang/tr-TR/markdown/amazon-games-parser-input.md b/src/lang/tr-TR/markdown/amazon-games-parser-input.md
index 7ac728e20b..901e1107ff 100644
--- a/src/lang/tr-TR/markdown/amazon-games-parser-input.md
+++ b/src/lang/tr-TR/markdown/amazon-games-parser-input.md
@@ -1,8 +1,8 @@
-# Amazon Games Parser specific inputs
+# Amazon Games Parser Specific Inputs
## Amazon Games Path Override
By default Steam ROM Manager assumes your Amazon Games installation is located at `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`. This field allows you to override that path if your Amazon Games installation is elsewhere.
-## Launch Via Amazon Games
+## Amazon Games Üzerinden Oyun Açma
-What it sounds like, this toggle let's you set whether games will launch via Amazon Games or directly.
+Anlaşıldığı üzere, bu ayar sayesinde oyunların Amazon Games üzerinden mi yoksa doğrudan mı başlatılacağını belirleyebilirsiniz.
diff --git a/src/lang/tr-TR/markdown/amazon-games-parser.md b/src/lang/tr-TR/markdown/amazon-games-parser.md
index cdfda7c283..eb556fcc6e 100644
--- a/src/lang/tr-TR/markdown/amazon-games-parser.md
+++ b/src/lang/tr-TR/markdown/amazon-games-parser.md
@@ -1,3 +1,3 @@
# Amazon Games Parser
-This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/tr-TR/markdown/battle-net-parser-input.md b/src/lang/tr-TR/markdown/battle-net-parser-input.md
new file mode 100644
index 0000000000..1f03fae4a6
--- /dev/null
+++ b/src/lang/tr-TR/markdown/battle-net-parser-input.md
@@ -0,0 +1,5 @@
+# Battle.net Parser Specific Inputs
+
+## Battle.net.exe Path Override
+
+By default Steam ROM Manager assumes your `Battle.net` executable is located at `C:\Program Files (x86)\Battle.net\Battle.net.exe`. This field allows you to override that if your `Battle.net` is installed elsewhere.
diff --git a/src/lang/tr-TR/markdown/battle-net-parser.md b/src/lang/tr-TR/markdown/battle-net-parser.md
new file mode 100644
index 0000000000..c3ffb10b67
--- /dev/null
+++ b/src/lang/tr-TR/markdown/battle-net-parser.md
@@ -0,0 +1,5 @@
+# Battle.net Parser
+
+This parser imports games from the `Battle.net` app, so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Blizzard has altered the structure of their database files, in which case please let the developers of SRM know and we will resolve the issue.
+
+The `Battle.net` parser is somewhat special in that it uses a shell script at `${srmDir}/scripts/bnet.ps1` in order to launch `Battle.net`, wait an appropriate amount of time, and only then launch the actual title.
diff --git a/src/lang/tr-TR/markdown/config-title.md b/src/lang/tr-TR/markdown/config-title.md
index ed2eeef493..abadc31951 100644
--- a/src/lang/tr-TR/markdown/config-title.md
+++ b/src/lang/tr-TR/markdown/config-title.md
@@ -1,3 +1,5 @@
-# Configuration title
+# Parser title
-Title to save user configuration as. Does not have to be unique, but is required.
\ No newline at end of file
+Title of the parser. Does not have to be unique, but is required.
+
+This field will not affect what is added to `Steam` in any way.
diff --git a/src/lang/tr-TR/markdown/controller-templates.md b/src/lang/tr-TR/markdown/controller-templates.md
index 37c943f370..686b3ba13a 100644
--- a/src/lang/tr-TR/markdown/controller-templates.md
+++ b/src/lang/tr-TR/markdown/controller-templates.md
@@ -17,10 +17,10 @@ In the SRM parser:
Currently, SRM pulls all of the default (Valve made) templates for each controller as well as all of the user defined templates that end in `(SRM)`.
-* Select your templates and save the parser. The controller configsets will be applied once you hit `Save App List` in the preview.
+* Select your templates and save the parser. The controller configsets will be applied once you hit `Save to Steam` in the Add Games.
* To unset controller configs, you may either `Remove All Added App Entries` from global settings (this deletes all SRM made changes to your steam data) or hit `Unset All Controllers` in the parser (this only removes controller settings for the steam directory and user specified in that parser).
-Once this is done you can generate and save the preview as usual, and the template will be applied to all the titles in the parser.
+Once this is done you can parse and add games to steam as usual, and the templates will be applied to all the titles in the parser.
diff --git a/src/lang/tr-TR/markdown/default-image.md b/src/lang/tr-TR/markdown/default-image.md
index 47e3f9261e..7bf4e6413d 100644
--- a/src/lang/tr-TR/markdown/default-image.md
+++ b/src/lang/tr-TR/markdown/default-image.md
@@ -1,4 +1,4 @@
-# Default image (optional) `[supports variables]`{.noWrap}
+# Default image `[supports variables]`{.noWrap}
Allows one to use an image, stored locally, as a default/fallback image. A [special glob input](#special-glob-input) string is used to retrieve images. Only the first retrieved image is used.
diff --git a/src/lang/tr-TR/markdown/ea-desktop-parser-input.md b/src/lang/tr-TR/markdown/ea-desktop-parser-input.md
index 7990efb5b5..355ba68c8e 100644
--- a/src/lang/tr-TR/markdown/ea-desktop-parser-input.md
+++ b/src/lang/tr-TR/markdown/ea-desktop-parser-input.md
@@ -1,4 +1,4 @@
-# EA Desktop Parser specific inputs
+# EA Desktop Parser Specific Inputs
## EA Games Directory Override
By default Steam ROM Manager assumes your `EA Desktop` games are installed at ``C:\Program Files\EA Games\`. This field allows you to change that to wherever your games are installed, e.g.``D:\Games\EA Games`.
diff --git a/src/lang/tr-TR/markdown/epic-parser-input.md b/src/lang/tr-TR/markdown/epic-parser-input.md
index 3e8e07d69a..4707c81418 100644
--- a/src/lang/tr-TR/markdown/epic-parser-input.md
+++ b/src/lang/tr-TR/markdown/epic-parser-input.md
@@ -1,4 +1,4 @@
-# Epic Games Store specific inputs
+#
## Manifests Directory Override
diff --git a/src/lang/tr-TR/markdown/executable-arguments.md b/src/lang/tr-TR/markdown/executable-arguments.md
index 8b5121722a..c19b665402 100644
--- a/src/lang/tr-TR/markdown/executable-arguments.md
+++ b/src/lang/tr-TR/markdown/executable-arguments.md
@@ -1,4 +1,4 @@
-# Command line arguments (optional) `[supports variables]`{.noWrap}
+# Command line arguments `[supports variables]`{.noWrap}
Arguments which are appended to executable to produce final shortcut. Most of the time you will want to set it using provided parser variables.
@@ -49,7 +49,7 @@ Arguments which are appended to executable to produce final shortcut. Most of th
### Nestopia (NES/Famicom)
```
-"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
+"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
```
### higan (NES/Famicom, SNES/Famicom, Gameboy, Gameboy Color, Gameboy Advance)
@@ -126,13 +126,13 @@ This setting is used to influence Steam's APP ID.
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -187,6 +187,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -196,7 +197,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/tr-TR/markdown/executable-location.md b/src/lang/tr-TR/markdown/executable-location.md
index b13f57494f..36fbbc9a46 100644
--- a/src/lang/tr-TR/markdown/executable-location.md
+++ b/src/lang/tr-TR/markdown/executable-location.md
@@ -1,4 +1,4 @@
-# Executable (optional) `[supports environment variables]`
+# Executable `[supports env variables]`
Path to emulator's executable. Can be a file or any valid system path.
@@ -6,6 +6,8 @@ Path to emulator's executable. Can be a file or any valid system path.
In some cases you might want to run game from a some kind batch file which will also automatically run the emulator itself. If that is the case, then providing executable is unnecessary.
+The final shortcut will just be `"${filePath}" --command-line-args`.
+
### So, how do I add files to Steam without default executable?
All files retrieved by a parser will be treated as executables instead.
diff --git a/src/lang/tr-TR/markdown/executable-modifier.md b/src/lang/tr-TR/markdown/executable-modifier.md
index c3c5739e86..2131f6964d 100644
--- a/src/lang/tr-TR/markdown/executable-modifier.md
+++ b/src/lang/tr-TR/markdown/executable-modifier.md
@@ -1,102 +1,23 @@
# Executable modifier `[supports variables]`{.noWrap}
-Default value is `"${exePath}"`{.noWrap}. This setting can be used to prepend or append desired characters to an executable which will be added to Steam (`Target` property). For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you can add `"cmd" /k start /min` to it by setting value to:
+Defaults to `"${exePath}"`{.noWrap} if unset. This field can be used to prepend or append desired characters to the executable which will be added to the Steam shortcut's `Target` property. For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you could start `Retroarch` minimized by setting the `Executable Modifier` "cmd" to:
+
```
"cmd" /k start /min "${exePath}"
```
-You can use any other variable to construct the final executable.
-
-This setting influences Steam's APP ID.
-
-
-## Shortcut Passthrough
-If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the target of that shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser.
-
-## Directory variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
-
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
-
-## Name variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------------------------------- |
-| `${exeName}` | Name of executable (without extension) |
-| `${fileName}` | Name of file which was returned by a parser (without extension) |
-
-In case executable directory input is left **empty**, `${exeName}`{.noWrap} is equal to `${fileName}`{.noWrap}.
-
-## Extension variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------------------- |
-| `${exeExt}` | Extension of executable (with a dot) |
-| `${fileExt}` | Extension of file which was returned by a parser (with a dot) |
-In case executable directory input is left **empty**, `${exeExt}`{.noWrap} is equal to `${fileExt}`{.noWrap}.
+In this case the `Target` property would begin with:
-## Path variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:-------------------------------------------------- |
-| `${exePath}` | Full path to an executable |
-| `${filePath}` | Full path to a file which was returned by a parser |
-
-In case executable directory input is left **empty**, `${exePath}`{.noWrap} is equal to `${filePath}`{.noWrap}.
-
-## Parser variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------ |
-| `${title}` | Extracted title |
-| `${fuzzyTitle}` | Fuzzy matched title |
-| `${finalTitle}` | Title which was the end result of title modifier |
-
-In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
+```
+"cmd" /k start /min "C:\RetroArch\retroarch.exe"
+```
-## Function variables
+followed by whatever launch arguments you choose in the `Command Line Arguments` field.
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+You can use any other variable to construct the final executable.
-### Function variable example
+This setting influences Steam's APP ID.
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
-```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
-```
-will be replaced with these:
-```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+## Shortcut Passthrough
---On linux:
-file.so
---On Windows:
-file.dll
---On Mac OS:
-file
-```
+If you enable `Follow .lnk/.desktop to destination` and the glob search finds a `.lnk` or `.desktop` file, ie a shortcut, then the `${filePath}` variable will contain the target of the shortcut rather than the path to the shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the `Command Line Arguments` field in the parser.
diff --git a/src/lang/tr-TR/markdown/glob-parser-input.md b/src/lang/tr-TR/markdown/glob-parser-input.md
index 996ae77ce1..2a43592892 100644
--- a/src/lang/tr-TR/markdown/glob-parser-input.md
+++ b/src/lang/tr-TR/markdown/glob-parser-input.md
@@ -1,4 +1,4 @@
-# Glob Parser specific inputs
+# Glob Parser Specific Inputs
## User's glob
diff --git a/src/lang/tr-TR/markdown/glob-regex-parser-input.md b/src/lang/tr-TR/markdown/glob-regex-parser-input.md
index 22c1f5cea6..6491148a25 100644
--- a/src/lang/tr-TR/markdown/glob-regex-parser-input.md
+++ b/src/lang/tr-TR/markdown/glob-regex-parser-input.md
@@ -1,4 +1,4 @@
-# Glob-regex Parser specific inputs
+# Glob-regex Parser Specific Inputs
## User's glob-regex
@@ -6,7 +6,7 @@ This is where you create your glob for extracting title from file path. Please r
## How does it work?
-In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
+In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
| User's glob | Position |
| --------------------- | --------------------------- |
diff --git a/src/lang/tr-TR/markdown/gog-parser-input.md b/src/lang/tr-TR/markdown/gog-parser-input.md
index 756fa3de77..bf185f2c23 100644
--- a/src/lang/tr-TR/markdown/gog-parser-input.md
+++ b/src/lang/tr-TR/markdown/gog-parser-input.md
@@ -1,10 +1,20 @@
-# Unique inputs for GOG Galaxy Parser
+# GOG Galaxy Parser Specific Inputs
## Galaxy Path Override
-By default Steam ROM Manager assumes your Galaxy Client is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe`. This field allows you to override that path if your GOG Galaxy installation is elsewhere.
-This field is actually only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of the Galaxy Client.
+By default Steam ROM Manager assumes your GOG Galaxy executable is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe` on Windows and `/Applications/GOG Galaxy.app/Contents/MacOS/GOG Galaxy` on Mac. This field allows you to override that path if your GOG Galaxy executable is elsewhere.
-## Launch Via GOG Galaxy `[Recommend disabled]`
+Specifying the correct location of GOG Galaxy's executable is only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of GOG Galaxy's executable.
-What it sounds like, this toggle let's you set whether games will launch via GOG Galaxy or directly. Note that for some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+## Launch via GOG Galaxy `[Recommend disabled]`
+
+What it sounds like, this toggle determines whether games launch via GOG Galaxy or directly. For some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+
+## Parse Linked Executables from GOG Galaxy
+
+If enabled, SRM will pull in not only GOG games aquired from GOG Galaxy's store, but also those you have manually linked executables for in GOG Galaxy. This is desirable if those games are not being parsed into SRM elsewhere.
+
+A caveat is that because GOG Galaxy does not store the names linked executables in its database, SRM will use the directory name of the executable on Windows (e.g. `C:\\path\\to\\Hoa\\LaunchHoa.exe` would be assigned the title `Hoa`) and the executable name on Mac (e.g. `/Applications/Symphonia.app` would be assigned the title `Symphonia`).
+
+## Parse using Registry instead of Galaxy DB `[Windows only] [Recommend disabled]`
+This option will parse the Windows Registry for installed GOG games instead of GOG Galaxy's SQL database, allowing the parser to work even if GOG Galaxy is not installed. If this is enabled, `Parse Linked Executables` will of have no effect, but `Launch via GOG Galaxy` will work as normal.
\ No newline at end of file
diff --git a/src/lang/tr-TR/markdown/image-pool.md b/src/lang/tr-TR/markdown/image-pool.md
index 8b54cf72d9..0b4e4a94fb 100644
--- a/src/lang/tr-TR/markdown/image-pool.md
+++ b/src/lang/tr-TR/markdown/image-pool.md
@@ -1,3 +1,5 @@
-# Image pool `[supports variables]`{.noWrap}
+# Artwork pool `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting is used to allow different apps share the same images -- same "image pool", or allow unique image pool per app. To use unique image pool per app just set it to something unique. For example `${fuzzyTitle} SNES`{.noWrap}.
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset.
+
+This field is used to allow games from different parsers to share the same images (i.e. the same "image pool") if they have the same title. If you want different parsers not to share images for games with the same title, just set this field to something unique, for example `${fuzzyTitle} SNES`{.noWrap} or `${fuzzyTitle} ${parserTitle}`{.noWrap}.
diff --git a/src/lang/tr-TR/markdown/image-providers.md b/src/lang/tr-TR/markdown/image-providers.md
index 0b778780c6..f70a9275f6 100644
--- a/src/lang/tr-TR/markdown/image-providers.md
+++ b/src/lang/tr-TR/markdown/image-providers.md
@@ -1,7 +1,7 @@
-# Image providers
+# Artwork providers
-Here you can select image providers that are used to retrieve images. This option is for this configuration only.
+Here you can select artwork providers (online sources of game art) that are used by SRM to get art for your games.
## Similar option in "Settings" menu
-Settings menu has "Enabled providers" which enable image providers globally -- if it's not enabled in Settings, it won't work.
+Settings menu has "Enabled providers" which enable artwork providers globally -- if it's not enabled in Settings, it won't work.
diff --git a/src/lang/tr-TR/markdown/intro.md b/src/lang/tr-TR/markdown/intro.md
index f8d5fcabda..a6d65c0059 100644
--- a/src/lang/tr-TR/markdown/intro.md
+++ b/src/lang/tr-TR/markdown/intro.md
@@ -8,8 +8,8 @@ Also, don't forget to check FAQ. If you still got questions about setting up con
After saving parser configuration, **1** of **3** colors will be shown next to its title:
- -- Enabled configuration. This configuration will be used when generating a list in **preview** page.
+ -- Enabled configuration. This configuration will be used when generating a list in **Add Games** page.
- -- Unsaved changes. This configuration will not be used when generating a list in **preview** page, however earlier **saved** version will be used instead.
+ -- Unsaved changes. This configuration will not be used when generating a list in **Add Games** page, however earlier **saved** version will be used instead.
- -- Disabled configuration. This configuration will not be used when generating a list in **preview** page.
\ No newline at end of file
+ -- Disabled configuration. This configuration will not be used when generating a list in **Add Games** page.
\ No newline at end of file
diff --git a/src/lang/tr-TR/markdown/itch-io-parser-input.md b/src/lang/tr-TR/markdown/itch-io-parser-input.md
index 4b0057c170..ffa409af96 100644
--- a/src/lang/tr-TR/markdown/itch-io-parser-input.md
+++ b/src/lang/tr-TR/markdown/itch-io-parser-input.md
@@ -1,4 +1,4 @@
-# itch.io Parser specific inputs
+# itch.io Parser Specific Inputs
## itch.io AppData Path Override
By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere.
diff --git a/src/lang/tr-TR/markdown/itch-io-parser.md b/src/lang/tr-TR/markdown/itch-io-parser.md
index 7f29ffc42d..accb8b5ad2 100644
--- a/src/lang/tr-TR/markdown/itch-io-parser.md
+++ b/src/lang/tr-TR/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
# itch.io Parser
-This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/tr-TR/markdown/legendary-parser-input.md b/src/lang/tr-TR/markdown/legendary-parser-input.md
index 80ca0bcbbc..4a826e43da 100644
--- a/src/lang/tr-TR/markdown/legendary-parser-input.md
+++ b/src/lang/tr-TR/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
-# Legendary Parser specific inputs
+# Legendary Parser Specific Inputs
+
+## Legendary Path Override
+
+By default Steam ROM Manager uses `(Get-Command legendary).Path` on Windows and `which legendary` on Linux and Mac to determine the location of your Legendary executable. This field allows you to override that path.
+
+Specifying the correct location of the Legendary executable is only necessary if you enable launch via Legendary (see below), as otherwise SRM has no need of the location of Legendary's executable.
## Legendary `installed.json` Path Override
Most users shouldn't use this, as they use the standard `Legendary` installation where installed games manifest will be located at `~/.config/legendary/installed.json`.
If, however, for some reason your installed games manifest is located in a non-typical location then you can specify the correct manifest path here.
+
+## Launch via Legendary `[Recommend enabled]`
+
+What it sounds like, this toggle determines whether games launch via Legendary or directly. Launching via Legendary provides access to Epic's online services.
diff --git a/src/lang/tr-TR/markdown/local-images.md b/src/lang/tr-TR/markdown/local-images.md
index cff60e5674..5da2e5ae4c 100644
--- a/src/lang/tr-TR/markdown/local-images.md
+++ b/src/lang/tr-TR/markdown/local-images.md
@@ -1,4 +1,4 @@
-# Local images (optional) `[supports variables]`{.noWrap}
+# Local images `[supports variables]`{.noWrap}
Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
diff --git a/src/lang/tr-TR/markdown/manual-parser-input.md b/src/lang/tr-TR/markdown/manual-parser-input.md
index bc1848d45a..65265ebd32 100644
--- a/src/lang/tr-TR/markdown/manual-parser-input.md
+++ b/src/lang/tr-TR/markdown/manual-parser-input.md
@@ -1,4 +1,4 @@
-# Manual Parser specific inputs
+# Manual Parser Specific Inputs
## Manifests Directory `[Supports Environment Variables]`{.noWrap}
@@ -17,7 +17,8 @@ The names of the files do not matter. What does matter is that each `manifest.js
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args",
+ "appendArgsToExecutable": false
}
```
Or a list of titles, like so:
@@ -27,15 +28,19 @@ Or a list of titles, like so:
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args".
+ "appendArgsToExecutable": true
},
{
"title": "gameTitle2",
"target": "game2/path/target.sh",
"startIn": "game2/path",
- "launchOptions": "--args2"
+ "launchOptions": "--args2",
+ "appendArgsToExecutable": false
}
]
```
A typical use case would be to use a single json file per game type, or per year, etc.
+
+Just like for ROM parsers, `appendArgsToExecutable` determines whether `launchOptions` are appended to the shortcut `target` or appear separately as launch options in steam.
diff --git a/src/lang/tr-TR/markdown/non-srm-shortcuts-parser.md b/src/lang/tr-TR/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..4485008a1a
--- /dev/null
+++ b/src/lang/tr-TR/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,29 @@
+# Non-SRM Shortcut Parser
+
+This parser imports non SRM steam shortcuts into SRM so their artowrk can be managed. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
+
+## User accounts
+
+Used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
+
+```
+${...}
+```
+
+You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
+
+ {.fitImage .center}
+
+For example, this is how you specify account for "Banana" and "Apple":
+
+```
+${Banana}${Apple}
+```
+
+You can also limit accounts by specifying their ids directly. For example:
+
+```
+${56489124}${21987424}
+```
+
+Would limit the search to `steam/userdata/56489124` and `steam/userdata/21987424`.
diff --git a/src/lang/tr-TR/markdown/parser-env-variables.md b/src/lang/tr-TR/markdown/parser-env-variables.md
index 3b186a70f7..e95baf9137 100644
--- a/src/lang/tr-TR/markdown/parser-env-variables.md
+++ b/src/lang/tr-TR/markdown/parser-env-variables.md
@@ -13,3 +13,5 @@ These variables are pre parsed and can be used even in the Rom Directory, Steam
The utility of the environment variable `${srmdir}` is to make SRM fully portable, eg if you wanted to have the directory layout `D:\Games\Roms` and `D:\Games\PortableSRM\SRM.exe` then setting the field Roms Directory to be `${srmdir}${/}..${/}Roms` would allow you to move the Games directory somewhere else without breaking your setup.
+
+Function variables can also be used in fields that permit environment variables (e.g. `${os:win|C:\path\to\startdir|${os:linux|/path/to/startdir}}`)
diff --git a/src/lang/tr-TR/markdown/parser-variables.md b/src/lang/tr-TR/markdown/parser-variables.md
index 7e9eb636ff..7c164a55bc 100644
--- a/src/lang/tr-TR/markdown/parser-variables.md
+++ b/src/lang/tr-TR/markdown/parser-variables.md
@@ -4,13 +4,13 @@ Here are tables of variables that can be used with options that have `[supports
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -48,6 +48,7 @@ In case executable directory input is left **empty**, `${exePath}`{.noWrap} is e
| `${title}` | Extracted title |
| `${fuzzyTitle}` | Fuzzy matched title |
| `${finalTitle}` | Title which was the end result of title modifier |
+| `${parserTitle}` | The value of the `Parser Title` field |
In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
@@ -65,6 +66,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -74,7 +76,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/tr-TR/markdown/parsers-list.md b/src/lang/tr-TR/markdown/parsers-list.md
index 1e5e43f80f..6ab3846611 100644
--- a/src/lang/tr-TR/markdown/parsers-list.md
+++ b/src/lang/tr-TR/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# Parsers
-In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**
diff --git a/src/lang/tr-TR/markdown/rom-directory.md b/src/lang/tr-TR/markdown/rom-directory.md
index 555452224f..5b15d2e2b7 100644
--- a/src/lang/tr-TR/markdown/rom-directory.md
+++ b/src/lang/tr-TR/markdown/rom-directory.md
@@ -1,3 +1,3 @@
-# ROMs directory `[supports environment variables]`
+# ROMs directory `[supports env variables]`
Starting directory for game or app files.
diff --git a/src/lang/tr-TR/markdown/settings.md b/src/lang/tr-TR/markdown/settings.md
index c35d49e806..da72c1877c 100644
--- a/src/lang/tr-TR/markdown/settings.md
+++ b/src/lang/tr-TR/markdown/settings.md
@@ -1,31 +1,51 @@
-## General Settings
+## Genel Ayarlar
+### Başlangıçta güncellemeleri kontrol et `[Açılması önerilir]`
+SRM için güncelleme olup olmadığını kontrol edin ve SRM her başlatıldığında güncelleme yapmayı talep edin.
+### Otomatik olarak Steam'i kapat `[Açılması önerilir]`
+SRM will attempt to kill all running instances of Steam whenever it needs to read/write collections information (specifically when saving to steam from `Add Games` and when removing all games from `Settings`).
+### Auto restart Steam `[Recommend enabled]`
+SRM will attempt to restart Steam after killing it and completing whatever collections related task required killing Steam in the first place. Requires `Auto kill Steam` to be enabled.
### Offline mode `[Recommend disabled]`
-
When enabled SRM makes no network requests, useful if you only want to use SRM for local images.
### Automatically clear log before testing parsers `[Recommend enabled]`
When enabled the log is cleared each time a parser is tested.
+## Add Games
### Show current steam images by default `[Recommend enabled]`
When enabled this setting tells SRM to default to whatever artwork is currently in steam for a given app. If it is disabled, then every time SRM is run (and saved) all artwork will be reset.
### Remove shortcuts for disabled parsers `[Recommend disabled]`
When enabled disabling a parser and running SRM will remove all added entries and artwork for the disabled parser. Useful if you want your steam library to be in 1-1 correspondence with enabled parsers.
-
+### Disable saving of steam categories `[Recommend disabled]`
+SRM will not write any collections information when saving to Steam. This allows SRM to perform its tasks while Steam is still running, at the obvious cost that added games will not be categorized.
+### Hide Steam username from Add Games
+Steam does not allow user's to alter their Steam usernames. In some cases (childish names, dead names, etc), users may no longer wish to see their Steam usernames. This setting hides it from `Add Games`.
+### Remove all added games and controllers
+Undo all SRM added changes from Steam.
+### Remove all controllers only
+Undo all SRM added controller settings from Steam.
## Fuzzy Matcher Settings
### Log matching results `[Recommend disabled]`
When enabled more verbose logs appear for the fuzzy title matcher in the `Event log`. Useful for debugging incorrect fuzzy matches.
-
### Reset fuzzy list
Resets the stored list of titles used for fuzzy matching to the list of titles returned by `SteamGridDB` (removes any user added titles).
### Reset fuzzy cache
Clears the cache of titles that fuzzy matching has already seen (try this if changes you make to fuzzy list are not resulting in changes to titles in SRM).
-
## Image provider settings
-### Preload retrieved images `[Recommend disabled]`
-When enabled, SRM will pull all available artwork for every game, rather than pulling one piece of artwork at a time as the user flips through the images. Don't enable this unless you have a good reason and a very small library of games, otherwise it could result in very large (slow) network requests.
+### Artwork loading strategy `[Recommend Load artwork lazily]`
+This is the strategy SRM uses to pull artwork thumbnails for the `Add Games` UI. If you are parsing a lot of games, `Load artwork lazily` is recommended. `Preload first artwork` will try to pull the first piece of artwork for each game in each artwork category, and `Preload all artwork` will try to pull all available artwork for each game in each artwork category. `Preload all artwork` will cause network and performance issues unless the number of games is quite small (less than `30` or so).
### Enabled providers
-Global setting to disable certain providers. Currently the only image provider is `SteamGridDB` since ConsoleGrid and RetroGaming.cloud are defunct.
-
+Global setting to enable/disable particular image providers. Current options are `SteamGridDB` and `Steam Official`.
+### DNS manual override
+Set this if you want SRM to do DNS resolution internally, as opposed to relying on your system's default DNS server. This solves many timeout issues on the Steam Deck.
+### Batch size for image downloads
+Number of images SRM will attempt to download at once when saving to Steam. May help to lower this if you are receiving timeout errors from SGDB.
+### Nuke artwork choice cache
+SRM attempts to remember your artwork choices, this button forcibly forgets all of them.
+### Nuke local artwork backups
+This deletes all artwork backups created for parsers with `Backup artwork locally` enabled.
## Community Variables and Presets
### Force download custom variables.
Resets the custom variables JSON file that is used for certain presets to whatever its current state is on the SRM github. Useful if the custom variables JSON file has been corrupted.
### Force download custom presets.
Resets the JSON files for parser presets to whatever is on the SRM github. Useful if your presets list is not automatically updating for some reason, or has become corrupted.
+### Force download shell scripts
+Re fetches the shell scripts SRM uses to perform certain tasks.
diff --git a/src/lang/tr-TR/markdown/sgdb-api-input.md b/src/lang/tr-TR/markdown/sgdb-api-input.md
index 553f4fda77..7651927a64 100644
--- a/src/lang/tr-TR/markdown/sgdb-api-input.md
+++ b/src/lang/tr-TR/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
This set of options are direct inputs into the APIs of image providers, for example SteamGridDB's [API](https://www.steamgriddb.com/api/v2).
-An interesting quirk of these settings is that re-generating the preview (hitting the `Generate App List` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove App List` button in preview before hitting `Generate App List`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the preview with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
+An interesting quirk of these settings is that re-generating the game list in Add Games (hitting the `Refresh` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove from Steam` button in Add Games before hitting `Refresh`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the game list with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
## SteamGridDB
diff --git a/src/lang/tr-TR/markdown/start-in-directory.md b/src/lang/tr-TR/markdown/start-in-directory.md
index 86cf962c23..df84a987d5 100644
--- a/src/lang/tr-TR/markdown/start-in-directory.md
+++ b/src/lang/tr-TR/markdown/start-in-directory.md
@@ -1,6 +1,6 @@
-# "Start In" directory (optional) `[supports environment variables]`{.noWrap}
+# "Start In" directory `[supports env variables]`
-By default "Start In" directory is set to executable's directory:
+If `"Start In" Directory` is unset it defaults to the executable's directory. If not executable is set, it defaults to the directory of the ${filePath} variable:
 {.fitImage.center}
@@ -11,4 +11,5 @@ This option allows you to specify any directory you want as a "Start In" directo
It is useful when you're using batch files to start emulator and a game, but emulator requires a specific "Start In" directory to work properly.
## Shortcut Passthrough
+
If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the directory of the target of that shortcut. In the future, it will be overridden with the start in directory of that shortcut.
diff --git a/src/lang/tr-TR/markdown/steam-category.md b/src/lang/tr-TR/markdown/steam-category.md
index 079073dab9..677ea3d0ef 100644
--- a/src/lang/tr-TR/markdown/steam-category.md
+++ b/src/lang/tr-TR/markdown/steam-category.md
@@ -1,21 +1,13 @@
-# Steam category (optional) `[supports variables]`{.noWrap}
+# Steam category`{.noWrap}
+
+Hit the little plus sign to add your first category.
-Also known as "tags", can be used to group apps in Steam. In order to set Steam category, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify categories for "WII" and "GBA" (paired with "ROMS") category:
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
This how "WII" category will look like in Steam:

## Emojis and non-Standard Unicode Characters
+
Please not that this field works just fine with emojis like `🎮` work just fine in category names.
You can find a list of them here: [https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/tr-TR/markdown/steam-directory.md b/src/lang/tr-TR/markdown/steam-directory.md
index b15010e819..bb82bc6a97 100644
--- a/src/lang/tr-TR/markdown/steam-directory.md
+++ b/src/lang/tr-TR/markdown/steam-directory.md
@@ -1,4 +1,4 @@
-# Steam directory `[supports environment variables]`{.noWrap}
+# Steam directory `[supports env variables]`
Must be a valid Steam directory which contains Steam executable. In order for Steam account to be detected, user must have logged in at least once.
diff --git a/src/lang/tr-TR/markdown/steam-parser-input.md b/src/lang/tr-TR/markdown/steam-parser-input.md
index 75f21d380d..1174b71b64 100644
--- a/src/lang/tr-TR/markdown/steam-parser-input.md
+++ b/src/lang/tr-TR/markdown/steam-parser-input.md
@@ -1,4 +1,4 @@
-# Steam Parser specific inputs
+# Steam Parser Specific Inputs
## Find artwork for games only
If enabled SRM will filter out any Steam applications that are not full games, such as demos and tools like `3DMark` or `Wallpaper Engine`.
diff --git a/src/lang/tr-TR/markdown/steam-parser.md b/src/lang/tr-TR/markdown/steam-parser.md
index b158f676a8..5b93d8bc77 100644
--- a/src/lang/tr-TR/markdown/steam-parser.md
+++ b/src/lang/tr-TR/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Steam parser
-This parser imports steam games into SRM. It does not add shortcuts, but it allows you to set the artwork for your steam games. By default the parser will get games from all user accounts in the steam directory specified — if you would prefer to only get the games for a subset of the accounts then specify them in the `User accounts` field.
-
-## Limitations
-Unfortunately for the time being this parser only works for steam games **that are in at least one category**. The reason for this is that Steam only stores your full list of games locally if they are categorized. Sometimes, for unknown reasons, games will be stored locally regardless and the parser will work, but to be safe the easiest thing to do is just **create a Steam Category** that has all of your Steam games in it.
-
-## User accounts (Optional)
-
-Can be used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
-```
-${...}
-```
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
-
- {.fitImage.center}
-
-For example, this is how you specify account for "Banana" and "Apple":
-
-```
-${Banana}${Apple}
-```
-
-In case the [use account credentials](#what-does-use-account-credentials-do) is disabled, you can still limit accounts by specifying their ids directly:
-
-```
-${56489124}${21987424}
-```
-
-## What does "Skip found accounts with missing data directories" do?
-
-Sometimes Steam's file that contains logins, may contain users that do not have data directory created (might have been manually deleted, etc.). You can specify to skip those accounts by enabling this option.
-
-## What does "Use account credentials" do?
-
-Tries to look for account credentials in Steam directory. In other words -- username. Username then can be used to filter accounts without actually having to know their ids.
-
-### Warning!
-
-If Steam has credential saving disabled, this option will prevent finding user accounts.
+This parser imports steam games into SRM so you can manage their artwork. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
\ No newline at end of file
diff --git a/src/lang/tr-TR/markdown/title-from-variable.md b/src/lang/tr-TR/markdown/title-from-variable.md
index bb6e4a52a2..6aa467e98c 100644
--- a/src/lang/tr-TR/markdown/title-from-variable.md
+++ b/src/lang/tr-TR/markdown/title-from-variable.md
@@ -1,43 +1,40 @@
-# Title from custom variable (optional)
+# Title from custom variable
-Allows to overwrite extracted title with a custom variable. This is done right after title extraction, meaning that the replaced title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+Allows one to overwrite the extracted title with a custom variable, pulled from the `json` files described below. This happens right after title extraction, meaning that the new title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+
+Title matching is limited to specific groups of custom variables. For example, this is how you specify groups "FBN" and "PSN":
-Title matching can be limited to specific groups of custom variables. In order to specify groups, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify groups for "RPCS3" and "rpcs3":
```
-${RPCS3}${rpcs3}
+${RPCS3}${PSN}
```
-Make sure you **toggle enable to on**.
-
-
-## Case-insensitive option
-
-If this option is enabled, case-insensitive matching will be done and first matched custom variable will be used.
-
-## Note. This feature is **experimental**
+# How it works
-Basically, it might change in the future release (very unlikelly). Furthermore, currently the only way to add variables is to create/edit `customVariables.json` used by SRM directly.
+There are two variable files, `customVariables.json` which is maintained by SRM (don't change this one, your changes will be overwritten every time SRM restarts) and `userVariables.json` which is where you should put your own variables. Both files are located in SRM's `Config Directory`.
-This file is/shoud be located in SRM's `userData` directory.
-
-SRM will throw error unless the following JSON structure is used:
+Both `customVariables.json` and `userVariables.json` have the same JSON structure. SRM will throw an error unless the following JSON structure is used:
```
{
- "RPCS3": {
+ "Group1": {
"NPUB30698": "Catherine",
"NPUB30024": "1942: Joint Strike",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
+ "Group2": {
+ "The Legend Of Zelda": "The Legend Of Link",
+ ...
},
...
}
```
-Then if your user glob were `MyDir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `MyDir`, you would set the title from custom variable field to `${Custom Stuff}` to obtain a final title of "The Legend of Link".
+Then if your user glob were `romsdir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `romsdir`, you would set the title from custom variable field to `${Group2}` to obtain a title of "The Legend of Link".
+
+## Case-insensitive variables
+
+If enabled, case-insensitive matching will be done and first matched custom variable will be used.
+
+## Skip file if variable not found
+
+If enabled, titles that don't match a variable will be excluded.
diff --git a/src/lang/tr-TR/markdown/title-modifier.md b/src/lang/tr-TR/markdown/title-modifier.md
index 791e000e27..4ecb2d02db 100644
--- a/src/lang/tr-TR/markdown/title-modifier.md
+++ b/src/lang/tr-TR/markdown/title-modifier.md
@@ -1,9 +1,11 @@
# Title modifier `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting can be used to prepend or append desired characters to a title which will be added to Steam. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset. This setting can be used to prepend or append desired characters to a Steam shortcut's `Title`. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+
```
${fuzzyTitle} (1.7.5)
```
+
You can use `${title}`{.noWrap} or any other variable to construct the final title.
This setting influences Steam's APP ID.
diff --git a/src/lang/tr-TR/markdown/uplay-parser-input.md b/src/lang/tr-TR/markdown/uplay-parser-input.md
index f40bbcd928..3a54e84b1a 100644
--- a/src/lang/tr-TR/markdown/uplay-parser-input.md
+++ b/src/lang/tr-TR/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# Unique inputs for UPlay Parser
+# UPlay Parser Specific Inputs
+
## Ubisoft Directory Override
By default Steam ROM Manager assumes your UPlay install is located in `C:\Program Files (x86)\Ubisoft`. This field allows you to override that path if your UPlay installation is elsewhere.
## Launch Via UPlay `[Recommend disabled]`
-
What it sounds like, this toggle let's you set whether games will launch via UPlay or directly from the game's executable.
For UPlay this doesn't matter too much as UPlay games will automatically launch UPlay in the background even when launched from the executable. Steam Overlay will not work when `Launch via UPlay` is enabled, whereas both Steam and Ubisoft overlays work when `Launch via UPlay` is disabled.
diff --git a/src/lang/tr-TR/markdown/user-accounts.md b/src/lang/tr-TR/markdown/user-accounts.md
index 99e4ea0bee..c0101b5f74 100644
--- a/src/lang/tr-TR/markdown/user-accounts.md
+++ b/src/lang/tr-TR/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# User accounts (Optional)
+# User accounts
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
-
-`${...}`
-
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either:
-
-* The account id is the name of the account directory that appears in `/path/to/steam/userdata`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
+This field is used to limit SRM's effects to specific user accounts. It can be set to `Global` or over ridden per parser.
## Warning
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and `Choose Accounts` will only be able to pull your `Steam IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Settings` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
diff --git a/src/lang/tr-TR/markdown/user-exceptions.md b/src/lang/tr-TR/markdown/user-exceptions.md
index a53dd0d6d9..a6e47de497 100644
--- a/src/lang/tr-TR/markdown/user-exceptions.md
+++ b/src/lang/tr-TR/markdown/user-exceptions.md
@@ -12,7 +12,7 @@ The `Extracted Title` field matches in two ways:
Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`.
-Exceptions generated from `Preview` will always be in the form `Extracted Title ${id:XXXXXX}`.
+Exceptions generated from `Add Games` will always be in the form `Extracted Title ${id:XXXXXX}`.
## New Display Title
diff --git a/src/lang/uk-UA/langStrings.json b/src/lang/uk-UA/langStrings.json
index d42bc546d5..8592808654 100644
--- a/src/lang/uk-UA/langStrings.json
+++ b/src/lang/uk-UA/langStrings.json
@@ -1,89 +1,89 @@
{
"preview": {
"component": {
- "filter": "Search for game",
- "selectType": "Artwork Type",
+ "filter": "Пошук для гри",
+ "selectType": "Тип ілюстрації",
"selectCategories": "Steam Category",
"selectParsers": "Parser Title",
"selectTypeOptions": {
- "long": "Banners",
- "tall": "Posters",
- "hero": "Heroes",
- "icon": "Icons",
- "logo": "Logos",
- "games": "All Artwork"
+ "long": "Банери",
+ "tall": "Автори",
+ "hero": "Герої",
+ "icon": "Ікони",
+ "logo": "Логотипи",
+ "games": "Усі твори мистецтва"
},
- "by": "by",
- "refreshImages": "Refresh images",
- "saveImage": "Save image to file",
- "addLocalImages": "Add local images",
- "retryDownload": "Retry download",
- "generateAppList": "Parse",
- "saveAppList": "Save to Steam",
- "removeAppList": "Remove from Steam",
- "remainingImages": "Retrieving urls:",
- "stopUrlRetrieving": "Stop",
- "exportSelections": "Export",
- "importSelections": "Import",
- "backButton": "Back",
- "logButton": "Log"
+ "by": "за",
+ "refreshImages": "Refresh artwork",
+ "saveImage": "Save artwork to file",
+ "addLocalImages": "Add local artwork",
+ "retryDownload": "Retry artwork download",
+ "generateAppList": "Refresh",
+ "saveAppList": "Зберегти у Steam",
+ "removeAppList": "Видалити з Steam",
+ "remainingImages": "Отримання url-адрес:",
+ "stopUrlRetrieving": "Зупинити",
+ "exportSelections": "Export art",
+ "importSelections": "Import art",
+ "backButton": "Назад",
+ "logButton": "Журнал"
},
"service": {
"info": {
- "listIsBeingGenerated": "List is being generated. Please wait.",
- "listIsBeingSaved": "List is being saved. Please wait.",
- "listIsBeingRemoved": "List is being removed. Please wait.",
- "listIsEmpty": "List is empty.",
- "populatingVDF_List": "Populating VDF list.",
- "creatingBackups": "Creating backups.",
- "readingVDF_Files": "Reading VDF files.",
- "mergingVDF_entries": "Merging VDF entries.",
- "removingVDF_entries": "Removing VDF entries and image files.",
+ "listIsBeingGenerated": "Список формується. Будь ласка, зачекайте.",
+ "listIsBeingSaved": "Список зберігається. Будь ласка, зачекайте.",
+ "listIsBeingRemoved": "Список видаляється. Будь ласка, зачекайте.",
+ "listIsEmpty": "Список порожній.",
+ "populatingVDF_List": "Заповнення списку VDF.",
+ "creatingBackups": "Створення резервних копій.",
+ "readingVDF_Files": "Читання файлів VDF.",
+ "mergingVDF_entries": "Об’єднання записів VDF.",
+ "removingVDF_entries": "Видалення записів VDF і файлів зображень.",
"savingCategories": "Saving category information to localconfig.vdf.",
"savingControllers": "Saving controller information.",
"removingFromCategories": "Removing all added category information",
"writingVDF_entries__i": "Writing VDF files and downloading high res images in batches of ${batchSize}.",
"updatingKnownSteamDirList": "Updating a list of known Steam directories.",
- "retryingDownload__i": "Retrying image download from \"${imageUrl}\" for \"${appTitle}\".",
- "disabledConfigurations__i": "${count} user configuration(s) was/were skipped (disabled by user).",
- "invalidConfigurations__i": "${count} user configuration(s) was/were skipped (invalid).",
+ "retryingDownload__i": "Retrying artwork download from \"${imageUrl}\" for \"${appTitle}\".",
+ "disabledConfigurations__i": "${count} user parser(s) was/were skipped (disabled by user).",
+ "invalidConfigurations__i": "${count} user parser(s) was/were skipped (invalid).",
"executingParsers": "Executing parsers.",
- "shutdownSteam": "Please shutdown Steam if it is running.",
- "noParserConfigurations": "Please create parser configuration in \"Parsers\" menu first.",
+ "shutdownSteam": "If Steam is running, exit Steam.",
+ "noParserConfigurations": "Please create parser in \"Parsers\" menu first.",
"parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
- "allImagesRetrieved": "All available image urls retrieved.",
+ "allImagesRetrieved": "All available artwork urls retrieved.",
"providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
"noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
- "preparingExport": "Preparing export of image choices.",
- "exportProgress__i": "Saving image choices ${progress}.",
- "readingSelections": "Applying imported image choices."
+ "preparingExport": "Preparing export of artwork choices.",
+ "exportProgress__i": "Saving artwork choices ${progress}.",
+ "readingSelections": "Applying imported artwork choices."
},
"errors": {
- "fatalError": "Fatal error occurred in Preview. See event log for details.",
- "fatalError__i": "Fatal Preview Error ${error}",
+ "fatalError": "Fatal error occurred in Add Games. See event log for details.",
+ "fatalError__i": "Fatal Add Games error: ${error}",
"knownSteamDirListIsEmpty": "A list of known Steam directories is empty.",
"steamIsRunning": "Cannot make changes while steam is running!",
"categorySaveError": "Error updating categories. See event log for details.",
"categorySaveError__i": "Category error (shortcuts and artwork will still be added): ${error}",
"controllerSaveError": "Error updating controller templates. See event log for details.",
"controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
- "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
+ "retryingDownload__i": "Artwork download from \"${imageUrl}\" failed for \"${appTitle}\".",
"providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
"unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
"exportError__i": "Could not save selections package folder: ${error}",
"importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
- "importFailError__i": "Could not import image choices: ${error}"
+ "importFailError__i": "Could not import artwork choices: ${error}"
},
"success": {
"writingVDF_entries": "Done adding/removing entries.",
"removingVDF_entries": "Entries have been removed.",
- "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
- "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
+ "exportSuccess__i": "Artwork choices folder successfully saved to \"${path}\"!",
+ "importSelectionsSuccess__i": "Successfully imported ${count} artwork choices!"
}
}
},
"steamParser": {
- "onlyGamesTitle": "Find artwork for games only (no tools)",
+ "onlyGamesTitle": "Find artwork for games only (no tools or demos)",
"onlyInstalledTitle": "Find artwork for installed titles only",
"sourceModsTitle": "Find artwork for unofficial source mods",
"errors": {
@@ -93,16 +93,30 @@
"fatalError__i": "> Steam parser failed with fatal error:\n ${error}"
}
},
+ "nonSRMShortcutsParser": {
+ "errors": {
+ "noSteamAccounts": "> Steam directory specified has no accounts.",
+ "fatalError__i": "> Non-SRM Shortcuts parser failed with fatal error:\n ${error}"
+ }
+ },
"manualParser": {
"manifestsInputTitle": "Manifests Directory",
- "manifestsInputPlaceholder": "/path/to/your/manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"errors": {
"fatalError__i": "> Manual parser failed with fatal error:\n ${error}"
}
},
"epicParser": {
"manifestsInputTitle": "Epic Manifests Directory Override",
- "manifestsInputPlaceholder": "/path/to/Manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"launcherModeInputTitle": "Launch games via Epic for online services",
"errors": {
"invalidManifestsOverride": "> Manifests Override is not a valid directory.",
@@ -112,25 +126,56 @@
}
},
"legendaryParser": {
+ "launcherModeInputTitle": "Launch games via Legendary for online services",
"legendaryInstalledFileTitle": "Legendary installed.json Path Override",
- "legendaryInstalledFilePlaceholder": "/path/to/legendary/installed.json",
+ "legendaryInstalledFilePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary\\installed.json",
+ "Darwin": "/path/to/legendary/installed.json",
+ "Linux": "/path/to/legendary/installed.json"
+ },
+ "legendaryExeOverrideTitle": "Legendary Path Override",
+ "legendaryExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary.exe",
+ "Darwin": "/path/to/legendary",
+ "Linux": "/path/to/legendary"
+ },
"errors": {
"legendaryNotInstalled": "> Legendary installed.json not found",
- "fatalError__i": "> Legendary parser failed with fatal error: \n ${error}"
+ "fatalError__i": "> Legendary parser failed with fatal error:\n ${error}"
+ }
+ },
+ "battleNetParser": {
+ "battleExeOverrideTitle": "Battle.net.exe Path Override",
+ "battleExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Battle.net\\Battle.net.exe",
+ "Darwin": "/path/to/Battle.net.app/Contents/MacOS/Battle.net",
+ "Linux": "/path/to/Battle.net"
+ },
+ "errors": {
+ "battleNotCompatible": "> Battle.net parser is only available on Windows.",
+ "fatalError__i": "> Battle.net parser failed with fatal error:\n ${error}"
}
},
"UWPParser": {
"UWPDirTitle": "XboxGames Directory Override",
- "UWPDirPlaceholder": "/path/to/XboxGames or /path/to/WindowsApps",
+ "UWPDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\XboxGames\\ or C:\\path\\to\\WindowsApps\\",
+ "Darwin": "/path/to/XboxGames/ or /path/to/WindowsApps/",
+ "Linux": "/path/to/XboxGames/ or /path/to/WindowsApps/"
+ },
"UWPLauncherModeTitle": "Launch game as UWP instead of launcher helper",
"errors": {
"fatalError__i": "> UWP parser is not compatible in this platform.",
- "UWPNotCompatible": "> UWP parser failed with fatal error:\n ${error}"
+ "UWPNotCompatible": "> UWP parser is only available on Windows."
}
},
"uplayParser": {
"uplayDirTitle": "Ubisoft Directory Override",
- "uplayDirPlaceholder": "/path/to/Ubisoft/",
+ "uplayDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Ubisoft\\",
+ "Darwin": "/path/to/Ubisoft/",
+ "Linux": "/path/to/Ubisoft/"
+ },
"launcherModeInputTitle": "Launch games via UPlay for online services",
"errors": {
"invalidManifestsOverride": "> Uplay Directory Override is not a valid directory.",
@@ -142,8 +187,14 @@
},
"gogParser": {
"galaxyExeOverrideTitle": "Galaxy Path Override",
- "galaxyExeOverridePlaceholder": "/path/to/GalaxyClient.exe",
+ "galaxyExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\GalaxyClient.exe",
+ "Darwin": "/path/to/GOG Galaxy.app/Contents/MacOS/GOG Galaxy",
+ "Linux": "/path/to/GalaxyClient"
+ },
"launcherModeInputTitle": "Launch games via GOG Galaxy",
+ "parseLinkedExecsTitle": "Parse linked executables from GOG Galaxy",
+ "parseRegistryEntries": "Parse using Registry instead of Galaxy DB",
"errors": {
"invalidGalaxyExeOverride": "> Galaxy Client Override is not a valid path.",
"fatalError__i": "> GOG Galaxy parser failed with fatal error:\n ${error}",
@@ -153,7 +204,11 @@
},
"amazonGamesParser": {
"exeOverrideTitle": "Amazon Games Path Override",
- "exeOverridePlaceholder": "/path/to/Amazon Games.exe",
+ "exeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Amazon Games.exe",
+ "Darwin": "/path/to/Amazon Games.app/Contents/MacOS/Amazon Games",
+ "Linux": "/path/to/Amazon Games"
+ },
"launcherModeInputTitle": "Launch games via Amazon Games",
"errors": {
"invalidExeOverride": "> Amazon Games Installation Override is not a valid directory.",
@@ -164,7 +219,11 @@
},
"itchIoParser": {
"itchIoAppDataOverrideTitle": "itch.io AppData Directory Override",
- "itchIoAppDataOverridePlaceholder": "/path/to/itch",
+ "itchIoAppDataOverridePlaceholder": {
+ "Windows_NT": "C:\\AppData\\itch\\",
+ "Darwin": "~/Library/Application Support/itch/",
+ "Linux": "~/.config/itch/"
+ },
"itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Windows-on-Linux Install Drive Redirect",
"itchIoWindowsOnLinuxInstallDriveRedirectPlaceholder": "/mnt/d/",
"errors": {
@@ -177,7 +236,11 @@
},
"eaDesktopParser": {
"eaGamesDirTitle": "EA Games Directory Override",
- "eaGamesDirPlaceholder": "/path/to/EA Games/",
+ "eaGamesDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\EA Games\\",
+ "Darwin": "/path/to/EA Games/",
+ "Linux": "/path/to/EA Games/"
+ },
"eaLauncherModeTitle": "Launch games via EA Desktop",
"errors": {
"fatalError__i": "> EA Desktop parser failed with fatal error:\n ${error}",
@@ -186,7 +249,7 @@
}
},
"globParser": {
- "inputTitle": "User's glob",
+ "inputTitle": "Search glob",
"inputPlaceholder": "${title}.@(iso|ISO)",
"errors": {
"noTitle__md": "> File glob must contain `${title}`!",
@@ -203,7 +266,7 @@
}
},
"globRegexParser": {
- "inputTitle": "User's glob-regex",
+ "inputTitle": "Search glob-regex",
"inputPlaceholder": "${/valid regex/}",
"errors": {
"noRegex__md": "> File glob must contain `${regex}` where **regex** is your regular expression!",
@@ -226,18 +289,22 @@
"stylesTitle": "Allowed grid styles",
"stylesHeroTitle": "Allowed hero styles",
"stylesLogoTitle": "Allowed logo styles",
- "stylesIconTitle": "Allowed icon styles"
+ "stylesIconTitle": "Allowed icon styles",
+ "sizesTitle": "Allowed banner dimensions",
+ "sizesHeroTitle": "Allowed hero dimensions",
+ "sizesTallTitle": "Allowed portrait dimensions",
+ "sizesIconTitle": "Allowed icon dimensions"
},
"logger": {
"component": {
"noMessages": "No messages are available",
- "error": "ERROR",
- "info": "INFO",
- "success": "SUCCESS",
- "fuzzy": "FUZZY",
- "textWrap": "TEXT-WRAP",
- "autoscroll": "AUTOSCROLL",
- "clearLog": "Clear log",
+ "error": "Error messages",
+ "info": "Info messages",
+ "success": "Success messages",
+ "fuzzy": "Fuzzy messages",
+ "textWrap": "Wrap text",
+ "autoscroll": "Autoscroll",
+ "clearLog": "Clear",
"issueDescription": "Thorough issue description with passable spelling.",
"handleExample": "CoolHandle#1234"
}
@@ -251,40 +318,42 @@
"corruptedVariables__i": "Saved custom variables are invalid!\r\nPermanent variable saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "Custom variables file has been downloaded."
+ "downloaded": "Custom variables file has been updated."
}
}
},
"configPresets": {
"service": {
"error": {
- "failedToDownload__i": "Failed to download configuration presets file. Status: ${error}.",
+ "failedToDownload__i": "Failed to download configuration presets file from commit ${commit}. Status: ${error}.",
"writingError": "Error occurred while saving configuration presets.",
"loadingError": "Error occurred while loading configuration presets.",
"corruptedVariables__i": "Saved configuration presets are invalid!\r\nPermanent file saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "New config presets have been downloaded."
+ "downloaded": "Community presets have been updated."
}
}
},
"settings": {
"component": {
"label": {
- "general": "General settings",
- "imageProviders": "Image provider settings",
- "fuzzy": "Fuzzy matcher settings",
- "environmentVariables": "Environment variable settings",
- "communityPresets": "Community variable/preset settings"
+ "general": "General",
+ "imageProviders": "Artwork Providers",
+ "fuzzy": "Fuzzy Matcher",
+ "environmentVariables": "Environment Variables",
+ "communityPresets": "Community Presets and Custom Variables"
},
"text": {
+ "autoUpdate": "Check for updates on start",
"offlineMode": "Offline mode",
- "removeApps_desc": "all added app entries and controllers",
+ "removeApps_desc": "all added games and controllers",
"removeApps_btn": "Remove",
- "preloadImages": "Preload retrieved images immediately",
+ "preloadImages": "Artwork loading strategy",
"fuzzy_verbose": "Log matching results",
- "fuzzy_filter": "Filter images",
+ "fuzzy_filter": "Filter artwork",
"enabledProviders": "Enabled image providers",
+ "dnsServers": "DNS manual override",
"selectLanguage": "Select language",
"selectTheme": "Select theme",
"resetFuzzy_desc": "fuzzy list",
@@ -292,28 +361,38 @@
"resetFuzzy_btn": "Reset",
"customVariables_desc": "custom variables",
"configPresets_desc": "config presets",
- "showSteamImages": "Show current Steam images by default",
+ "showSteamImages": "Show current Steam artwork by default",
"deleteDisabledShortcuts": "Remove shortcuts for disabled parsers",
"clearLogOnTest": "Automatically clear log before testing parsers",
- "configDir": "Open Config Directory"
+ "configDir": "Config Directory",
+ "steamDir": "Steam Directory"
},
"placeholder": {
"noProviders": "None",
- "steamDirectoryWin": "Typically C:\\Program Files (x86)\\Steam",
- "steamDirectoryMac": "Typically ~/Library/Application Support/Steam",
- "steamDirectoryLinux": "Typically /home/user/.steam/steam",
"userAccounts": "For example ${steamlogin}",
- "romsDirectoryWin": "For example D:\\ROMs",
- "romsDirectoryMac": "For example ~/ROMs",
- "romsDirectoryLinux": "For example ~/ROMs",
- "retroarchPathWin": "For example C:\\Path\\To\\retroarch.exe",
- "retroarchPathLinux": "For example /path/to/retroarch",
- "retroarchPathMac": "For example /path/to/retroarch",
- "raCoresDirectoryWin": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores",
- "raCoresDirectoryLinux": "Typically /lib/x86_64-linux-gnu/libretro/cores",
- "raCoresDirectoryMac": "Typically /Applications/Retroarch.app/Contents/Resources/cores",
- "localImagesDirectoryWin": "For example C:\\Path\\To\\LocalArtwork",
- "localImagesDirectoryUnix": "For example ~/path/to/localartwork"
+ "bySystem": {
+ "Windows_NT": {
+ "steamDirectory": "Typically C:\\Program Files (x86)\\Steam\\",
+ "romsDirectory": "For example D:\\ROMs\\",
+ "retroarchPath": "For example C:\\Path\\To\\Retroarch.exe",
+ "raCoresDirectory": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores\\",
+ "localImagesDirectory": "For example C:\\Path\\To\\LocalArtwork\\"
+ },
+ "Darwin": {
+ "steamDirectory": "Typically ~/Library/Application Support/Steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /Applications/Retroarch.app/Contents/Resources/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ },
+ "Linux": {
+ "steamDirectory": "Typically /home/user/.steam/steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /lib/x86_64-linux-gnu/libretro/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ }
+ }
}
},
"service": {
@@ -331,6 +410,7 @@
"component": {
"about": "About",
"preview": "Preview",
+ "view": "View Games",
"logger": "Log",
"settings": "Settings",
"parsers": "Create Parser",
@@ -352,6 +432,9 @@
"title": "User Exceptions",
"exclude": "Exclude Title",
"excludeArtwork": "Local Artwork Only"
+ },
+ "placeholder": {
+ "sortBy": "Sort By"
}
},
"service": {
@@ -366,8 +449,8 @@
"component": {
"buttons": {
"save": "Save",
- "copy": "Copy",
- "testParser": "Test parser",
+ "copy": "Clone",
+ "testParser": "Test",
"delete": "Delete",
"moveUp": "Move up",
"moveDown": "Move down",
@@ -381,23 +464,23 @@
"opSys__i": "Operating system is \"${os}\"",
"testCompleted": "Parser test is completed.",
"nothingWasFound": "Parser found nothing.",
- "copiedToClipboard": "Configuration copied to clipboard",
+ "copiedToClipboard": "Parser copied to clipboard",
"userExclusions": "User excluded:",
- "excludedFileInfo__i": "[${index}/${total}]: ${filename}",
+ "excludedFileInfo__i": "[${index}/${total}]: ${filename}\n Excluded by \"${exceptionKey}\"",
"removingControllers__i": "Removing controller templates for parser: ${configTitle}",
"fetchingControllerTemplates": "Fetching controller templates"
},
"error": {
"missingAccounts__i": "Following ${count} user account(s) were not found (user must to login to Steam at least once):",
"missingAccountInfo__i": " ${name}",
- "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials (\"Show advanced options -> User accounts -> Use account credentials\").\r\nIf you're seeing this, preview won't be generated for this configuration.",
+ "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials.\r\nIf you're seeing this, Add Games will skip this configuration.",
"cannotParseUserIDs": "Error parsing user accounts:",
"failedToMatch": "Failed to match:",
"failedFileInfo__i": "[${index}/${total}]: ${filename}",
"testFailed": "Testing failed",
"cannotTestInvalid": "Can not test invalid configuration!",
"cannotCopyInvalid": "Can not copy invalid configuration!",
- "failedToCopy": "Failed to copy to clipbard!",
+ "failedToCopy": "Failed to copy to clipboard!",
"cannotFetchTemplates": "Can not fetch controller templates for invalid steam directory!",
"errorRemovingControllers": "Error removing controllers:",
"cannotRemoveControllers": "Can not remove controllers from invalid steam directory!"
@@ -405,8 +488,8 @@
"success": {
"foundAccounts__i": "Found ${count} available user account(s):",
"foundAccountInfo__i": " ${name} (steamID64: ${steamID64}, accountID: ${accountID})",
- "steamCategory__i": "[${index}/${total}]: Steam categories - ${steamCategory}",
- "steamCategoryInfo__i": "[${index}/${total}]: ${steamCategory}",
+ "steamCategories__i": "[${index}/${total}]: Steam categories - ${steamCategories}",
+ "steamCategoriesInfo__i": "[${index}/${total}]: ${steamCategories}",
"exceptionKey__i": "[${index}/${total}]: Exception ID - ${appid}",
"appId__i": "[${index}/${total}]: Legacy App ID - ${appid}",
"shortAppId__i": "[${index}/${total}]: App ID - ${appid}",
@@ -416,20 +499,21 @@
"filePath__i": "[${index}/${total}]: File path - ${filePath}",
"startDir__i": "[${index}/${total}]: Start dir - ${startDir}",
"completeShortcut__i": "[${index}/${total}]: Complete shortcut - ${shortcut}",
- "firstImageQuery__i": "[${index}/${total}]: Image queries - ${query}",
+ "firstImageQuery__i": "[${index}/${total}]: Artwork queries - ${query}",
+ "imagePool__i": "[${index}/${total}]: Artwork pool - ${imagePool}",
"imageQueries__i": "[${index}/${total}]: ${query}",
"defaultImage__i": "[${index}/${total}]: Resolved fallback ${artworkType}:\r\n[${index}/${total}]: ${image}",
"resolvedDefaultImage__i": "[${index}/${total}]: Fallback ${artworkType}:",
- "localImages__i": "[${index}/${total}]: Resolved ${artworkType}:",
- "resolvedLocalImages__i": "[${index}/${total}]: ${artworkType} glob:",
+ "localImages__i": "[${index}/${total}]: Resolved local ${artworkType}:",
+ "resolvedLocalImages__i": "[${index}/${total}]: Local ${artworkType} glob:",
"indexInfo__i": "[${index}/${total}]: ${indexed}",
"removedControllers__i": "Succesfully removed controllers for parser: ${configTitle}",
"fetchedTemplates": "Fetched all controller templates"
},
"label": {
"parserType": "Parser type",
- "configTitle": "Configuration title",
- "steamCategory": "Steam category",
+ "configTitle": "Parser title",
+ "steamCategories": "Steam collections",
"executableModifier": "Executable modifier",
"executableLocation": "Executable",
"romDirectory": "ROMs directory",
@@ -440,33 +524,56 @@
"titleModifier": "Title modifier",
"fuzzyMatch": "Fuzzy matching",
"executableArgs": "Command line arguments",
- "onlineImageQueries": "Online image query",
- "imagePool": "Image pool",
- "imageProviders": "Image providers",
+ "onlineImageQueries": "Artwork provider search queries",
+ "imagePool": "Artwork pool",
+ "imageProviders": "Artwork providers",
"defaultImage__i": "Fallback ${artworkType}",
"localImages__i": "Local ${artworkType} glob"
},
"placeholder": {
"parserType": "Select parser...",
"configTitle": "My Awesome Parser",
- "steamCategory": "${cat1}${cat2}",
- "steamDirectory": "${steamdirglobal} or /path/to/steam",
- "userAccounts": "${steamuser1}${steamuser2} or ${${accountsglobal}}",
- "titleFromVariable": "${myvariable}",
+ "steamDirectory": {
+ "Windows_NT": "${steamdirglobal} or C:\\path\\to\\Steam\\",
+ "Darwin": "${steamdirglobal} or /path/to/Steam/",
+ "Linux": "${steamdirglobal} or /path/to/Steam/"
+ },
+ "titleFromVariable": "${variableGroup1}${variableGroup2}",
"titleModifier": "${fuzzyTitle} or ${title}",
- "defaultImage__i": "/path/to/fallback_${artworkType}.png",
- "localImages__i": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
- "romDirectory": "/path/to/games/",
+ "defaultImage__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\fallback_${artworkType}.png",
+ "Darwin": "/path/to/fallback_${artworkType}.png",
+ "Linux": "/path/to/fallback_${artworkType}"
+ },
+ "localImages__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\art\\\\${artworkType}\\\\\\${title}.@(png|jpg)",
+ "Darwin": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
+ "Linux": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)"
+ },
+ "onlineImageQueries": "${${fuzzyTitle}} or ${${title}}${${fuzzyTitle}}",
+ "imagePool": "${fuzzyTitle}",
+ "romDirectory": {
+ "Windows_NT": "C:\\path\\to\\games\\",
+ "Darwin": "/path/to/games/",
+ "Linux": "/path/to/games/"
+ },
"glob": "${title}.@(iso|ISO)",
- "executableLocation": "Example: /path/to/emulator.exe",
- "executableArgs": "--arg1 --arg2",
+ "executableLocation": {
+ "Windows_NT": "C:\\path\\to\\emulator.exe",
+ "Darwin": "/path/to/emulator.app",
+ "Linux": "/path/to/emulator"
+ },
+ "executableArgs": "--arg1 --arg2 --launch \"${filePath}\"",
"executableModifier": "\"${exePath}\"",
- "startInDirectory": "/path/to/start/in/dir",
+ "startInDirectory": {
+ "Windows_NT": "C:\\path\\to\\start-in-dir\\",
+ "Darwin": "/path/to/start-in-dir/",
+ "Linux": "/path/to/start-in-dir/"
+ },
"imageProviders": "None",
"multiAPIPlaceholder": "No Filter"
},
"text": {
- "tryToMatchTitle": "Enable Title from Custom Variable",
"skipFileIfVariableWasNotFound": "Skip file if variable was not found",
"caseInsensitiveVariables": "Case-insensitive variables",
"shortcut_passthrough": "Follow .lnk or .desktop to destination (Windows and Linux only)",
@@ -482,18 +589,18 @@
},
"service": {
"info": {
- "updatingConfigurations": "Updating user configurations with new fields"
+ "updatingConfigurations": "Updating user's parsers with new fields"
},
"error": {
- "savingConfiguration": "Error encountered while saving user configurations!",
- "readingConfiguration": "Error encountered while reading user configurations!",
+ "savingConfiguration": "Error encountered while saving user's parsers!",
+ "readingConfiguration": "Error encountered while loading user's parsers!",
"parserTypeMissing": "Cannot save without specifying parser type",
- "corruptedConfiguration__i": "One or more saved parser configurations are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
- "fetcingTemplates": "Error encountered while fetching controllers templates!"
+ "corruptedConfiguration__i": "One or more saved parsers are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
+ "fetchingTemplates": "Error encountered while fetching controllers templates!"
},
"validationErrors": {
"parserType__md": "> Incorrect parser type!",
- "configTitle__md": "> Configuration title is required!",
+ "configTitle__md": "> Parser title field cannot be blank!",
"parserId__md": "> Parser Id is missing, something is horribly wrong.",
"parserInput": {
"noInput": "No inputs are available!",
@@ -501,19 +608,15 @@
"incorrectParser": "Incorrect parser!"
},
"romDir__md": "> ROMs directory is invalid!",
- "userAccounts__md": "> Steam parser requires `User Accounts` field",
+ "userAccounts__md": "> User accounts field is required!",
"steamDir__md": "> Steam directory is invalid!",
"startInDir__md": "> \"Start In\" directory is invalid!",
"executable__md": "> Executable is invalid!",
- "imagePool__md": "> Image pool must not be empty!",
- "defaultImage__md": "> Default image is an invalid path!",
- "titleModifier__md": "> Title modifier must not be empty!",
- "executableModifier__md": "> Executable modifier must not be empty!",
- "variableString__md": "> Uneven number of `${` and `}` pairs. Use `\\` to escape `${` or `}` if you want to use them as characters.",
- "imageProviders__md": "> Incorrect image providers type!",
- "unhandledValidationKey__md": "> Input's validation is unhandled",
- "genericDir__md": "> Directory is invalid",
- "genericPath__md": "> Path is invalid"
+ "defaultImage__md": "> Fallback artwork is an invalid path!",
+ "variableString__md": "> Uneven number of `${` and `}` pairs! Use `\\` to escape `${` or `}` if you want to use them as characters.",
+ "unhandledValidationKey__md": "> Input's validation is unhandled!",
+ "genericDir__md": "> Directory is invalid!",
+ "genericPath__md": "> Path is invalid!"
},
"text": {
"noTitle": "No title!"
@@ -540,7 +643,7 @@
"error": {
"parserNotFound__i": "Parser \"${name}\" not found!",
"tooManyFieldGlobs__md": "> Only one `$(...)$` set is allowed per input.",
- "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** ir **Glob-regex** field.",
+ "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** in **Glob-regex** field.",
"noWinSlashes__md": "> Windows directory character `\\` is not allowed! Use `/` instead."
}
},
@@ -567,11 +670,11 @@
"error": {
"readingVdf__i": "Failed to read from \"${filePath}\".\n ${error}",
"writingVdf__i": "Failed to write to \"${filePath}\".\n ${error}",
- "skippingDMCA__i": "Skipping DMCA'd image for ${title}",
+ "skippingDMCA__i": "Skipping DMCA'd artwork for ${title}",
"corruptedVdf__i": "\"${filePath}\" is corrupted.\n ${error}",
"creatingBackup__i": "Could not create backup for \"${filePath}\".\n ${error}",
"unsupportedMimeType__i": "Mime type (${type}) is unsupported (title - \"${title}\").",
- "imageError__i": "Error occurred while saving/downloading image for \"${title}\". Url: ${url}.\n ${error}"
+ "imageError__i": "Error occurred while saving/downloading artwork for \"${title}\". Url: ${url}.\n ${error}"
}
},
"helpers": {
diff --git a/src/lang/uk-UA/markdown/UWP-parser-input.md b/src/lang/uk-UA/markdown/UWP-parser-input.md
index 1a3f20be1d..8c045eea77 100644
--- a/src/lang/uk-UA/markdown/UWP-parser-input.md
+++ b/src/lang/uk-UA/markdown/UWP-parser-input.md
@@ -1,4 +1,4 @@
-# Unique inputs for UWP Parser
+# UWP Parser Specific Inputs
## Games directory
@@ -8,4 +8,4 @@ Set it to `C:\Program Files\WindowsApps` to grab all UWP applications -- you'll
## Launch as UWP or from GameLaunchHelper.exe
-Gamepass games can be launched both ways, although UWP is preffered.
+Gamepass games can be launched both ways, although UWP is preferred.
diff --git a/src/lang/uk-UA/markdown/UWP-parser.md b/src/lang/uk-UA/markdown/UWP-parser.md
index bfb5a847f3..af4fee0f84 100644
--- a/src/lang/uk-UA/markdown/UWP-parser.md
+++ b/src/lang/uk-UA/markdown/UWP-parser.md
@@ -4,4 +4,4 @@ This parser imports `UWP` games in your Windows OS, having a games library path
## Compatibility
-This parser should only work on `Windows 10` and `Windows 11`.
\ No newline at end of file
+This parser should only work on `Windows 10` and `Windows 11`.
diff --git a/src/lang/uk-UA/markdown/about.md b/src/lang/uk-UA/markdown/about.md
index b5b78d51b7..951a215292 100644
--- a/src/lang/uk-UA/markdown/about.md
+++ b/src/lang/uk-UA/markdown/about.md
@@ -1,53 +1,54 @@
-## System info
+## Інформація про систему
-In case you're having trouble with SRM, feel free to visit the [discord](https://discord.gg/bnSVJrz) or the [subreddit](https://www.reddit.com/r/SteamRomManager/) and ask for our help. In order for us to help you, we would like you to provide this info:
+Якщо у вас виникли проблеми з SRM, відвідайте [discord](https://discord.gg/bnSVJrz) або [subreddit](https://www.reddit.com/r/SteamRomManager/) і попросіть нашої допомоги. Щоб ми могли вам допомогти, ми б хотіли, щоб ви надали таку інформацію:
-* SRM version: **#{APP[version]}**
-* Operating System: **#{APP[os]}**
+* Версія SRM: **#{APP[version]}** emudeckText
+* Операційна система: **#{APP[os]}**
-## Useful links
+## Корисні посилання
-* [SRM Releases](https://github.com/SteamGridDB/steam-rom-manager/releases)
-* [Discord Server](https://discord.gg/bnSVJrz)
+* [Релізи SRM](https://github.com/SteamGridDB/steam-rom-manager/releases)
+* [Сервер Discord](https://discord.gg/bnSVJrz)
* [r/SteamRomManager](https://www.reddit.com/r/SteamRomManager/)
-* [Steam Group](https://steamcommunity.com/groups/steamrommanager)
-* [Github Repo](https://github.com/SteamGridDB/steam-rom-manager)
-* [Crowdin Translation Project](https://crowdin.com/project/steam-rom-manager)
+* [Група Steam](https://steamcommunity.com/groups/steamrommanager)
+* [Репозиторій на Github](https://github.com/SteamGridDB/steam-rom-manager)
+* [Проєкт перекладу Crowdin](https://crowdin.com/project/steam-rom-manager)
-## Support
+## Підтримка
-Help support continued progress on Steam ROM Manager at:
+Допоможіть підтримувати продовжено в Steam ROM Manager на:
-
+
-If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on.
+Якщо вам подобається Steam ROM Manager і ви хочете, щоб він і надалі був корисним, також подумайте про підтримку Patreon [SteamGridDB](https://www.steamgriddb.com/). [SteamGridDB](https://www.steamgriddb.com/) містить усі ілюстрації, які Steam ROM Manager використовує, щоб зробити вашу бібліотеку Steam предметом заздрощів у містечку, тож нам, мабуть, варто допомогти їм не вмикати світло.
-## Contributions
-* `FrogTheFrog`{.noWrap} - Creator of SRM, no longer active on SRM but currently working on the [MoonDeck Plugin](https://github.com/FrogTheFrog/moondeck)
-
-### Current Maintainers
-* `lontanadascienza`{.noWrap} - Updated SRM to handle heroes, posters, logos, and icons. Added the exception manager, controller management, platform parsers (Epic, GOG, Steam, etc), among many other things. Squashes bugs almost as fast as he introduces them.
-* `Zennn`{.noWrap} - Added category support, langauge localization, and the bug report server among many other things. Big boss over at [SteamGridDB](https://www.steamgriddb.com/).
-* `KenCinder`{.noWrap} - Manages and creates community parser presets and helps user setup SRM in [Discord](https://discord.gg/bnSVJrz).
-
-### Feature Contributions
-* `dragoonDorise`{.noWrap} - Added new themes to SRM. Creator and current maintainer of [EmuDeck](https://www.emudeck.com/).
-* `alvaromunoz`{.noWrap} - Added Game Pass parser to SRM.
-* `lexarvn`{.noWrap} - Added the Amazon Games parser and the itch.io parser.
-* `CarJem`{.noWrap} - Added the manual parser.
-* `MattMckenzy`{.noWrap} - Added ability to import and export image choices.
-* `Apalatn`{.noWrap} - Added an install drive redirect option to the itch.io parser.
-* `OneMoreByte` - Made itch.io parser work on linux and mac.
-* `UndarkAido` - Added shortcut passthrough for Linux's .desktop shortcuts.
-
-### Community
-* `HE Spoke`{.noWrap} - created a community around SRM. Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups. Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
-* `livedeht`{.noWrap} - Helps users setup SRM with and without [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/).
-* `Choko`{.noWrap} - Helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
-* `Xav83`{.noWrap} - Creator and maintainer of SRM's [Chocolatey package](https://community.chocolatey.org/packages/steam-rom-manager)
+## Внески
+* `FrogTheFrog`{.noWrap} – Творець SRM, більше не працює над SRM, але зараз працює над [плагіном MoonDeck](https://github.com/FrogTheFrog/moondeck)
+
+### Поточний супроводжувач
+* `lontanadascienza`{.noWrap} – Оновлено SRM для роботи з героями, плакатами, логотипами та значками. Серед багатьох інших речей додано диспетчер винятків, керування контролером, парсери платформи (Epic, GOG, Steam тощо). Розчавлює багів майже так само швидко, як і заводить їх.
+* `Zennn`{.noWrap} – серед багатьох інших речей додано підтримку категорій, локалізацію мови та сервер звітів про помилки. Великий бос у [SteamGridDB](https://www.steamgriddb.com/).
+* `KenCinder`{.noWrap} – керує та створює попередні налаштування аналізатора спільноти та допомагає користувачам налаштувати SRM у [Discord](https://discord.gg/bnSVJrz).
+
+### Внески функцій
+* `dragoonDorise`{.noWrap} - Додано нові теми в SRM. Творець і поточний супроводжувач [EmuDeck](https://www.emudeck.com/).
+* `alvaromunoz`{.noWrap} — до SRM додано парсер Game Pass.
+* `lexarvn`{.noWrap} – додано парсер Amazon Games і itch.io.
+* `CarJem`{.noWrap} – додано ручний парсер.
+* `MattMckenzy`{.noWrap} – додано можливість імпортувати та експортувати вибір зображень.
+* `Apalatn`{.noWrap} – додано опцію переспрямування диска встановлення до синтаксичного аналізатора itch.io.
+* `OneMoreByte`{.noWrap} — Змусив парсер itch.io працювати на Linux та Mac.
+* `UndarkAido`{.noWrap} — Додано наскрізний перехід для ярликів .desktop у Linux.
+* `HazardousBackup` {.noWrap} — Додано ще одну опцію для використання парсера GOG для розбору параметра реєстру замість бази даних GOG.
+
+### Спільнота
+* `HE Spoke`{.noWrap} – створив спільноту навколо SRM. Творець груп [Steam](https://steamcommunity.com/groups/steamrommanager) і [Discord](https://discord.gg/bnSVJrz). Також допомагає користувачам налаштувати SRM у [Discord](https://discord.gg/bnSVJrz).
+* `livedeht`{.noWrap} – допомагає користувачам налаштувати SRM з [EmuDeck](https://www.emudeck.com/) і без нього. Поточний супроводжувач [EmuDeck](https://www.emudeck.com/).
+* `Choko`{.noWrap} – допомагає користувачам налаштувати SRM у [Discord](https://discord.gg/bnSVJrz).
+* `Xav83`{.noWrap} – Творець і супроводжувач [пакета Chocolatey](https://community.chocolatey.org/packages/steam-rom-manager) SRM
diff --git a/src/lang/uk-UA/markdown/amazon-games-parser-input.md b/src/lang/uk-UA/markdown/amazon-games-parser-input.md
index 5a6e892e5e..05eb2e7b5e 100644
--- a/src/lang/uk-UA/markdown/amazon-games-parser-input.md
+++ b/src/lang/uk-UA/markdown/amazon-games-parser-input.md
@@ -1,4 +1,4 @@
-# Спеціальні вхідні дані Amazon Games Parser
+# Специфічні вхідні дані парсера Amazon Games
## Перевизначення шляху Amazon Games
За стандартом Steam ROM Manager припускає, що ваша інсталяція Amazon Games розташована в `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`. Це поле дозволяє вам змінити цей шлях, якщо ваша інсталяція Amazon Games знаходиться в іншому місці.
diff --git a/src/lang/uk-UA/markdown/amazon-games-parser.md b/src/lang/uk-UA/markdown/amazon-games-parser.md
index 6ea711de38..f39ee09551 100644
--- a/src/lang/uk-UA/markdown/amazon-games-parser.md
+++ b/src/lang/uk-UA/markdown/amazon-games-parser.md
@@ -1,3 +1,3 @@
# Аналізатор Amazon Games
-Цей синтаксичний аналізатор імпортує ігри з `Amazon Games`, щоб можна було вибрати для них зображення та додати їх до Steam. Якщо це не працює, це тому, що Amazon Games змінила структуру своєї бази даних ігор або файлу Fuel.json. У цьому випадку повідомте про це розробників SRM, і ми розв’яжемо проблему.
\ No newline at end of file
+Цей синтаксичний аналізатор імпортує ігри з `Amazon Games`, щоб можна було вибрати для них зображення та додати їх до Steam. Якщо це не працює, це тому, що Amazon Games змінила структуру своєї бази даних ігор або файлу Fuel.json. У цьому випадку повідомте про це розробників SRM, і ми розв’яжемо проблему.
diff --git a/src/lang/uk-UA/markdown/battle-net-parser-input.md b/src/lang/uk-UA/markdown/battle-net-parser-input.md
new file mode 100644
index 0000000000..1f03fae4a6
--- /dev/null
+++ b/src/lang/uk-UA/markdown/battle-net-parser-input.md
@@ -0,0 +1,5 @@
+# Battle.net Parser Specific Inputs
+
+## Battle.net.exe Path Override
+
+By default Steam ROM Manager assumes your `Battle.net` executable is located at `C:\Program Files (x86)\Battle.net\Battle.net.exe`. This field allows you to override that if your `Battle.net` is installed elsewhere.
diff --git a/src/lang/uk-UA/markdown/battle-net-parser.md b/src/lang/uk-UA/markdown/battle-net-parser.md
new file mode 100644
index 0000000000..c3ffb10b67
--- /dev/null
+++ b/src/lang/uk-UA/markdown/battle-net-parser.md
@@ -0,0 +1,5 @@
+# Battle.net Parser
+
+This parser imports games from the `Battle.net` app, so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Blizzard has altered the structure of their database files, in which case please let the developers of SRM know and we will resolve the issue.
+
+The `Battle.net` parser is somewhat special in that it uses a shell script at `${srmDir}/scripts/bnet.ps1` in order to launch `Battle.net`, wait an appropriate amount of time, and only then launch the actual title.
diff --git a/src/lang/uk-UA/markdown/community-presets.md b/src/lang/uk-UA/markdown/community-presets.md
index fb3925c412..df2e7002ec 100644
--- a/src/lang/uk-UA/markdown/community-presets.md
+++ b/src/lang/uk-UA/markdown/community-presets.md
@@ -1,10 +1,10 @@
-# Community Presets
-These are parser configurations that have been created by the SRM community and just need to be altered slightly with a few system specific parameters in order to work (usually just `ROMs Directory` and `Executable` need to be specified).
+# Попередні налаштування спільноти
+Це конфігурації синтаксичного аналізатора, які були створені спільнотою SRM, і їх потрібно лише трохи змінити за допомогою кількох системних параметрів, щоб вони працювали (зазвичай лише `каталог ПЗУ` та `виконуваний файл` необхідно уточнити).
## Generic Parser
-The Generic Parser (search `Generic` in presets) works for a wide variety of emulators that don't need specific commandline arguments in order to work, for example:
+Generic Parser (пошук `Generic` у стилях) працює для широкого спектра емуляторів, для роботи яких не потрібні спеціальні аргументи командного рядка, наприклад:
* Yuzu
* Citra
-* Xenia (add `--fullscreen` in `Command Line Arguments` if desired)
+* Ксенія (за бажанням додайте `--fullscreen` в `Аргументи командного рядка`)
-If you have an emulator that isn't in the list of community presets, it is probably worth a shot to try the generic parser. If it works let us know and we will add a preset for it!
+Якщо у вас є емулятор, якого немає в списку попередніх налаштувань спільноти, можливо, варто спробувати загальний аналізатор. Якщо це працює, дайте нам знати, і ми додамо для нього попередні налаштування!
diff --git a/src/lang/uk-UA/markdown/config-title.md b/src/lang/uk-UA/markdown/config-title.md
index 9fea79c1ff..dbff798721 100644
--- a/src/lang/uk-UA/markdown/config-title.md
+++ b/src/lang/uk-UA/markdown/config-title.md
@@ -1,3 +1,5 @@
-# Заголовок конфігурації
+# Заголовок аналізатора
-Заголовок для збереження конфігурації користувача. Не має бути унікальним, але обов’язковим.
\ No newline at end of file
+Назва аналізатора. Не обов'язково має бути унікальним, але обов'язково.
+
+Це поле не впливає на те, що буде додано до `Steam`.
diff --git a/src/lang/uk-UA/markdown/controller-templates.md b/src/lang/uk-UA/markdown/controller-templates.md
index 37c943f370..895f4e1935 100644
--- a/src/lang/uk-UA/markdown/controller-templates.md
+++ b/src/lang/uk-UA/markdown/controller-templates.md
@@ -1,26 +1,26 @@
-# Controller Templates
-Controller templates allow you to configure the button layout per controller and per parser.
+# Шаблони контролерів
+Шаблони контролерів дозволяють налаштувати розташування кнопок для кожного контролера і парсеру.
-You may want to disable `Cloud Synchronization` in Steam to avoid having your SRM assigned controller configs get overwritten. You may find the setting under `Steam > Settings > Cloud`.
+Можливо, ви захочете вимкнути `Хмарну синхронізацію` у Steam, щоб уникнути перезапису конфігурацій контролерів, призначених для SRM. Ви можете знайти цей параметр у розділі `Steam > Налаштування > Хмара`.
-To make a custom template:
-* Open Steam.
-* Connect the controller you want to configure a template for.
-* Right click on any game and hit `Manage > Controller Layout`.
-* Configure the buttons as you see fit.
-* Hit `Export Config` then `Save new template binding`.
-* Name the template in the form: `Template Title (SRM)`. You must end the name with `(SRM)` or SRM will not pick up the template.
-* Repeat for as many different types of controller as you want to configure.
+Щоб створити власний шаблон:
+* Відкрити Steam.
+* Під'єднайте контролер, для якого ви хочете налаштувати шаблон.
+* Клацніть правою кнопкою миші на будь-якій грі та виберіть `Керування > Розташування контролера`.
+* Налаштуйте кнопки на свій розсуд.
+* Натисніть `Експортувати конфігурацію`, потім `Зберегти нову прив'язку шаблону`.
+* Вкажіть назву шаблону у формі: `Назва шаблону (SRM)`. Ви повинні закінчити назву словами `(SRM)` або SRM не підхопить шаблон.
+* Повторіть цю процедуру для всіх типів контролерів, які ви хочете налаштувати.
-In the SRM parser:
-* Hit `Re-Fetch Controller Templates` to pull templates for all controller types from steam. This will clear your currently selected template if it is not one of the templates available in Steam.
+В аналізаторі SRM:
+* Натисніть `Повторно вибрати шаблони контролерів`, щоби витягнути шаблони для всіх типів контролерів зі Steam. This will clear your currently selected template if it is not one of the templates available in Steam.
Currently, SRM pulls all of the default (Valve made) templates for each controller as well as all of the user defined templates that end in `(SRM)`.
-* Select your templates and save the parser. The controller configsets will be applied once you hit `Save App List` in the preview.
+* Select your templates and save the parser. The controller configsets will be applied once you hit `Save to Steam` in the Add Games.
* To unset controller configs, you may either `Remove All Added App Entries` from global settings (this deletes all SRM made changes to your steam data) or hit `Unset All Controllers` in the parser (this only removes controller settings for the steam directory and user specified in that parser).
-Once this is done you can generate and save the preview as usual, and the template will be applied to all the titles in the parser.
+Once this is done you can parse and add games to steam as usual, and the templates will be applied to all the titles in the parser.
diff --git a/src/lang/uk-UA/markdown/default-image.md b/src/lang/uk-UA/markdown/default-image.md
index 47e3f9261e..4ae38ef6d3 100644
--- a/src/lang/uk-UA/markdown/default-image.md
+++ b/src/lang/uk-UA/markdown/default-image.md
@@ -1,13 +1,13 @@
-# Default image (optional) `[supports variables]`{.noWrap}
+# Default image `[supports variables]`{.noWrap}
Allows one to use an image, stored locally, as a default/fallback image. A [special glob input](#special-glob-input) string is used to retrieve images. Only the first retrieved image is used.
-This image will be shown **only** if there are no other images available. If Steam image is available, you will be able to choose from Steam and this image.
+This image will be shown **only** if there are no other images available. Якщо зображення Steam доступне, ви зможете вибрати між Steam і цим зображенням.
-## Allowed image extensions
+## Дозволені розширення зображень
-Only `JPEG`{.noWrap}, `JPG`{.noWrap}, `PNG`{.noWrap} and `TGA`{.noWrap} file extensions are supported. Even if parser finds files with other extensions, they are not included into the final list.
+Підтримуються тільки файли розширень `JPEG`{.noWrap}, `JPG`{.noWrap}, `PNG`{.noWrap} та `TGA`{.noWrap}. Навіть якщо синтаксичний аналізатор знаходить файли з іншими розширеннями, вони не потрапляють до остаточного списку.
-## Can you move the directory of default image after saving app list?
+## Чи можна перемістити каталог типових зображень після збереження списку застосунків?
-Yes, once the list is saved, default image is copied to a Steam directory where they are renamed to match Steam's APP ID.
+Так, після збереження списку типових зображень копіюються до каталогу Steam, де вони перейменовуються відповідно до APP ID у Steam.
diff --git a/src/lang/uk-UA/markdown/ea-desktop-parser-input.md b/src/lang/uk-UA/markdown/ea-desktop-parser-input.md
index 7990efb5b5..355ba68c8e 100644
--- a/src/lang/uk-UA/markdown/ea-desktop-parser-input.md
+++ b/src/lang/uk-UA/markdown/ea-desktop-parser-input.md
@@ -1,4 +1,4 @@
-# EA Desktop Parser specific inputs
+# EA Desktop Parser Specific Inputs
## EA Games Directory Override
By default Steam ROM Manager assumes your `EA Desktop` games are installed at ``C:\Program Files\EA Games\`. This field allows you to change that to wherever your games are installed, e.g.``D:\Games\EA Games`.
diff --git a/src/lang/uk-UA/markdown/epic-parser-input.md b/src/lang/uk-UA/markdown/epic-parser-input.md
index 88b5bd915c..4c4559df3d 100644
--- a/src/lang/uk-UA/markdown/epic-parser-input.md
+++ b/src/lang/uk-UA/markdown/epic-parser-input.md
@@ -1,11 +1,11 @@
-# Epic Games Store specific inputs
+# Специфічні вхідні дані Epic Games Store
-## Manifests Directory Override
+## Маніфести перевизначення каталогів
-Most users shouldn't use this, as they use the standard `Epic Games Store` installation where the game manifests will be located in, for example on Windows, `C:\ProgramData\Epic\EpicGamesLauncher\Data\Manifests`.
+Більшість користувачів не повинні використовувати цей параметр, оскільки вони використовують стандартне встановлення `Epic Games Store`, де будуть розміщені маніфести гри, наприклад, у Windows, `C:\ProgramData\Epic\EpicGamesLauncher\Data\Manifests`.
-If, however, for some reason your manifests directory is located in a non-typical location then you can specify the correct manifests directory here.
+Якщо з якихось причин ваш каталог маніфестів розташовано у нетиповому місці, ви можете вказати правильний каталог маніфестів тут.
-## Launch Via Epic Games Store `[Recommend enabled]`
+## Запуск через Epic Games Store `[Ввімкнено по рекомендації]`
-This toggle lets you set whether games will launch via the Epic Games Store or directly. If you don't launch via the `Epic Games Store` you will not have access to Epic's online services in game.
+Цей перемикач дозволяє встановити, чи запускатимуться ігри через Epic Games Store, чи напряму. Якщо ви не запускаєте через `Epic Games Store` ви не матимете доступу до мережевих сервісів Epic у грі.
diff --git a/src/lang/uk-UA/markdown/epic-parser.md b/src/lang/uk-UA/markdown/epic-parser.md
index 9ac48fb419..2dfa517df1 100644
--- a/src/lang/uk-UA/markdown/epic-parser.md
+++ b/src/lang/uk-UA/markdown/epic-parser.md
@@ -1,12 +1,12 @@
-# Epic Games Parser
+# Аналізатор Epic Games
-This parser imports games from the [Epic Games Store](https://store.epicgames.com/en-US/) so that artwork can be chosen for them and they can be added into Steam.
+Цей аналізатор імпортує ігри з теки [Epic Games Store](https://store.epicgames.com/en-US/), щоби для них можна було вибрати ілюстрації та додати їх у Steam.
-If it doesn't work it is because Epic has altered the structure of their game manifests, in this case please let the developers of SRM know and we will resolve the issue.
+Якщо це не працює, це означає, що Epic змінили структуру своїх ігрових маніфестів, у цьому випадку, повідомте про це розробників SRM, і ми розв'яжемо цю проблему.
-In order for this parser to work with the open source Epic alternative [Legendary](https://github.com/derrod/legendary), [EGL sync must be enabled in Legendary](https://github.com/derrod/legendary/discussions/276#discussioncomment-709748) (this creates the appropriate files for the parser to read, and does not require the `Epic Games Store` to be installed).
+Для того, щоб цей аналізатор працював з альтернативою Epic з відкритим вихідним кодом, [Legendary](https://github.com/derrod/legendary), [Синхронізація EGL має бути ввімкнена в Legendary](https://github.com/derrod/legendary/discussions/276#discussioncomment-709748) (це створює відповідні файли для читання синтаксичним аналізатором, і не вимагає встановлений `Epic Games Store`).
-That said, there is also a `Legendary` parser in SRM which works right out of the box.
+Проте, існує також `Legendary` аналізатор в SRM, який працює прямо з коробки.
-## Compatibility
-This parser is currently functional on `Windows` and `Mac OS` systems only. On `Mac OS` it is not possible to launch from the Epic Store, so that toggle should remain disabled.
+## Сумісність
+Наразі цей аналізатор працює на лише на `Windows` та `Mac OS`. На `Mac OS` неможливо запустити з Epic Store, тому цей перемикач слід залишити вимкненим.
diff --git a/src/lang/uk-UA/markdown/executable-arguments.md b/src/lang/uk-UA/markdown/executable-arguments.md
index 8b5121722a..b9f0a703b6 100644
--- a/src/lang/uk-UA/markdown/executable-arguments.md
+++ b/src/lang/uk-UA/markdown/executable-arguments.md
@@ -1,8 +1,8 @@
-# Command line arguments (optional) `[supports variables]`{.noWrap}
+# Аргументи командного рядка `[підтримує змінні]`{.noWrap}
-Arguments which are appended to executable to produce final shortcut. Most of the time you will want to set it using provided parser variables.
+Аргументи, які додаються до виконуваного файлу для створення кінцевого ярлика. Здебільшого ви захочете задати його за допомогою наданих змінних синтаксичного аналізатора.
-## Examples By System
+## Приклади по системі
### RetroArch
@@ -49,7 +49,7 @@ Arguments which are appended to executable to produce final shortcut. Most of th
### Nestopia (NES/Famicom)
```
-"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
+"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
```
### higan (NES/Famicom, SNES/Famicom, Gameboy, Gameboy Color, Gameboy Advance)
@@ -100,7 +100,7 @@ Arguments which are appended to executable to produce final shortcut. Most of th
-IMAGE "${filePath}" -RUN1 -FULL
```
-### Mednafen (Sony Playstation 1, NES/Famicom, SNES/Super Famicom, etc.)
+### Mednafen (Sony Playstation 1, NES/Famicom, SNES/Super Famicom тощо.)
```
"${filePath}"
@@ -112,9 +112,9 @@ Arguments which are appended to executable to produce final shortcut. Most of th
"${filePath}"
```
-## What does "Append arguments to executable" do?
+## Що робить «Додати аргументи до виконуваного файлу»?
-Instead of adding arguments to Steam's launch options:
+Замість того, щоб додавати аргументи до параметрів запуску Steam:
 {.fitImage.center}
@@ -126,13 +126,13 @@ This setting is used to influence Steam's APP ID.
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -187,6 +187,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -196,7 +197,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/uk-UA/markdown/executable-location.md b/src/lang/uk-UA/markdown/executable-location.md
index b13f57494f..36fbbc9a46 100644
--- a/src/lang/uk-UA/markdown/executable-location.md
+++ b/src/lang/uk-UA/markdown/executable-location.md
@@ -1,4 +1,4 @@
-# Executable (optional) `[supports environment variables]`
+# Executable `[supports env variables]`
Path to emulator's executable. Can be a file or any valid system path.
@@ -6,6 +6,8 @@ Path to emulator's executable. Can be a file or any valid system path.
In some cases you might want to run game from a some kind batch file which will also automatically run the emulator itself. If that is the case, then providing executable is unnecessary.
+The final shortcut will just be `"${filePath}" --command-line-args`.
+
### So, how do I add files to Steam without default executable?
All files retrieved by a parser will be treated as executables instead.
diff --git a/src/lang/uk-UA/markdown/executable-modifier.md b/src/lang/uk-UA/markdown/executable-modifier.md
index c3c5739e86..2131f6964d 100644
--- a/src/lang/uk-UA/markdown/executable-modifier.md
+++ b/src/lang/uk-UA/markdown/executable-modifier.md
@@ -1,102 +1,23 @@
# Executable modifier `[supports variables]`{.noWrap}
-Default value is `"${exePath}"`{.noWrap}. This setting can be used to prepend or append desired characters to an executable which will be added to Steam (`Target` property). For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you can add `"cmd" /k start /min` to it by setting value to:
+Defaults to `"${exePath}"`{.noWrap} if unset. This field can be used to prepend or append desired characters to the executable which will be added to the Steam shortcut's `Target` property. For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you could start `Retroarch` minimized by setting the `Executable Modifier` "cmd" to:
+
```
"cmd" /k start /min "${exePath}"
```
-You can use any other variable to construct the final executable.
-
-This setting influences Steam's APP ID.
-
-
-## Shortcut Passthrough
-If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the target of that shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser.
-
-## Directory variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
-
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
-
-## Name variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------------------------------- |
-| `${exeName}` | Name of executable (without extension) |
-| `${fileName}` | Name of file which was returned by a parser (without extension) |
-
-In case executable directory input is left **empty**, `${exeName}`{.noWrap} is equal to `${fileName}`{.noWrap}.
-
-## Extension variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------------------- |
-| `${exeExt}` | Extension of executable (with a dot) |
-| `${fileExt}` | Extension of file which was returned by a parser (with a dot) |
-In case executable directory input is left **empty**, `${exeExt}`{.noWrap} is equal to `${fileExt}`{.noWrap}.
+In this case the `Target` property would begin with:
-## Path variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:-------------------------------------------------- |
-| `${exePath}` | Full path to an executable |
-| `${filePath}` | Full path to a file which was returned by a parser |
-
-In case executable directory input is left **empty**, `${exePath}`{.noWrap} is equal to `${filePath}`{.noWrap}.
-
-## Parser variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------ |
-| `${title}` | Extracted title |
-| `${fuzzyTitle}` | Fuzzy matched title |
-| `${finalTitle}` | Title which was the end result of title modifier |
-
-In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
+```
+"cmd" /k start /min "C:\RetroArch\retroarch.exe"
+```
-## Function variables
+followed by whatever launch arguments you choose in the `Command Line Arguments` field.
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+You can use any other variable to construct the final executable.
-### Function variable example
+This setting influences Steam's APP ID.
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
-```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
-```
-will be replaced with these:
-```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+## Shortcut Passthrough
---On linux:
-file.so
---On Windows:
-file.dll
---On Mac OS:
-file
-```
+If you enable `Follow .lnk/.desktop to destination` and the glob search finds a `.lnk` or `.desktop` file, ie a shortcut, then the `${filePath}` variable will contain the target of the shortcut rather than the path to the shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the `Command Line Arguments` field in the parser.
diff --git a/src/lang/uk-UA/markdown/glob-parser-input.md b/src/lang/uk-UA/markdown/glob-parser-input.md
index 996ae77ce1..2a43592892 100644
--- a/src/lang/uk-UA/markdown/glob-parser-input.md
+++ b/src/lang/uk-UA/markdown/glob-parser-input.md
@@ -1,4 +1,4 @@
-# Glob Parser specific inputs
+# Glob Parser Specific Inputs
## User's glob
diff --git a/src/lang/uk-UA/markdown/glob-regex-parser-input.md b/src/lang/uk-UA/markdown/glob-regex-parser-input.md
index 22c1f5cea6..6491148a25 100644
--- a/src/lang/uk-UA/markdown/glob-regex-parser-input.md
+++ b/src/lang/uk-UA/markdown/glob-regex-parser-input.md
@@ -1,4 +1,4 @@
-# Glob-regex Parser specific inputs
+# Glob-regex Parser Specific Inputs
## User's glob-regex
@@ -6,7 +6,7 @@ This is where you create your glob for extracting title from file path. Please r
## How does it work?
-In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
+In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
| User's glob | Position |
| --------------------- | --------------------------- |
diff --git a/src/lang/uk-UA/markdown/gog-parser-input.md b/src/lang/uk-UA/markdown/gog-parser-input.md
index 756fa3de77..bf185f2c23 100644
--- a/src/lang/uk-UA/markdown/gog-parser-input.md
+++ b/src/lang/uk-UA/markdown/gog-parser-input.md
@@ -1,10 +1,20 @@
-# Unique inputs for GOG Galaxy Parser
+# GOG Galaxy Parser Specific Inputs
## Galaxy Path Override
-By default Steam ROM Manager assumes your Galaxy Client is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe`. This field allows you to override that path if your GOG Galaxy installation is elsewhere.
-This field is actually only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of the Galaxy Client.
+By default Steam ROM Manager assumes your GOG Galaxy executable is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe` on Windows and `/Applications/GOG Galaxy.app/Contents/MacOS/GOG Galaxy` on Mac. This field allows you to override that path if your GOG Galaxy executable is elsewhere.
-## Launch Via GOG Galaxy `[Recommend disabled]`
+Specifying the correct location of GOG Galaxy's executable is only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of GOG Galaxy's executable.
-What it sounds like, this toggle let's you set whether games will launch via GOG Galaxy or directly. Note that for some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+## Launch via GOG Galaxy `[Recommend disabled]`
+
+What it sounds like, this toggle determines whether games launch via GOG Galaxy or directly. For some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+
+## Parse Linked Executables from GOG Galaxy
+
+If enabled, SRM will pull in not only GOG games aquired from GOG Galaxy's store, but also those you have manually linked executables for in GOG Galaxy. This is desirable if those games are not being parsed into SRM elsewhere.
+
+A caveat is that because GOG Galaxy does not store the names linked executables in its database, SRM will use the directory name of the executable on Windows (e.g. `C:\\path\\to\\Hoa\\LaunchHoa.exe` would be assigned the title `Hoa`) and the executable name on Mac (e.g. `/Applications/Symphonia.app` would be assigned the title `Symphonia`).
+
+## Parse using Registry instead of Galaxy DB `[Windows only] [Recommend disabled]`
+This option will parse the Windows Registry for installed GOG games instead of GOG Galaxy's SQL database, allowing the parser to work even if GOG Galaxy is not installed. If this is enabled, `Parse Linked Executables` will of have no effect, but `Launch via GOG Galaxy` will work as normal.
\ No newline at end of file
diff --git a/src/lang/uk-UA/markdown/image-pool.md b/src/lang/uk-UA/markdown/image-pool.md
index 8b54cf72d9..0b4e4a94fb 100644
--- a/src/lang/uk-UA/markdown/image-pool.md
+++ b/src/lang/uk-UA/markdown/image-pool.md
@@ -1,3 +1,5 @@
-# Image pool `[supports variables]`{.noWrap}
+# Artwork pool `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting is used to allow different apps share the same images -- same "image pool", or allow unique image pool per app. To use unique image pool per app just set it to something unique. For example `${fuzzyTitle} SNES`{.noWrap}.
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset.
+
+This field is used to allow games from different parsers to share the same images (i.e. the same "image pool") if they have the same title. If you want different parsers not to share images for games with the same title, just set this field to something unique, for example `${fuzzyTitle} SNES`{.noWrap} or `${fuzzyTitle} ${parserTitle}`{.noWrap}.
diff --git a/src/lang/uk-UA/markdown/image-providers.md b/src/lang/uk-UA/markdown/image-providers.md
index 0b778780c6..f70a9275f6 100644
--- a/src/lang/uk-UA/markdown/image-providers.md
+++ b/src/lang/uk-UA/markdown/image-providers.md
@@ -1,7 +1,7 @@
-# Image providers
+# Artwork providers
-Here you can select image providers that are used to retrieve images. This option is for this configuration only.
+Here you can select artwork providers (online sources of game art) that are used by SRM to get art for your games.
## Similar option in "Settings" menu
-Settings menu has "Enabled providers" which enable image providers globally -- if it's not enabled in Settings, it won't work.
+Settings menu has "Enabled providers" which enable artwork providers globally -- if it's not enabled in Settings, it won't work.
diff --git a/src/lang/uk-UA/markdown/intro.md b/src/lang/uk-UA/markdown/intro.md
index f8d5fcabda..a6d65c0059 100644
--- a/src/lang/uk-UA/markdown/intro.md
+++ b/src/lang/uk-UA/markdown/intro.md
@@ -8,8 +8,8 @@ Also, don't forget to check FAQ. If you still got questions about setting up con
After saving parser configuration, **1** of **3** colors will be shown next to its title:
- -- Enabled configuration. This configuration will be used when generating a list in **preview** page.
+ -- Enabled configuration. This configuration will be used when generating a list in **Add Games** page.
- -- Unsaved changes. This configuration will not be used when generating a list in **preview** page, however earlier **saved** version will be used instead.
+ -- Unsaved changes. This configuration will not be used when generating a list in **Add Games** page, however earlier **saved** version will be used instead.
- -- Disabled configuration. This configuration will not be used when generating a list in **preview** page.
\ No newline at end of file
+ -- Disabled configuration. This configuration will not be used when generating a list in **Add Games** page.
\ No newline at end of file
diff --git a/src/lang/uk-UA/markdown/itch-io-parser-input.md b/src/lang/uk-UA/markdown/itch-io-parser-input.md
index 4b0057c170..ffa409af96 100644
--- a/src/lang/uk-UA/markdown/itch-io-parser-input.md
+++ b/src/lang/uk-UA/markdown/itch-io-parser-input.md
@@ -1,4 +1,4 @@
-# itch.io Parser specific inputs
+# itch.io Parser Specific Inputs
## itch.io AppData Path Override
By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere.
diff --git a/src/lang/uk-UA/markdown/itch-io-parser.md b/src/lang/uk-UA/markdown/itch-io-parser.md
index 7f29ffc42d..accb8b5ad2 100644
--- a/src/lang/uk-UA/markdown/itch-io-parser.md
+++ b/src/lang/uk-UA/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
# itch.io Parser
-This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/uk-UA/markdown/legendary-parser-input.md b/src/lang/uk-UA/markdown/legendary-parser-input.md
index 80ca0bcbbc..4a826e43da 100644
--- a/src/lang/uk-UA/markdown/legendary-parser-input.md
+++ b/src/lang/uk-UA/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
-# Legendary Parser specific inputs
+# Legendary Parser Specific Inputs
+
+## Legendary Path Override
+
+By default Steam ROM Manager uses `(Get-Command legendary).Path` on Windows and `which legendary` on Linux and Mac to determine the location of your Legendary executable. This field allows you to override that path.
+
+Specifying the correct location of the Legendary executable is only necessary if you enable launch via Legendary (see below), as otherwise SRM has no need of the location of Legendary's executable.
## Legendary `installed.json` Path Override
Most users shouldn't use this, as they use the standard `Legendary` installation where installed games manifest will be located at `~/.config/legendary/installed.json`.
If, however, for some reason your installed games manifest is located in a non-typical location then you can specify the correct manifest path here.
+
+## Launch via Legendary `[Recommend enabled]`
+
+What it sounds like, this toggle determines whether games launch via Legendary or directly. Launching via Legendary provides access to Epic's online services.
diff --git a/src/lang/uk-UA/markdown/local-images.md b/src/lang/uk-UA/markdown/local-images.md
index cff60e5674..5da2e5ae4c 100644
--- a/src/lang/uk-UA/markdown/local-images.md
+++ b/src/lang/uk-UA/markdown/local-images.md
@@ -1,4 +1,4 @@
-# Local images (optional) `[supports variables]`{.noWrap}
+# Local images `[supports variables]`{.noWrap}
Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
diff --git a/src/lang/uk-UA/markdown/manual-parser-input.md b/src/lang/uk-UA/markdown/manual-parser-input.md
index bc1848d45a..65265ebd32 100644
--- a/src/lang/uk-UA/markdown/manual-parser-input.md
+++ b/src/lang/uk-UA/markdown/manual-parser-input.md
@@ -1,4 +1,4 @@
-# Manual Parser specific inputs
+# Manual Parser Specific Inputs
## Manifests Directory `[Supports Environment Variables]`{.noWrap}
@@ -17,7 +17,8 @@ The names of the files do not matter. What does matter is that each `manifest.js
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args",
+ "appendArgsToExecutable": false
}
```
Or a list of titles, like so:
@@ -27,15 +28,19 @@ Or a list of titles, like so:
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args".
+ "appendArgsToExecutable": true
},
{
"title": "gameTitle2",
"target": "game2/path/target.sh",
"startIn": "game2/path",
- "launchOptions": "--args2"
+ "launchOptions": "--args2",
+ "appendArgsToExecutable": false
}
]
```
A typical use case would be to use a single json file per game type, or per year, etc.
+
+Just like for ROM parsers, `appendArgsToExecutable` determines whether `launchOptions` are appended to the shortcut `target` or appear separately as launch options in steam.
diff --git a/src/lang/uk-UA/markdown/non-srm-shortcuts-parser.md b/src/lang/uk-UA/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..4485008a1a
--- /dev/null
+++ b/src/lang/uk-UA/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,29 @@
+# Non-SRM Shortcut Parser
+
+This parser imports non SRM steam shortcuts into SRM so their artowrk can be managed. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
+
+## User accounts
+
+Used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
+
+```
+${...}
+```
+
+You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
+
+ {.fitImage .center}
+
+For example, this is how you specify account for "Banana" and "Apple":
+
+```
+${Banana}${Apple}
+```
+
+You can also limit accounts by specifying their ids directly. For example:
+
+```
+${56489124}${21987424}
+```
+
+Would limit the search to `steam/userdata/56489124` and `steam/userdata/21987424`.
diff --git a/src/lang/uk-UA/markdown/parser-env-variables.md b/src/lang/uk-UA/markdown/parser-env-variables.md
index 3b186a70f7..e95baf9137 100644
--- a/src/lang/uk-UA/markdown/parser-env-variables.md
+++ b/src/lang/uk-UA/markdown/parser-env-variables.md
@@ -13,3 +13,5 @@ These variables are pre parsed and can be used even in the Rom Directory, Steam
The utility of the environment variable `${srmdir}` is to make SRM fully portable, eg if you wanted to have the directory layout `D:\Games\Roms` and `D:\Games\PortableSRM\SRM.exe` then setting the field Roms Directory to be `${srmdir}${/}..${/}Roms` would allow you to move the Games directory somewhere else without breaking your setup.
+
+Function variables can also be used in fields that permit environment variables (e.g. `${os:win|C:\path\to\startdir|${os:linux|/path/to/startdir}}`)
diff --git a/src/lang/uk-UA/markdown/parser-variables.md b/src/lang/uk-UA/markdown/parser-variables.md
index 7e9eb636ff..7c164a55bc 100644
--- a/src/lang/uk-UA/markdown/parser-variables.md
+++ b/src/lang/uk-UA/markdown/parser-variables.md
@@ -4,13 +4,13 @@ Here are tables of variables that can be used with options that have `[supports
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -48,6 +48,7 @@ In case executable directory input is left **empty**, `${exePath}`{.noWrap} is e
| `${title}` | Extracted title |
| `${fuzzyTitle}` | Fuzzy matched title |
| `${finalTitle}` | Title which was the end result of title modifier |
+| `${parserTitle}` | The value of the `Parser Title` field |
In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
@@ -65,6 +66,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -74,7 +76,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/uk-UA/markdown/parsers-list.md b/src/lang/uk-UA/markdown/parsers-list.md
index 1e5e43f80f..6ab3846611 100644
--- a/src/lang/uk-UA/markdown/parsers-list.md
+++ b/src/lang/uk-UA/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# Parsers
-In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**
diff --git a/src/lang/uk-UA/markdown/rom-directory.md b/src/lang/uk-UA/markdown/rom-directory.md
index 555452224f..5b15d2e2b7 100644
--- a/src/lang/uk-UA/markdown/rom-directory.md
+++ b/src/lang/uk-UA/markdown/rom-directory.md
@@ -1,3 +1,3 @@
-# ROMs directory `[supports environment variables]`
+# ROMs directory `[supports env variables]`
Starting directory for game or app files.
diff --git a/src/lang/uk-UA/markdown/settings.md b/src/lang/uk-UA/markdown/settings.md
index c35d49e806..dd35c64609 100644
--- a/src/lang/uk-UA/markdown/settings.md
+++ b/src/lang/uk-UA/markdown/settings.md
@@ -1,31 +1,51 @@
## General Settings
+### Check for updates on start `[Recommend enabled]`
+Check if an update for SRM is available and prompt to update each time SRM launches.
+### Auto kill Steam `[Recommend enabled]`
+SRM will attempt to kill all running instances of Steam whenever it needs to read/write collections information (specifically when saving to steam from `Add Games` and when removing all games from `Settings`).
+### Auto restart Steam `[Recommend enabled]`
+SRM will attempt to restart Steam after killing it and completing whatever collections related task required killing Steam in the first place. Requires `Auto kill Steam` to be enabled.
### Offline mode `[Recommend disabled]`
-
When enabled SRM makes no network requests, useful if you only want to use SRM for local images.
### Automatically clear log before testing parsers `[Recommend enabled]`
When enabled the log is cleared each time a parser is tested.
+## Add Games
### Show current steam images by default `[Recommend enabled]`
When enabled this setting tells SRM to default to whatever artwork is currently in steam for a given app. If it is disabled, then every time SRM is run (and saved) all artwork will be reset.
### Remove shortcuts for disabled parsers `[Recommend disabled]`
When enabled disabling a parser and running SRM will remove all added entries and artwork for the disabled parser. Useful if you want your steam library to be in 1-1 correspondence with enabled parsers.
-
+### Disable saving of steam categories `[Recommend disabled]`
+SRM will not write any collections information when saving to Steam. This allows SRM to perform its tasks while Steam is still running, at the obvious cost that added games will not be categorized.
+### Hide Steam username from Add Games
+Steam does not allow user's to alter their Steam usernames. In some cases (childish names, dead names, etc), users may no longer wish to see their Steam usernames. This setting hides it from `Add Games`.
+### Remove all added games and controllers
+Undo all SRM added changes from Steam.
+### Remove all controllers only
+Undo all SRM added controller settings from Steam.
## Fuzzy Matcher Settings
### Log matching results `[Recommend disabled]`
When enabled more verbose logs appear for the fuzzy title matcher in the `Event log`. Useful for debugging incorrect fuzzy matches.
-
### Reset fuzzy list
Resets the stored list of titles used for fuzzy matching to the list of titles returned by `SteamGridDB` (removes any user added titles).
### Reset fuzzy cache
Clears the cache of titles that fuzzy matching has already seen (try this if changes you make to fuzzy list are not resulting in changes to titles in SRM).
-
## Image provider settings
-### Preload retrieved images `[Recommend disabled]`
-When enabled, SRM will pull all available artwork for every game, rather than pulling one piece of artwork at a time as the user flips through the images. Don't enable this unless you have a good reason and a very small library of games, otherwise it could result in very large (slow) network requests.
+### Artwork loading strategy `[Recommend Load artwork lazily]`
+This is the strategy SRM uses to pull artwork thumbnails for the `Add Games` UI. If you are parsing a lot of games, `Load artwork lazily` is recommended. `Preload first artwork` will try to pull the first piece of artwork for each game in each artwork category, and `Preload all artwork` will try to pull all available artwork for each game in each artwork category. `Preload all artwork` will cause network and performance issues unless the number of games is quite small (less than `30` or so).
### Enabled providers
-Global setting to disable certain providers. Currently the only image provider is `SteamGridDB` since ConsoleGrid and RetroGaming.cloud are defunct.
-
+Global setting to enable/disable particular image providers. Current options are `SteamGridDB` and `Steam Official`.
+### DNS manual override
+Set this if you want SRM to do DNS resolution internally, as opposed to relying on your system's default DNS server. This solves many timeout issues on the Steam Deck.
+### Batch size for image downloads
+Number of images SRM will attempt to download at once when saving to Steam. May help to lower this if you are receiving timeout errors from SGDB.
+### Nuke artwork choice cache
+SRM attempts to remember your artwork choices, this button forcibly forgets all of them.
+### Nuke local artwork backups
+This deletes all artwork backups created for parsers with `Backup artwork locally` enabled.
## Community Variables and Presets
### Force download custom variables.
Resets the custom variables JSON file that is used for certain presets to whatever its current state is on the SRM github. Useful if the custom variables JSON file has been corrupted.
### Force download custom presets.
Resets the JSON files for parser presets to whatever is on the SRM github. Useful if your presets list is not automatically updating for some reason, or has become corrupted.
+### Force download shell scripts
+Re fetches the shell scripts SRM uses to perform certain tasks.
diff --git a/src/lang/uk-UA/markdown/sgdb-api-input.md b/src/lang/uk-UA/markdown/sgdb-api-input.md
index 553f4fda77..7651927a64 100644
--- a/src/lang/uk-UA/markdown/sgdb-api-input.md
+++ b/src/lang/uk-UA/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
This set of options are direct inputs into the APIs of image providers, for example SteamGridDB's [API](https://www.steamgriddb.com/api/v2).
-An interesting quirk of these settings is that re-generating the preview (hitting the `Generate App List` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove App List` button in preview before hitting `Generate App List`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the preview with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
+An interesting quirk of these settings is that re-generating the game list in Add Games (hitting the `Refresh` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove from Steam` button in Add Games before hitting `Refresh`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the game list with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
## SteamGridDB
diff --git a/src/lang/uk-UA/markdown/start-in-directory.md b/src/lang/uk-UA/markdown/start-in-directory.md
index 86cf962c23..df84a987d5 100644
--- a/src/lang/uk-UA/markdown/start-in-directory.md
+++ b/src/lang/uk-UA/markdown/start-in-directory.md
@@ -1,6 +1,6 @@
-# "Start In" directory (optional) `[supports environment variables]`{.noWrap}
+# "Start In" directory `[supports env variables]`
-By default "Start In" directory is set to executable's directory:
+If `"Start In" Directory` is unset it defaults to the executable's directory. If not executable is set, it defaults to the directory of the ${filePath} variable:
 {.fitImage.center}
@@ -11,4 +11,5 @@ This option allows you to specify any directory you want as a "Start In" directo
It is useful when you're using batch files to start emulator and a game, but emulator requires a specific "Start In" directory to work properly.
## Shortcut Passthrough
+
If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the directory of the target of that shortcut. In the future, it will be overridden with the start in directory of that shortcut.
diff --git a/src/lang/uk-UA/markdown/steam-category.md b/src/lang/uk-UA/markdown/steam-category.md
index 079073dab9..677ea3d0ef 100644
--- a/src/lang/uk-UA/markdown/steam-category.md
+++ b/src/lang/uk-UA/markdown/steam-category.md
@@ -1,21 +1,13 @@
-# Steam category (optional) `[supports variables]`{.noWrap}
+# Steam category`{.noWrap}
+
+Hit the little plus sign to add your first category.
-Also known as "tags", can be used to group apps in Steam. In order to set Steam category, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify categories for "WII" and "GBA" (paired with "ROMS") category:
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
This how "WII" category will look like in Steam:

## Emojis and non-Standard Unicode Characters
+
Please not that this field works just fine with emojis like `🎮` work just fine in category names.
You can find a list of them here: [https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/uk-UA/markdown/steam-directory.md b/src/lang/uk-UA/markdown/steam-directory.md
index b15010e819..bb82bc6a97 100644
--- a/src/lang/uk-UA/markdown/steam-directory.md
+++ b/src/lang/uk-UA/markdown/steam-directory.md
@@ -1,4 +1,4 @@
-# Steam directory `[supports environment variables]`{.noWrap}
+# Steam directory `[supports env variables]`
Must be a valid Steam directory which contains Steam executable. In order for Steam account to be detected, user must have logged in at least once.
diff --git a/src/lang/uk-UA/markdown/steam-parser-input.md b/src/lang/uk-UA/markdown/steam-parser-input.md
index 75f21d380d..1174b71b64 100644
--- a/src/lang/uk-UA/markdown/steam-parser-input.md
+++ b/src/lang/uk-UA/markdown/steam-parser-input.md
@@ -1,4 +1,4 @@
-# Steam Parser specific inputs
+# Steam Parser Specific Inputs
## Find artwork for games only
If enabled SRM will filter out any Steam applications that are not full games, such as demos and tools like `3DMark` or `Wallpaper Engine`.
diff --git a/src/lang/uk-UA/markdown/steam-parser.md b/src/lang/uk-UA/markdown/steam-parser.md
index b158f676a8..5b93d8bc77 100644
--- a/src/lang/uk-UA/markdown/steam-parser.md
+++ b/src/lang/uk-UA/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Steam parser
-This parser imports steam games into SRM. It does not add shortcuts, but it allows you to set the artwork for your steam games. By default the parser will get games from all user accounts in the steam directory specified — if you would prefer to only get the games for a subset of the accounts then specify them in the `User accounts` field.
-
-## Limitations
-Unfortunately for the time being this parser only works for steam games **that are in at least one category**. The reason for this is that Steam only stores your full list of games locally if they are categorized. Sometimes, for unknown reasons, games will be stored locally regardless and the parser will work, but to be safe the easiest thing to do is just **create a Steam Category** that has all of your Steam games in it.
-
-## User accounts (Optional)
-
-Can be used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
-```
-${...}
-```
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
-
- {.fitImage.center}
-
-For example, this is how you specify account for "Banana" and "Apple":
-
-```
-${Banana}${Apple}
-```
-
-In case the [use account credentials](#what-does-use-account-credentials-do) is disabled, you can still limit accounts by specifying their ids directly:
-
-```
-${56489124}${21987424}
-```
-
-## What does "Skip found accounts with missing data directories" do?
-
-Sometimes Steam's file that contains logins, may contain users that do not have data directory created (might have been manually deleted, etc.). You can specify to skip those accounts by enabling this option.
-
-## What does "Use account credentials" do?
-
-Tries to look for account credentials in Steam directory. In other words -- username. Username then can be used to filter accounts without actually having to know their ids.
-
-### Warning!
-
-If Steam has credential saving disabled, this option will prevent finding user accounts.
+This parser imports steam games into SRM so you can manage their artwork. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
\ No newline at end of file
diff --git a/src/lang/uk-UA/markdown/title-from-variable.md b/src/lang/uk-UA/markdown/title-from-variable.md
index bb6e4a52a2..6aa467e98c 100644
--- a/src/lang/uk-UA/markdown/title-from-variable.md
+++ b/src/lang/uk-UA/markdown/title-from-variable.md
@@ -1,43 +1,40 @@
-# Title from custom variable (optional)
+# Title from custom variable
-Allows to overwrite extracted title with a custom variable. This is done right after title extraction, meaning that the replaced title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+Allows one to overwrite the extracted title with a custom variable, pulled from the `json` files described below. This happens right after title extraction, meaning that the new title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+
+Title matching is limited to specific groups of custom variables. For example, this is how you specify groups "FBN" and "PSN":
-Title matching can be limited to specific groups of custom variables. In order to specify groups, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify groups for "RPCS3" and "rpcs3":
```
-${RPCS3}${rpcs3}
+${RPCS3}${PSN}
```
-Make sure you **toggle enable to on**.
-
-
-## Case-insensitive option
-
-If this option is enabled, case-insensitive matching will be done and first matched custom variable will be used.
-
-## Note. This feature is **experimental**
+# How it works
-Basically, it might change in the future release (very unlikelly). Furthermore, currently the only way to add variables is to create/edit `customVariables.json` used by SRM directly.
+There are two variable files, `customVariables.json` which is maintained by SRM (don't change this one, your changes will be overwritten every time SRM restarts) and `userVariables.json` which is where you should put your own variables. Both files are located in SRM's `Config Directory`.
-This file is/shoud be located in SRM's `userData` directory.
-
-SRM will throw error unless the following JSON structure is used:
+Both `customVariables.json` and `userVariables.json` have the same JSON structure. SRM will throw an error unless the following JSON structure is used:
```
{
- "RPCS3": {
+ "Group1": {
"NPUB30698": "Catherine",
"NPUB30024": "1942: Joint Strike",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
+ "Group2": {
+ "The Legend Of Zelda": "The Legend Of Link",
+ ...
},
...
}
```
-Then if your user glob were `MyDir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `MyDir`, you would set the title from custom variable field to `${Custom Stuff}` to obtain a final title of "The Legend of Link".
+Then if your user glob were `romsdir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `romsdir`, you would set the title from custom variable field to `${Group2}` to obtain a title of "The Legend of Link".
+
+## Case-insensitive variables
+
+If enabled, case-insensitive matching will be done and first matched custom variable will be used.
+
+## Skip file if variable not found
+
+If enabled, titles that don't match a variable will be excluded.
diff --git a/src/lang/uk-UA/markdown/title-modifier.md b/src/lang/uk-UA/markdown/title-modifier.md
index 791e000e27..4ecb2d02db 100644
--- a/src/lang/uk-UA/markdown/title-modifier.md
+++ b/src/lang/uk-UA/markdown/title-modifier.md
@@ -1,9 +1,11 @@
# Title modifier `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting can be used to prepend or append desired characters to a title which will be added to Steam. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset. This setting can be used to prepend or append desired characters to a Steam shortcut's `Title`. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+
```
${fuzzyTitle} (1.7.5)
```
+
You can use `${title}`{.noWrap} or any other variable to construct the final title.
This setting influences Steam's APP ID.
diff --git a/src/lang/uk-UA/markdown/uplay-parser-input.md b/src/lang/uk-UA/markdown/uplay-parser-input.md
index f40bbcd928..3a54e84b1a 100644
--- a/src/lang/uk-UA/markdown/uplay-parser-input.md
+++ b/src/lang/uk-UA/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# Unique inputs for UPlay Parser
+# UPlay Parser Specific Inputs
+
## Ubisoft Directory Override
By default Steam ROM Manager assumes your UPlay install is located in `C:\Program Files (x86)\Ubisoft`. This field allows you to override that path if your UPlay installation is elsewhere.
## Launch Via UPlay `[Recommend disabled]`
-
What it sounds like, this toggle let's you set whether games will launch via UPlay or directly from the game's executable.
For UPlay this doesn't matter too much as UPlay games will automatically launch UPlay in the background even when launched from the executable. Steam Overlay will not work when `Launch via UPlay` is enabled, whereas both Steam and Ubisoft overlays work when `Launch via UPlay` is disabled.
diff --git a/src/lang/uk-UA/markdown/user-accounts.md b/src/lang/uk-UA/markdown/user-accounts.md
index 90a49b84f6..c0101b5f74 100644
--- a/src/lang/uk-UA/markdown/user-accounts.md
+++ b/src/lang/uk-UA/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# User accounts (Optional)
+# User accounts
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
-
-`${XXX}${YYY}`
-
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either:
-
-* An `Account ID` (the number that appears as the directory name of your account directory in `/path/to/steam/userdata/`). For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
+This field is used to limit SRM's effects to specific user accounts. It can be set to `Global` or over ridden per parser.
## Warning
-If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and **you must only use** `Account IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and `Choose Accounts` will only be able to pull your `Steam IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Settings` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
diff --git a/src/lang/uk-UA/markdown/user-exceptions.md b/src/lang/uk-UA/markdown/user-exceptions.md
index a53dd0d6d9..a6e47de497 100644
--- a/src/lang/uk-UA/markdown/user-exceptions.md
+++ b/src/lang/uk-UA/markdown/user-exceptions.md
@@ -12,7 +12,7 @@ The `Extracted Title` field matches in two ways:
Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`.
-Exceptions generated from `Preview` will always be in the form `Extracted Title ${id:XXXXXX}`.
+Exceptions generated from `Add Games` will always be in the form `Extracted Title ${id:XXXXXX}`.
## New Display Title
diff --git a/src/lang/vi-VN/langStrings.json b/src/lang/vi-VN/langStrings.json
index d42bc546d5..60484346ba 100644
--- a/src/lang/vi-VN/langStrings.json
+++ b/src/lang/vi-VN/langStrings.json
@@ -14,17 +14,17 @@
"games": "All Artwork"
},
"by": "by",
- "refreshImages": "Refresh images",
- "saveImage": "Save image to file",
- "addLocalImages": "Add local images",
- "retryDownload": "Retry download",
- "generateAppList": "Parse",
+ "refreshImages": "Refresh artwork",
+ "saveImage": "Save artwork to file",
+ "addLocalImages": "Add local artwork",
+ "retryDownload": "Retry artwork download",
+ "generateAppList": "Refresh",
"saveAppList": "Save to Steam",
"removeAppList": "Remove from Steam",
"remainingImages": "Retrieving urls:",
"stopUrlRetrieving": "Stop",
- "exportSelections": "Export",
- "importSelections": "Import",
+ "exportSelections": "Export art",
+ "importSelections": "Import art",
"backButton": "Back",
"logButton": "Log"
},
@@ -44,46 +44,46 @@
"removingFromCategories": "Removing all added category information",
"writingVDF_entries__i": "Writing VDF files and downloading high res images in batches of ${batchSize}.",
"updatingKnownSteamDirList": "Updating a list of known Steam directories.",
- "retryingDownload__i": "Retrying image download from \"${imageUrl}\" for \"${appTitle}\".",
- "disabledConfigurations__i": "${count} user configuration(s) was/were skipped (disabled by user).",
- "invalidConfigurations__i": "${count} user configuration(s) was/were skipped (invalid).",
+ "retryingDownload__i": "Retrying artwork download from \"${imageUrl}\" for \"${appTitle}\".",
+ "disabledConfigurations__i": "${count} user parser(s) was/were skipped (disabled by user).",
+ "invalidConfigurations__i": "${count} user parser(s) was/were skipped (invalid).",
"executingParsers": "Executing parsers.",
- "shutdownSteam": "Please shutdown Steam if it is running.",
- "noParserConfigurations": "Please create parser configuration in \"Parsers\" menu first.",
+ "shutdownSteam": "If Steam is running, exit Steam.",
+ "noParserConfigurations": "Please create parser in \"Parsers\" menu first.",
"parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
- "allImagesRetrieved": "All available image urls retrieved.",
+ "allImagesRetrieved": "All available artwork urls retrieved.",
"providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
"noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
- "preparingExport": "Preparing export of image choices.",
- "exportProgress__i": "Saving image choices ${progress}.",
- "readingSelections": "Applying imported image choices."
+ "preparingExport": "Preparing export of artwork choices.",
+ "exportProgress__i": "Saving artwork choices ${progress}.",
+ "readingSelections": "Applying imported artwork choices."
},
"errors": {
- "fatalError": "Fatal error occurred in Preview. See event log for details.",
- "fatalError__i": "Fatal Preview Error ${error}",
+ "fatalError": "Fatal error occurred in Add Games. See event log for details.",
+ "fatalError__i": "Fatal Add Games error: ${error}",
"knownSteamDirListIsEmpty": "A list of known Steam directories is empty.",
"steamIsRunning": "Cannot make changes while steam is running!",
"categorySaveError": "Error updating categories. See event log for details.",
"categorySaveError__i": "Category error (shortcuts and artwork will still be added): ${error}",
"controllerSaveError": "Error updating controller templates. See event log for details.",
"controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
- "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
+ "retryingDownload__i": "Artwork download from \"${imageUrl}\" failed for \"${appTitle}\".",
"providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
"unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
"exportError__i": "Could not save selections package folder: ${error}",
"importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
- "importFailError__i": "Could not import image choices: ${error}"
+ "importFailError__i": "Could not import artwork choices: ${error}"
},
"success": {
"writingVDF_entries": "Done adding/removing entries.",
"removingVDF_entries": "Entries have been removed.",
- "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
- "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
+ "exportSuccess__i": "Artwork choices folder successfully saved to \"${path}\"!",
+ "importSelectionsSuccess__i": "Successfully imported ${count} artwork choices!"
}
}
},
"steamParser": {
- "onlyGamesTitle": "Find artwork for games only (no tools)",
+ "onlyGamesTitle": "Find artwork for games only (no tools or demos)",
"onlyInstalledTitle": "Find artwork for installed titles only",
"sourceModsTitle": "Find artwork for unofficial source mods",
"errors": {
@@ -93,16 +93,30 @@
"fatalError__i": "> Steam parser failed with fatal error:\n ${error}"
}
},
+ "nonSRMShortcutsParser": {
+ "errors": {
+ "noSteamAccounts": "> Steam directory specified has no accounts.",
+ "fatalError__i": "> Non-SRM Shortcuts parser failed with fatal error:\n ${error}"
+ }
+ },
"manualParser": {
"manifestsInputTitle": "Manifests Directory",
- "manifestsInputPlaceholder": "/path/to/your/manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"errors": {
"fatalError__i": "> Manual parser failed with fatal error:\n ${error}"
}
},
"epicParser": {
"manifestsInputTitle": "Epic Manifests Directory Override",
- "manifestsInputPlaceholder": "/path/to/Manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"launcherModeInputTitle": "Launch games via Epic for online services",
"errors": {
"invalidManifestsOverride": "> Manifests Override is not a valid directory.",
@@ -112,25 +126,56 @@
}
},
"legendaryParser": {
+ "launcherModeInputTitle": "Launch games via Legendary for online services",
"legendaryInstalledFileTitle": "Legendary installed.json Path Override",
- "legendaryInstalledFilePlaceholder": "/path/to/legendary/installed.json",
+ "legendaryInstalledFilePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary\\installed.json",
+ "Darwin": "/path/to/legendary/installed.json",
+ "Linux": "/path/to/legendary/installed.json"
+ },
+ "legendaryExeOverrideTitle": "Legendary Path Override",
+ "legendaryExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary.exe",
+ "Darwin": "/path/to/legendary",
+ "Linux": "/path/to/legendary"
+ },
"errors": {
"legendaryNotInstalled": "> Legendary installed.json not found",
- "fatalError__i": "> Legendary parser failed with fatal error: \n ${error}"
+ "fatalError__i": "> Legendary parser failed with fatal error:\n ${error}"
+ }
+ },
+ "battleNetParser": {
+ "battleExeOverrideTitle": "Battle.net.exe Path Override",
+ "battleExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Battle.net\\Battle.net.exe",
+ "Darwin": "/path/to/Battle.net.app/Contents/MacOS/Battle.net",
+ "Linux": "/path/to/Battle.net"
+ },
+ "errors": {
+ "battleNotCompatible": "> Battle.net parser is only available on Windows.",
+ "fatalError__i": "> Battle.net parser failed with fatal error:\n ${error}"
}
},
"UWPParser": {
"UWPDirTitle": "XboxGames Directory Override",
- "UWPDirPlaceholder": "/path/to/XboxGames or /path/to/WindowsApps",
+ "UWPDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\XboxGames\\ or C:\\path\\to\\WindowsApps\\",
+ "Darwin": "/path/to/XboxGames/ or /path/to/WindowsApps/",
+ "Linux": "/path/to/XboxGames/ or /path/to/WindowsApps/"
+ },
"UWPLauncherModeTitle": "Launch game as UWP instead of launcher helper",
"errors": {
"fatalError__i": "> UWP parser is not compatible in this platform.",
- "UWPNotCompatible": "> UWP parser failed with fatal error:\n ${error}"
+ "UWPNotCompatible": "> UWP parser is only available on Windows."
}
},
"uplayParser": {
"uplayDirTitle": "Ubisoft Directory Override",
- "uplayDirPlaceholder": "/path/to/Ubisoft/",
+ "uplayDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Ubisoft\\",
+ "Darwin": "/path/to/Ubisoft/",
+ "Linux": "/path/to/Ubisoft/"
+ },
"launcherModeInputTitle": "Launch games via UPlay for online services",
"errors": {
"invalidManifestsOverride": "> Uplay Directory Override is not a valid directory.",
@@ -142,8 +187,14 @@
},
"gogParser": {
"galaxyExeOverrideTitle": "Galaxy Path Override",
- "galaxyExeOverridePlaceholder": "/path/to/GalaxyClient.exe",
+ "galaxyExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\GalaxyClient.exe",
+ "Darwin": "/path/to/GOG Galaxy.app/Contents/MacOS/GOG Galaxy",
+ "Linux": "/path/to/GalaxyClient"
+ },
"launcherModeInputTitle": "Launch games via GOG Galaxy",
+ "parseLinkedExecsTitle": "Parse linked executables from GOG Galaxy",
+ "parseRegistryEntries": "Parse using Registry instead of Galaxy DB",
"errors": {
"invalidGalaxyExeOverride": "> Galaxy Client Override is not a valid path.",
"fatalError__i": "> GOG Galaxy parser failed with fatal error:\n ${error}",
@@ -153,7 +204,11 @@
},
"amazonGamesParser": {
"exeOverrideTitle": "Amazon Games Path Override",
- "exeOverridePlaceholder": "/path/to/Amazon Games.exe",
+ "exeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Amazon Games.exe",
+ "Darwin": "/path/to/Amazon Games.app/Contents/MacOS/Amazon Games",
+ "Linux": "/path/to/Amazon Games"
+ },
"launcherModeInputTitle": "Launch games via Amazon Games",
"errors": {
"invalidExeOverride": "> Amazon Games Installation Override is not a valid directory.",
@@ -164,7 +219,11 @@
},
"itchIoParser": {
"itchIoAppDataOverrideTitle": "itch.io AppData Directory Override",
- "itchIoAppDataOverridePlaceholder": "/path/to/itch",
+ "itchIoAppDataOverridePlaceholder": {
+ "Windows_NT": "C:\\AppData\\itch\\",
+ "Darwin": "~/Library/Application Support/itch/",
+ "Linux": "~/.config/itch/"
+ },
"itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Windows-on-Linux Install Drive Redirect",
"itchIoWindowsOnLinuxInstallDriveRedirectPlaceholder": "/mnt/d/",
"errors": {
@@ -177,7 +236,11 @@
},
"eaDesktopParser": {
"eaGamesDirTitle": "EA Games Directory Override",
- "eaGamesDirPlaceholder": "/path/to/EA Games/",
+ "eaGamesDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\EA Games\\",
+ "Darwin": "/path/to/EA Games/",
+ "Linux": "/path/to/EA Games/"
+ },
"eaLauncherModeTitle": "Launch games via EA Desktop",
"errors": {
"fatalError__i": "> EA Desktop parser failed with fatal error:\n ${error}",
@@ -186,7 +249,7 @@
}
},
"globParser": {
- "inputTitle": "User's glob",
+ "inputTitle": "Search glob",
"inputPlaceholder": "${title}.@(iso|ISO)",
"errors": {
"noTitle__md": "> File glob must contain `${title}`!",
@@ -203,7 +266,7 @@
}
},
"globRegexParser": {
- "inputTitle": "User's glob-regex",
+ "inputTitle": "Search glob-regex",
"inputPlaceholder": "${/valid regex/}",
"errors": {
"noRegex__md": "> File glob must contain `${regex}` where **regex** is your regular expression!",
@@ -226,18 +289,22 @@
"stylesTitle": "Allowed grid styles",
"stylesHeroTitle": "Allowed hero styles",
"stylesLogoTitle": "Allowed logo styles",
- "stylesIconTitle": "Allowed icon styles"
+ "stylesIconTitle": "Allowed icon styles",
+ "sizesTitle": "Allowed banner dimensions",
+ "sizesHeroTitle": "Allowed hero dimensions",
+ "sizesTallTitle": "Allowed portrait dimensions",
+ "sizesIconTitle": "Allowed icon dimensions"
},
"logger": {
"component": {
"noMessages": "No messages are available",
- "error": "ERROR",
- "info": "INFO",
- "success": "SUCCESS",
- "fuzzy": "FUZZY",
- "textWrap": "TEXT-WRAP",
- "autoscroll": "AUTOSCROLL",
- "clearLog": "Clear log",
+ "error": "Error messages",
+ "info": "Info messages",
+ "success": "Success messages",
+ "fuzzy": "Fuzzy messages",
+ "textWrap": "Wrap text",
+ "autoscroll": "Autoscroll",
+ "clearLog": "Clear",
"issueDescription": "Thorough issue description with passable spelling.",
"handleExample": "CoolHandle#1234"
}
@@ -251,40 +318,42 @@
"corruptedVariables__i": "Saved custom variables are invalid!\r\nPermanent variable saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "Custom variables file has been downloaded."
+ "downloaded": "Custom variables file has been updated."
}
}
},
"configPresets": {
"service": {
"error": {
- "failedToDownload__i": "Failed to download configuration presets file. Status: ${error}.",
+ "failedToDownload__i": "Failed to download configuration presets file from commit ${commit}. Status: ${error}.",
"writingError": "Error occurred while saving configuration presets.",
"loadingError": "Error occurred while loading configuration presets.",
"corruptedVariables__i": "Saved configuration presets are invalid!\r\nPermanent file saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "New config presets have been downloaded."
+ "downloaded": "Community presets have been updated."
}
}
},
"settings": {
"component": {
"label": {
- "general": "General settings",
- "imageProviders": "Image provider settings",
- "fuzzy": "Fuzzy matcher settings",
- "environmentVariables": "Environment variable settings",
- "communityPresets": "Community variable/preset settings"
+ "general": "General",
+ "imageProviders": "Artwork Providers",
+ "fuzzy": "Fuzzy Matcher",
+ "environmentVariables": "Environment Variables",
+ "communityPresets": "Community Presets and Custom Variables"
},
"text": {
+ "autoUpdate": "Check for updates on start",
"offlineMode": "Offline mode",
- "removeApps_desc": "all added app entries and controllers",
+ "removeApps_desc": "all added games and controllers",
"removeApps_btn": "Remove",
- "preloadImages": "Preload retrieved images immediately",
+ "preloadImages": "Artwork loading strategy",
"fuzzy_verbose": "Log matching results",
- "fuzzy_filter": "Filter images",
+ "fuzzy_filter": "Filter artwork",
"enabledProviders": "Enabled image providers",
+ "dnsServers": "DNS manual override",
"selectLanguage": "Select language",
"selectTheme": "Select theme",
"resetFuzzy_desc": "fuzzy list",
@@ -292,28 +361,38 @@
"resetFuzzy_btn": "Reset",
"customVariables_desc": "custom variables",
"configPresets_desc": "config presets",
- "showSteamImages": "Show current Steam images by default",
+ "showSteamImages": "Show current Steam artwork by default",
"deleteDisabledShortcuts": "Remove shortcuts for disabled parsers",
"clearLogOnTest": "Automatically clear log before testing parsers",
- "configDir": "Open Config Directory"
+ "configDir": "Config Directory",
+ "steamDir": "Steam Directory"
},
"placeholder": {
"noProviders": "None",
- "steamDirectoryWin": "Typically C:\\Program Files (x86)\\Steam",
- "steamDirectoryMac": "Typically ~/Library/Application Support/Steam",
- "steamDirectoryLinux": "Typically /home/user/.steam/steam",
"userAccounts": "For example ${steamlogin}",
- "romsDirectoryWin": "For example D:\\ROMs",
- "romsDirectoryMac": "For example ~/ROMs",
- "romsDirectoryLinux": "For example ~/ROMs",
- "retroarchPathWin": "For example C:\\Path\\To\\retroarch.exe",
- "retroarchPathLinux": "For example /path/to/retroarch",
- "retroarchPathMac": "For example /path/to/retroarch",
- "raCoresDirectoryWin": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores",
- "raCoresDirectoryLinux": "Typically /lib/x86_64-linux-gnu/libretro/cores",
- "raCoresDirectoryMac": "Typically /Applications/Retroarch.app/Contents/Resources/cores",
- "localImagesDirectoryWin": "For example C:\\Path\\To\\LocalArtwork",
- "localImagesDirectoryUnix": "For example ~/path/to/localartwork"
+ "bySystem": {
+ "Windows_NT": {
+ "steamDirectory": "Typically C:\\Program Files (x86)\\Steam\\",
+ "romsDirectory": "For example D:\\ROMs\\",
+ "retroarchPath": "For example C:\\Path\\To\\Retroarch.exe",
+ "raCoresDirectory": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores\\",
+ "localImagesDirectory": "For example C:\\Path\\To\\LocalArtwork\\"
+ },
+ "Darwin": {
+ "steamDirectory": "Typically ~/Library/Application Support/Steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /Applications/Retroarch.app/Contents/Resources/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ },
+ "Linux": {
+ "steamDirectory": "Typically /home/user/.steam/steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /lib/x86_64-linux-gnu/libretro/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ }
+ }
}
},
"service": {
@@ -331,6 +410,7 @@
"component": {
"about": "About",
"preview": "Preview",
+ "view": "View Games",
"logger": "Log",
"settings": "Settings",
"parsers": "Create Parser",
@@ -352,6 +432,9 @@
"title": "User Exceptions",
"exclude": "Exclude Title",
"excludeArtwork": "Local Artwork Only"
+ },
+ "placeholder": {
+ "sortBy": "Sort By"
}
},
"service": {
@@ -366,8 +449,8 @@
"component": {
"buttons": {
"save": "Save",
- "copy": "Copy",
- "testParser": "Test parser",
+ "copy": "Clone",
+ "testParser": "Test",
"delete": "Delete",
"moveUp": "Move up",
"moveDown": "Move down",
@@ -381,23 +464,23 @@
"opSys__i": "Operating system is \"${os}\"",
"testCompleted": "Parser test is completed.",
"nothingWasFound": "Parser found nothing.",
- "copiedToClipboard": "Configuration copied to clipboard",
+ "copiedToClipboard": "Parser copied to clipboard",
"userExclusions": "User excluded:",
- "excludedFileInfo__i": "[${index}/${total}]: ${filename}",
+ "excludedFileInfo__i": "[${index}/${total}]: ${filename}\n Excluded by \"${exceptionKey}\"",
"removingControllers__i": "Removing controller templates for parser: ${configTitle}",
"fetchingControllerTemplates": "Fetching controller templates"
},
"error": {
"missingAccounts__i": "Following ${count} user account(s) were not found (user must to login to Steam at least once):",
"missingAccountInfo__i": " ${name}",
- "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials (\"Show advanced options -> User accounts -> Use account credentials\").\r\nIf you're seeing this, preview won't be generated for this configuration.",
+ "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials.\r\nIf you're seeing this, Add Games will skip this configuration.",
"cannotParseUserIDs": "Error parsing user accounts:",
"failedToMatch": "Failed to match:",
"failedFileInfo__i": "[${index}/${total}]: ${filename}",
"testFailed": "Testing failed",
"cannotTestInvalid": "Can not test invalid configuration!",
"cannotCopyInvalid": "Can not copy invalid configuration!",
- "failedToCopy": "Failed to copy to clipbard!",
+ "failedToCopy": "Failed to copy to clipboard!",
"cannotFetchTemplates": "Can not fetch controller templates for invalid steam directory!",
"errorRemovingControllers": "Error removing controllers:",
"cannotRemoveControllers": "Can not remove controllers from invalid steam directory!"
@@ -405,8 +488,8 @@
"success": {
"foundAccounts__i": "Found ${count} available user account(s):",
"foundAccountInfo__i": " ${name} (steamID64: ${steamID64}, accountID: ${accountID})",
- "steamCategory__i": "[${index}/${total}]: Steam categories - ${steamCategory}",
- "steamCategoryInfo__i": "[${index}/${total}]: ${steamCategory}",
+ "steamCategories__i": "[${index}/${total}]: Steam categories - ${steamCategories}",
+ "steamCategoriesInfo__i": "[${index}/${total}]: ${steamCategories}",
"exceptionKey__i": "[${index}/${total}]: Exception ID - ${appid}",
"appId__i": "[${index}/${total}]: Legacy App ID - ${appid}",
"shortAppId__i": "[${index}/${total}]: App ID - ${appid}",
@@ -416,20 +499,21 @@
"filePath__i": "[${index}/${total}]: File path - ${filePath}",
"startDir__i": "[${index}/${total}]: Start dir - ${startDir}",
"completeShortcut__i": "[${index}/${total}]: Complete shortcut - ${shortcut}",
- "firstImageQuery__i": "[${index}/${total}]: Image queries - ${query}",
+ "firstImageQuery__i": "[${index}/${total}]: Artwork queries - ${query}",
+ "imagePool__i": "[${index}/${total}]: Artwork pool - ${imagePool}",
"imageQueries__i": "[${index}/${total}]: ${query}",
"defaultImage__i": "[${index}/${total}]: Resolved fallback ${artworkType}:\r\n[${index}/${total}]: ${image}",
"resolvedDefaultImage__i": "[${index}/${total}]: Fallback ${artworkType}:",
- "localImages__i": "[${index}/${total}]: Resolved ${artworkType}:",
- "resolvedLocalImages__i": "[${index}/${total}]: ${artworkType} glob:",
+ "localImages__i": "[${index}/${total}]: Resolved local ${artworkType}:",
+ "resolvedLocalImages__i": "[${index}/${total}]: Local ${artworkType} glob:",
"indexInfo__i": "[${index}/${total}]: ${indexed}",
"removedControllers__i": "Succesfully removed controllers for parser: ${configTitle}",
"fetchedTemplates": "Fetched all controller templates"
},
"label": {
"parserType": "Parser type",
- "configTitle": "Configuration title",
- "steamCategory": "Steam category",
+ "configTitle": "Parser title",
+ "steamCategories": "Steam collections",
"executableModifier": "Executable modifier",
"executableLocation": "Executable",
"romDirectory": "ROMs directory",
@@ -440,33 +524,56 @@
"titleModifier": "Title modifier",
"fuzzyMatch": "Fuzzy matching",
"executableArgs": "Command line arguments",
- "onlineImageQueries": "Online image query",
- "imagePool": "Image pool",
- "imageProviders": "Image providers",
+ "onlineImageQueries": "Artwork provider search queries",
+ "imagePool": "Artwork pool",
+ "imageProviders": "Artwork providers",
"defaultImage__i": "Fallback ${artworkType}",
"localImages__i": "Local ${artworkType} glob"
},
"placeholder": {
"parserType": "Select parser...",
"configTitle": "My Awesome Parser",
- "steamCategory": "${cat1}${cat2}",
- "steamDirectory": "${steamdirglobal} or /path/to/steam",
- "userAccounts": "${steamuser1}${steamuser2} or ${${accountsglobal}}",
- "titleFromVariable": "${myvariable}",
+ "steamDirectory": {
+ "Windows_NT": "${steamdirglobal} or C:\\path\\to\\Steam\\",
+ "Darwin": "${steamdirglobal} or /path/to/Steam/",
+ "Linux": "${steamdirglobal} or /path/to/Steam/"
+ },
+ "titleFromVariable": "${variableGroup1}${variableGroup2}",
"titleModifier": "${fuzzyTitle} or ${title}",
- "defaultImage__i": "/path/to/fallback_${artworkType}.png",
- "localImages__i": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
- "romDirectory": "/path/to/games/",
+ "defaultImage__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\fallback_${artworkType}.png",
+ "Darwin": "/path/to/fallback_${artworkType}.png",
+ "Linux": "/path/to/fallback_${artworkType}"
+ },
+ "localImages__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\art\\\\${artworkType}\\\\\\${title}.@(png|jpg)",
+ "Darwin": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
+ "Linux": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)"
+ },
+ "onlineImageQueries": "${${fuzzyTitle}} or ${${title}}${${fuzzyTitle}}",
+ "imagePool": "${fuzzyTitle}",
+ "romDirectory": {
+ "Windows_NT": "C:\\path\\to\\games\\",
+ "Darwin": "/path/to/games/",
+ "Linux": "/path/to/games/"
+ },
"glob": "${title}.@(iso|ISO)",
- "executableLocation": "Example: /path/to/emulator.exe",
- "executableArgs": "--arg1 --arg2",
+ "executableLocation": {
+ "Windows_NT": "C:\\path\\to\\emulator.exe",
+ "Darwin": "/path/to/emulator.app",
+ "Linux": "/path/to/emulator"
+ },
+ "executableArgs": "--arg1 --arg2 --launch \"${filePath}\"",
"executableModifier": "\"${exePath}\"",
- "startInDirectory": "/path/to/start/in/dir",
+ "startInDirectory": {
+ "Windows_NT": "C:\\path\\to\\start-in-dir\\",
+ "Darwin": "/path/to/start-in-dir/",
+ "Linux": "/path/to/start-in-dir/"
+ },
"imageProviders": "None",
"multiAPIPlaceholder": "No Filter"
},
"text": {
- "tryToMatchTitle": "Enable Title from Custom Variable",
"skipFileIfVariableWasNotFound": "Skip file if variable was not found",
"caseInsensitiveVariables": "Case-insensitive variables",
"shortcut_passthrough": "Follow .lnk or .desktop to destination (Windows and Linux only)",
@@ -482,18 +589,18 @@
},
"service": {
"info": {
- "updatingConfigurations": "Updating user configurations with new fields"
+ "updatingConfigurations": "Updating user's parsers with new fields"
},
"error": {
- "savingConfiguration": "Error encountered while saving user configurations!",
- "readingConfiguration": "Error encountered while reading user configurations!",
+ "savingConfiguration": "Error encountered while saving user's parsers!",
+ "readingConfiguration": "Error encountered while loading user's parsers!",
"parserTypeMissing": "Cannot save without specifying parser type",
- "corruptedConfiguration__i": "One or more saved parser configurations are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
- "fetcingTemplates": "Error encountered while fetching controllers templates!"
+ "corruptedConfiguration__i": "One or more saved parsers are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
+ "fetchingTemplates": "Error encountered while fetching controllers templates!"
},
"validationErrors": {
"parserType__md": "> Incorrect parser type!",
- "configTitle__md": "> Configuration title is required!",
+ "configTitle__md": "> Parser title field cannot be blank!",
"parserId__md": "> Parser Id is missing, something is horribly wrong.",
"parserInput": {
"noInput": "No inputs are available!",
@@ -501,19 +608,15 @@
"incorrectParser": "Incorrect parser!"
},
"romDir__md": "> ROMs directory is invalid!",
- "userAccounts__md": "> Steam parser requires `User Accounts` field",
+ "userAccounts__md": "> User accounts field is required!",
"steamDir__md": "> Steam directory is invalid!",
"startInDir__md": "> \"Start In\" directory is invalid!",
"executable__md": "> Executable is invalid!",
- "imagePool__md": "> Image pool must not be empty!",
- "defaultImage__md": "> Default image is an invalid path!",
- "titleModifier__md": "> Title modifier must not be empty!",
- "executableModifier__md": "> Executable modifier must not be empty!",
- "variableString__md": "> Uneven number of `${` and `}` pairs. Use `\\` to escape `${` or `}` if you want to use them as characters.",
- "imageProviders__md": "> Incorrect image providers type!",
- "unhandledValidationKey__md": "> Input's validation is unhandled",
- "genericDir__md": "> Directory is invalid",
- "genericPath__md": "> Path is invalid"
+ "defaultImage__md": "> Fallback artwork is an invalid path!",
+ "variableString__md": "> Uneven number of `${` and `}` pairs! Use `\\` to escape `${` or `}` if you want to use them as characters.",
+ "unhandledValidationKey__md": "> Input's validation is unhandled!",
+ "genericDir__md": "> Directory is invalid!",
+ "genericPath__md": "> Path is invalid!"
},
"text": {
"noTitle": "No title!"
@@ -540,7 +643,7 @@
"error": {
"parserNotFound__i": "Parser \"${name}\" not found!",
"tooManyFieldGlobs__md": "> Only one `$(...)$` set is allowed per input.",
- "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** ir **Glob-regex** field.",
+ "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** in **Glob-regex** field.",
"noWinSlashes__md": "> Windows directory character `\\` is not allowed! Use `/` instead."
}
},
@@ -567,11 +670,11 @@
"error": {
"readingVdf__i": "Failed to read from \"${filePath}\".\n ${error}",
"writingVdf__i": "Failed to write to \"${filePath}\".\n ${error}",
- "skippingDMCA__i": "Skipping DMCA'd image for ${title}",
+ "skippingDMCA__i": "Skipping DMCA'd artwork for ${title}",
"corruptedVdf__i": "\"${filePath}\" is corrupted.\n ${error}",
"creatingBackup__i": "Could not create backup for \"${filePath}\".\n ${error}",
"unsupportedMimeType__i": "Mime type (${type}) is unsupported (title - \"${title}\").",
- "imageError__i": "Error occurred while saving/downloading image for \"${title}\". Url: ${url}.\n ${error}"
+ "imageError__i": "Error occurred while saving/downloading artwork for \"${title}\". Url: ${url}.\n ${error}"
}
},
"helpers": {
diff --git a/src/lang/vi-VN/markdown/UWP-parser-input.md b/src/lang/vi-VN/markdown/UWP-parser-input.md
index 1a3f20be1d..8c045eea77 100644
--- a/src/lang/vi-VN/markdown/UWP-parser-input.md
+++ b/src/lang/vi-VN/markdown/UWP-parser-input.md
@@ -1,4 +1,4 @@
-# Unique inputs for UWP Parser
+# UWP Parser Specific Inputs
## Games directory
@@ -8,4 +8,4 @@ Set it to `C:\Program Files\WindowsApps` to grab all UWP applications -- you'll
## Launch as UWP or from GameLaunchHelper.exe
-Gamepass games can be launched both ways, although UWP is preffered.
+Gamepass games can be launched both ways, although UWP is preferred.
diff --git a/src/lang/vi-VN/markdown/UWP-parser.md b/src/lang/vi-VN/markdown/UWP-parser.md
index bfb5a847f3..af4fee0f84 100644
--- a/src/lang/vi-VN/markdown/UWP-parser.md
+++ b/src/lang/vi-VN/markdown/UWP-parser.md
@@ -4,4 +4,4 @@ This parser imports `UWP` games in your Windows OS, having a games library path
## Compatibility
-This parser should only work on `Windows 10` and `Windows 11`.
\ No newline at end of file
+This parser should only work on `Windows 10` and `Windows 11`.
diff --git a/src/lang/vi-VN/markdown/about.md b/src/lang/vi-VN/markdown/about.md
index b5b78d51b7..1dfe83f938 100644
--- a/src/lang/vi-VN/markdown/about.md
+++ b/src/lang/vi-VN/markdown/about.md
@@ -2,7 +2,7 @@
In case you're having trouble with SRM, feel free to visit the [discord](https://discord.gg/bnSVJrz) or the [subreddit](https://www.reddit.com/r/SteamRomManager/) and ask for our help. In order for us to help you, we would like you to provide this info:
-* SRM version: **#{APP[version]}**
+* SRM version: **#{APP[version]}** emudeckText
* Operating System: **#{APP[os]}**
## Useful links
@@ -43,8 +43,9 @@ If you enjoy Steam ROM Manager and want it to continue to be useful also conside
* `CarJem`{.noWrap} - Added the manual parser.
* `MattMckenzy`{.noWrap} - Added ability to import and export image choices.
* `Apalatn`{.noWrap} - Added an install drive redirect option to the itch.io parser.
-* `OneMoreByte` - Made itch.io parser work on linux and mac.
-* `UndarkAido` - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `OneMoreByte`{.noWrap} - Made itch.io parser work on linux and mac.
+* `UndarkAido`{.noWrap} - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `HazardousBackup`{.noWrap} - Added option to GOG parser to parse Registry instead of GOG's DB.
### Community
* `HE Spoke`{.noWrap} - created a community around SRM. Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups. Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
diff --git a/src/lang/vi-VN/markdown/amazon-games-parser-input.md b/src/lang/vi-VN/markdown/amazon-games-parser-input.md
index 7ac728e20b..770697198e 100644
--- a/src/lang/vi-VN/markdown/amazon-games-parser-input.md
+++ b/src/lang/vi-VN/markdown/amazon-games-parser-input.md
@@ -1,4 +1,4 @@
-# Amazon Games Parser specific inputs
+# Amazon Games Parser Specific Inputs
## Amazon Games Path Override
By default Steam ROM Manager assumes your Amazon Games installation is located at `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`. This field allows you to override that path if your Amazon Games installation is elsewhere.
diff --git a/src/lang/vi-VN/markdown/amazon-games-parser.md b/src/lang/vi-VN/markdown/amazon-games-parser.md
index cdfda7c283..eb556fcc6e 100644
--- a/src/lang/vi-VN/markdown/amazon-games-parser.md
+++ b/src/lang/vi-VN/markdown/amazon-games-parser.md
@@ -1,3 +1,3 @@
# Amazon Games Parser
-This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/vi-VN/markdown/battle-net-parser-input.md b/src/lang/vi-VN/markdown/battle-net-parser-input.md
new file mode 100644
index 0000000000..1f03fae4a6
--- /dev/null
+++ b/src/lang/vi-VN/markdown/battle-net-parser-input.md
@@ -0,0 +1,5 @@
+# Battle.net Parser Specific Inputs
+
+## Battle.net.exe Path Override
+
+By default Steam ROM Manager assumes your `Battle.net` executable is located at `C:\Program Files (x86)\Battle.net\Battle.net.exe`. This field allows you to override that if your `Battle.net` is installed elsewhere.
diff --git a/src/lang/vi-VN/markdown/battle-net-parser.md b/src/lang/vi-VN/markdown/battle-net-parser.md
new file mode 100644
index 0000000000..c3ffb10b67
--- /dev/null
+++ b/src/lang/vi-VN/markdown/battle-net-parser.md
@@ -0,0 +1,5 @@
+# Battle.net Parser
+
+This parser imports games from the `Battle.net` app, so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Blizzard has altered the structure of their database files, in which case please let the developers of SRM know and we will resolve the issue.
+
+The `Battle.net` parser is somewhat special in that it uses a shell script at `${srmDir}/scripts/bnet.ps1` in order to launch `Battle.net`, wait an appropriate amount of time, and only then launch the actual title.
diff --git a/src/lang/vi-VN/markdown/config-title.md b/src/lang/vi-VN/markdown/config-title.md
index ed2eeef493..abadc31951 100644
--- a/src/lang/vi-VN/markdown/config-title.md
+++ b/src/lang/vi-VN/markdown/config-title.md
@@ -1,3 +1,5 @@
-# Configuration title
+# Parser title
-Title to save user configuration as. Does not have to be unique, but is required.
\ No newline at end of file
+Title of the parser. Does not have to be unique, but is required.
+
+This field will not affect what is added to `Steam` in any way.
diff --git a/src/lang/vi-VN/markdown/controller-templates.md b/src/lang/vi-VN/markdown/controller-templates.md
index 37c943f370..686b3ba13a 100644
--- a/src/lang/vi-VN/markdown/controller-templates.md
+++ b/src/lang/vi-VN/markdown/controller-templates.md
@@ -17,10 +17,10 @@ In the SRM parser:
Currently, SRM pulls all of the default (Valve made) templates for each controller as well as all of the user defined templates that end in `(SRM)`.
-* Select your templates and save the parser. The controller configsets will be applied once you hit `Save App List` in the preview.
+* Select your templates and save the parser. The controller configsets will be applied once you hit `Save to Steam` in the Add Games.
* To unset controller configs, you may either `Remove All Added App Entries` from global settings (this deletes all SRM made changes to your steam data) or hit `Unset All Controllers` in the parser (this only removes controller settings for the steam directory and user specified in that parser).
-Once this is done you can generate and save the preview as usual, and the template will be applied to all the titles in the parser.
+Once this is done you can parse and add games to steam as usual, and the templates will be applied to all the titles in the parser.
diff --git a/src/lang/vi-VN/markdown/default-image.md b/src/lang/vi-VN/markdown/default-image.md
index 47e3f9261e..7bf4e6413d 100644
--- a/src/lang/vi-VN/markdown/default-image.md
+++ b/src/lang/vi-VN/markdown/default-image.md
@@ -1,4 +1,4 @@
-# Default image (optional) `[supports variables]`{.noWrap}
+# Default image `[supports variables]`{.noWrap}
Allows one to use an image, stored locally, as a default/fallback image. A [special glob input](#special-glob-input) string is used to retrieve images. Only the first retrieved image is used.
diff --git a/src/lang/vi-VN/markdown/ea-desktop-parser-input.md b/src/lang/vi-VN/markdown/ea-desktop-parser-input.md
index 7990efb5b5..355ba68c8e 100644
--- a/src/lang/vi-VN/markdown/ea-desktop-parser-input.md
+++ b/src/lang/vi-VN/markdown/ea-desktop-parser-input.md
@@ -1,4 +1,4 @@
-# EA Desktop Parser specific inputs
+# EA Desktop Parser Specific Inputs
## EA Games Directory Override
By default Steam ROM Manager assumes your `EA Desktop` games are installed at ``C:\Program Files\EA Games\`. This field allows you to change that to wherever your games are installed, e.g.``D:\Games\EA Games`.
diff --git a/src/lang/vi-VN/markdown/epic-parser-input.md b/src/lang/vi-VN/markdown/epic-parser-input.md
index 88b5bd915c..c175be5c5e 100644
--- a/src/lang/vi-VN/markdown/epic-parser-input.md
+++ b/src/lang/vi-VN/markdown/epic-parser-input.md
@@ -1,4 +1,4 @@
-# Epic Games Store specific inputs
+# Epic Games Store Specific Inputs
## Manifests Directory Override
diff --git a/src/lang/vi-VN/markdown/executable-arguments.md b/src/lang/vi-VN/markdown/executable-arguments.md
index 8b5121722a..c19b665402 100644
--- a/src/lang/vi-VN/markdown/executable-arguments.md
+++ b/src/lang/vi-VN/markdown/executable-arguments.md
@@ -1,4 +1,4 @@
-# Command line arguments (optional) `[supports variables]`{.noWrap}
+# Command line arguments `[supports variables]`{.noWrap}
Arguments which are appended to executable to produce final shortcut. Most of the time you will want to set it using provided parser variables.
@@ -49,7 +49,7 @@ Arguments which are appended to executable to produce final shortcut. Most of th
### Nestopia (NES/Famicom)
```
-"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
+"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
```
### higan (NES/Famicom, SNES/Famicom, Gameboy, Gameboy Color, Gameboy Advance)
@@ -126,13 +126,13 @@ This setting is used to influence Steam's APP ID.
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -187,6 +187,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -196,7 +197,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/vi-VN/markdown/executable-location.md b/src/lang/vi-VN/markdown/executable-location.md
index b13f57494f..36fbbc9a46 100644
--- a/src/lang/vi-VN/markdown/executable-location.md
+++ b/src/lang/vi-VN/markdown/executable-location.md
@@ -1,4 +1,4 @@
-# Executable (optional) `[supports environment variables]`
+# Executable `[supports env variables]`
Path to emulator's executable. Can be a file or any valid system path.
@@ -6,6 +6,8 @@ Path to emulator's executable. Can be a file or any valid system path.
In some cases you might want to run game from a some kind batch file which will also automatically run the emulator itself. If that is the case, then providing executable is unnecessary.
+The final shortcut will just be `"${filePath}" --command-line-args`.
+
### So, how do I add files to Steam without default executable?
All files retrieved by a parser will be treated as executables instead.
diff --git a/src/lang/vi-VN/markdown/executable-modifier.md b/src/lang/vi-VN/markdown/executable-modifier.md
index c3c5739e86..2131f6964d 100644
--- a/src/lang/vi-VN/markdown/executable-modifier.md
+++ b/src/lang/vi-VN/markdown/executable-modifier.md
@@ -1,102 +1,23 @@
# Executable modifier `[supports variables]`{.noWrap}
-Default value is `"${exePath}"`{.noWrap}. This setting can be used to prepend or append desired characters to an executable which will be added to Steam (`Target` property). For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you can add `"cmd" /k start /min` to it by setting value to:
+Defaults to `"${exePath}"`{.noWrap} if unset. This field can be used to prepend or append desired characters to the executable which will be added to the Steam shortcut's `Target` property. For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you could start `Retroarch` minimized by setting the `Executable Modifier` "cmd" to:
+
```
"cmd" /k start /min "${exePath}"
```
-You can use any other variable to construct the final executable.
-
-This setting influences Steam's APP ID.
-
-
-## Shortcut Passthrough
-If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the target of that shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser.
-
-## Directory variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
-
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
-
-## Name variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------------------------------- |
-| `${exeName}` | Name of executable (without extension) |
-| `${fileName}` | Name of file which was returned by a parser (without extension) |
-
-In case executable directory input is left **empty**, `${exeName}`{.noWrap} is equal to `${fileName}`{.noWrap}.
-
-## Extension variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------------------- |
-| `${exeExt}` | Extension of executable (with a dot) |
-| `${fileExt}` | Extension of file which was returned by a parser (with a dot) |
-In case executable directory input is left **empty**, `${exeExt}`{.noWrap} is equal to `${fileExt}`{.noWrap}.
+In this case the `Target` property would begin with:
-## Path variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:-------------------------------------------------- |
-| `${exePath}` | Full path to an executable |
-| `${filePath}` | Full path to a file which was returned by a parser |
-
-In case executable directory input is left **empty**, `${exePath}`{.noWrap} is equal to `${filePath}`{.noWrap}.
-
-## Parser variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------ |
-| `${title}` | Extracted title |
-| `${fuzzyTitle}` | Fuzzy matched title |
-| `${finalTitle}` | Title which was the end result of title modifier |
-
-In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
+```
+"cmd" /k start /min "C:\RetroArch\retroarch.exe"
+```
-## Function variables
+followed by whatever launch arguments you choose in the `Command Line Arguments` field.
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+You can use any other variable to construct the final executable.
-### Function variable example
+This setting influences Steam's APP ID.
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
-```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
-```
-will be replaced with these:
-```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+## Shortcut Passthrough
---On linux:
-file.so
---On Windows:
-file.dll
---On Mac OS:
-file
-```
+If you enable `Follow .lnk/.desktop to destination` and the glob search finds a `.lnk` or `.desktop` file, ie a shortcut, then the `${filePath}` variable will contain the target of the shortcut rather than the path to the shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the `Command Line Arguments` field in the parser.
diff --git a/src/lang/vi-VN/markdown/glob-parser-input.md b/src/lang/vi-VN/markdown/glob-parser-input.md
index 996ae77ce1..2a43592892 100644
--- a/src/lang/vi-VN/markdown/glob-parser-input.md
+++ b/src/lang/vi-VN/markdown/glob-parser-input.md
@@ -1,4 +1,4 @@
-# Glob Parser specific inputs
+# Glob Parser Specific Inputs
## User's glob
diff --git a/src/lang/vi-VN/markdown/glob-regex-parser-input.md b/src/lang/vi-VN/markdown/glob-regex-parser-input.md
index 22c1f5cea6..6491148a25 100644
--- a/src/lang/vi-VN/markdown/glob-regex-parser-input.md
+++ b/src/lang/vi-VN/markdown/glob-regex-parser-input.md
@@ -1,4 +1,4 @@
-# Glob-regex Parser specific inputs
+# Glob-regex Parser Specific Inputs
## User's glob-regex
@@ -6,7 +6,7 @@ This is where you create your glob for extracting title from file path. Please r
## How does it work?
-In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
+In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
| User's glob | Position |
| --------------------- | --------------------------- |
diff --git a/src/lang/vi-VN/markdown/gog-parser-input.md b/src/lang/vi-VN/markdown/gog-parser-input.md
index 756fa3de77..bf185f2c23 100644
--- a/src/lang/vi-VN/markdown/gog-parser-input.md
+++ b/src/lang/vi-VN/markdown/gog-parser-input.md
@@ -1,10 +1,20 @@
-# Unique inputs for GOG Galaxy Parser
+# GOG Galaxy Parser Specific Inputs
## Galaxy Path Override
-By default Steam ROM Manager assumes your Galaxy Client is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe`. This field allows you to override that path if your GOG Galaxy installation is elsewhere.
-This field is actually only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of the Galaxy Client.
+By default Steam ROM Manager assumes your GOG Galaxy executable is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe` on Windows and `/Applications/GOG Galaxy.app/Contents/MacOS/GOG Galaxy` on Mac. This field allows you to override that path if your GOG Galaxy executable is elsewhere.
-## Launch Via GOG Galaxy `[Recommend disabled]`
+Specifying the correct location of GOG Galaxy's executable is only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of GOG Galaxy's executable.
-What it sounds like, this toggle let's you set whether games will launch via GOG Galaxy or directly. Note that for some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+## Launch via GOG Galaxy `[Recommend disabled]`
+
+What it sounds like, this toggle determines whether games launch via GOG Galaxy or directly. For some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+
+## Parse Linked Executables from GOG Galaxy
+
+If enabled, SRM will pull in not only GOG games aquired from GOG Galaxy's store, but also those you have manually linked executables for in GOG Galaxy. This is desirable if those games are not being parsed into SRM elsewhere.
+
+A caveat is that because GOG Galaxy does not store the names linked executables in its database, SRM will use the directory name of the executable on Windows (e.g. `C:\\path\\to\\Hoa\\LaunchHoa.exe` would be assigned the title `Hoa`) and the executable name on Mac (e.g. `/Applications/Symphonia.app` would be assigned the title `Symphonia`).
+
+## Parse using Registry instead of Galaxy DB `[Windows only] [Recommend disabled]`
+This option will parse the Windows Registry for installed GOG games instead of GOG Galaxy's SQL database, allowing the parser to work even if GOG Galaxy is not installed. If this is enabled, `Parse Linked Executables` will of have no effect, but `Launch via GOG Galaxy` will work as normal.
\ No newline at end of file
diff --git a/src/lang/vi-VN/markdown/image-pool.md b/src/lang/vi-VN/markdown/image-pool.md
index 8b54cf72d9..0b4e4a94fb 100644
--- a/src/lang/vi-VN/markdown/image-pool.md
+++ b/src/lang/vi-VN/markdown/image-pool.md
@@ -1,3 +1,5 @@
-# Image pool `[supports variables]`{.noWrap}
+# Artwork pool `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting is used to allow different apps share the same images -- same "image pool", or allow unique image pool per app. To use unique image pool per app just set it to something unique. For example `${fuzzyTitle} SNES`{.noWrap}.
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset.
+
+This field is used to allow games from different parsers to share the same images (i.e. the same "image pool") if they have the same title. If you want different parsers not to share images for games with the same title, just set this field to something unique, for example `${fuzzyTitle} SNES`{.noWrap} or `${fuzzyTitle} ${parserTitle}`{.noWrap}.
diff --git a/src/lang/vi-VN/markdown/image-providers.md b/src/lang/vi-VN/markdown/image-providers.md
index 0b778780c6..f70a9275f6 100644
--- a/src/lang/vi-VN/markdown/image-providers.md
+++ b/src/lang/vi-VN/markdown/image-providers.md
@@ -1,7 +1,7 @@
-# Image providers
+# Artwork providers
-Here you can select image providers that are used to retrieve images. This option is for this configuration only.
+Here you can select artwork providers (online sources of game art) that are used by SRM to get art for your games.
## Similar option in "Settings" menu
-Settings menu has "Enabled providers" which enable image providers globally -- if it's not enabled in Settings, it won't work.
+Settings menu has "Enabled providers" which enable artwork providers globally -- if it's not enabled in Settings, it won't work.
diff --git a/src/lang/vi-VN/markdown/intro.md b/src/lang/vi-VN/markdown/intro.md
index f8d5fcabda..a6d65c0059 100644
--- a/src/lang/vi-VN/markdown/intro.md
+++ b/src/lang/vi-VN/markdown/intro.md
@@ -8,8 +8,8 @@ Also, don't forget to check FAQ. If you still got questions about setting up con
After saving parser configuration, **1** of **3** colors will be shown next to its title:
- -- Enabled configuration. This configuration will be used when generating a list in **preview** page.
+ -- Enabled configuration. This configuration will be used when generating a list in **Add Games** page.
- -- Unsaved changes. This configuration will not be used when generating a list in **preview** page, however earlier **saved** version will be used instead.
+ -- Unsaved changes. This configuration will not be used when generating a list in **Add Games** page, however earlier **saved** version will be used instead.
- -- Disabled configuration. This configuration will not be used when generating a list in **preview** page.
\ No newline at end of file
+ -- Disabled configuration. This configuration will not be used when generating a list in **Add Games** page.
\ No newline at end of file
diff --git a/src/lang/vi-VN/markdown/itch-io-parser-input.md b/src/lang/vi-VN/markdown/itch-io-parser-input.md
index 4b0057c170..ffa409af96 100644
--- a/src/lang/vi-VN/markdown/itch-io-parser-input.md
+++ b/src/lang/vi-VN/markdown/itch-io-parser-input.md
@@ -1,4 +1,4 @@
-# itch.io Parser specific inputs
+# itch.io Parser Specific Inputs
## itch.io AppData Path Override
By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere.
diff --git a/src/lang/vi-VN/markdown/itch-io-parser.md b/src/lang/vi-VN/markdown/itch-io-parser.md
index 7f29ffc42d..accb8b5ad2 100644
--- a/src/lang/vi-VN/markdown/itch-io-parser.md
+++ b/src/lang/vi-VN/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
# itch.io Parser
-This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/vi-VN/markdown/legendary-parser-input.md b/src/lang/vi-VN/markdown/legendary-parser-input.md
index 80ca0bcbbc..4a826e43da 100644
--- a/src/lang/vi-VN/markdown/legendary-parser-input.md
+++ b/src/lang/vi-VN/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
-# Legendary Parser specific inputs
+# Legendary Parser Specific Inputs
+
+## Legendary Path Override
+
+By default Steam ROM Manager uses `(Get-Command legendary).Path` on Windows and `which legendary` on Linux and Mac to determine the location of your Legendary executable. This field allows you to override that path.
+
+Specifying the correct location of the Legendary executable is only necessary if you enable launch via Legendary (see below), as otherwise SRM has no need of the location of Legendary's executable.
## Legendary `installed.json` Path Override
Most users shouldn't use this, as they use the standard `Legendary` installation where installed games manifest will be located at `~/.config/legendary/installed.json`.
If, however, for some reason your installed games manifest is located in a non-typical location then you can specify the correct manifest path here.
+
+## Launch via Legendary `[Recommend enabled]`
+
+What it sounds like, this toggle determines whether games launch via Legendary or directly. Launching via Legendary provides access to Epic's online services.
diff --git a/src/lang/vi-VN/markdown/local-images.md b/src/lang/vi-VN/markdown/local-images.md
index cff60e5674..5da2e5ae4c 100644
--- a/src/lang/vi-VN/markdown/local-images.md
+++ b/src/lang/vi-VN/markdown/local-images.md
@@ -1,4 +1,4 @@
-# Local images (optional) `[supports variables]`{.noWrap}
+# Local images `[supports variables]`{.noWrap}
Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
diff --git a/src/lang/vi-VN/markdown/manual-parser-input.md b/src/lang/vi-VN/markdown/manual-parser-input.md
index bc1848d45a..65265ebd32 100644
--- a/src/lang/vi-VN/markdown/manual-parser-input.md
+++ b/src/lang/vi-VN/markdown/manual-parser-input.md
@@ -1,4 +1,4 @@
-# Manual Parser specific inputs
+# Manual Parser Specific Inputs
## Manifests Directory `[Supports Environment Variables]`{.noWrap}
@@ -17,7 +17,8 @@ The names of the files do not matter. What does matter is that each `manifest.js
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args",
+ "appendArgsToExecutable": false
}
```
Or a list of titles, like so:
@@ -27,15 +28,19 @@ Or a list of titles, like so:
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args".
+ "appendArgsToExecutable": true
},
{
"title": "gameTitle2",
"target": "game2/path/target.sh",
"startIn": "game2/path",
- "launchOptions": "--args2"
+ "launchOptions": "--args2",
+ "appendArgsToExecutable": false
}
]
```
A typical use case would be to use a single json file per game type, or per year, etc.
+
+Just like for ROM parsers, `appendArgsToExecutable` determines whether `launchOptions` are appended to the shortcut `target` or appear separately as launch options in steam.
diff --git a/src/lang/vi-VN/markdown/non-srm-shortcuts-parser.md b/src/lang/vi-VN/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..4485008a1a
--- /dev/null
+++ b/src/lang/vi-VN/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,29 @@
+# Non-SRM Shortcut Parser
+
+This parser imports non SRM steam shortcuts into SRM so their artowrk can be managed. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
+
+## User accounts
+
+Used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
+
+```
+${...}
+```
+
+You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
+
+ {.fitImage .center}
+
+For example, this is how you specify account for "Banana" and "Apple":
+
+```
+${Banana}${Apple}
+```
+
+You can also limit accounts by specifying their ids directly. For example:
+
+```
+${56489124}${21987424}
+```
+
+Would limit the search to `steam/userdata/56489124` and `steam/userdata/21987424`.
diff --git a/src/lang/vi-VN/markdown/parser-env-variables.md b/src/lang/vi-VN/markdown/parser-env-variables.md
index 3b186a70f7..e95baf9137 100644
--- a/src/lang/vi-VN/markdown/parser-env-variables.md
+++ b/src/lang/vi-VN/markdown/parser-env-variables.md
@@ -13,3 +13,5 @@ These variables are pre parsed and can be used even in the Rom Directory, Steam
The utility of the environment variable `${srmdir}` is to make SRM fully portable, eg if you wanted to have the directory layout `D:\Games\Roms` and `D:\Games\PortableSRM\SRM.exe` then setting the field Roms Directory to be `${srmdir}${/}..${/}Roms` would allow you to move the Games directory somewhere else without breaking your setup.
+
+Function variables can also be used in fields that permit environment variables (e.g. `${os:win|C:\path\to\startdir|${os:linux|/path/to/startdir}}`)
diff --git a/src/lang/vi-VN/markdown/parser-variables.md b/src/lang/vi-VN/markdown/parser-variables.md
index 7e9eb636ff..7c164a55bc 100644
--- a/src/lang/vi-VN/markdown/parser-variables.md
+++ b/src/lang/vi-VN/markdown/parser-variables.md
@@ -4,13 +4,13 @@ Here are tables of variables that can be used with options that have `[supports
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
@@ -48,6 +48,7 @@ In case executable directory input is left **empty**, `${exePath}`{.noWrap} is e
| `${title}` | Extracted title |
| `${fuzzyTitle}` | Fuzzy matched title |
| `${finalTitle}` | Title which was the end result of title modifier |
+| `${parserTitle}` | The value of the `Parser Title` field |
In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
@@ -65,6 +66,7 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
### Function variable example
Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -74,7 +76,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/vi-VN/markdown/parsers-list.md b/src/lang/vi-VN/markdown/parsers-list.md
index 1e5e43f80f..6ab3846611 100644
--- a/src/lang/vi-VN/markdown/parsers-list.md
+++ b/src/lang/vi-VN/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# Parsers
-In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**
diff --git a/src/lang/vi-VN/markdown/rom-directory.md b/src/lang/vi-VN/markdown/rom-directory.md
index 555452224f..5b15d2e2b7 100644
--- a/src/lang/vi-VN/markdown/rom-directory.md
+++ b/src/lang/vi-VN/markdown/rom-directory.md
@@ -1,3 +1,3 @@
-# ROMs directory `[supports environment variables]`
+# ROMs directory `[supports env variables]`
Starting directory for game or app files.
diff --git a/src/lang/vi-VN/markdown/settings.md b/src/lang/vi-VN/markdown/settings.md
index c35d49e806..dd35c64609 100644
--- a/src/lang/vi-VN/markdown/settings.md
+++ b/src/lang/vi-VN/markdown/settings.md
@@ -1,31 +1,51 @@
## General Settings
+### Check for updates on start `[Recommend enabled]`
+Check if an update for SRM is available and prompt to update each time SRM launches.
+### Auto kill Steam `[Recommend enabled]`
+SRM will attempt to kill all running instances of Steam whenever it needs to read/write collections information (specifically when saving to steam from `Add Games` and when removing all games from `Settings`).
+### Auto restart Steam `[Recommend enabled]`
+SRM will attempt to restart Steam after killing it and completing whatever collections related task required killing Steam in the first place. Requires `Auto kill Steam` to be enabled.
### Offline mode `[Recommend disabled]`
-
When enabled SRM makes no network requests, useful if you only want to use SRM for local images.
### Automatically clear log before testing parsers `[Recommend enabled]`
When enabled the log is cleared each time a parser is tested.
+## Add Games
### Show current steam images by default `[Recommend enabled]`
When enabled this setting tells SRM to default to whatever artwork is currently in steam for a given app. If it is disabled, then every time SRM is run (and saved) all artwork will be reset.
### Remove shortcuts for disabled parsers `[Recommend disabled]`
When enabled disabling a parser and running SRM will remove all added entries and artwork for the disabled parser. Useful if you want your steam library to be in 1-1 correspondence with enabled parsers.
-
+### Disable saving of steam categories `[Recommend disabled]`
+SRM will not write any collections information when saving to Steam. This allows SRM to perform its tasks while Steam is still running, at the obvious cost that added games will not be categorized.
+### Hide Steam username from Add Games
+Steam does not allow user's to alter their Steam usernames. In some cases (childish names, dead names, etc), users may no longer wish to see their Steam usernames. This setting hides it from `Add Games`.
+### Remove all added games and controllers
+Undo all SRM added changes from Steam.
+### Remove all controllers only
+Undo all SRM added controller settings from Steam.
## Fuzzy Matcher Settings
### Log matching results `[Recommend disabled]`
When enabled more verbose logs appear for the fuzzy title matcher in the `Event log`. Useful for debugging incorrect fuzzy matches.
-
### Reset fuzzy list
Resets the stored list of titles used for fuzzy matching to the list of titles returned by `SteamGridDB` (removes any user added titles).
### Reset fuzzy cache
Clears the cache of titles that fuzzy matching has already seen (try this if changes you make to fuzzy list are not resulting in changes to titles in SRM).
-
## Image provider settings
-### Preload retrieved images `[Recommend disabled]`
-When enabled, SRM will pull all available artwork for every game, rather than pulling one piece of artwork at a time as the user flips through the images. Don't enable this unless you have a good reason and a very small library of games, otherwise it could result in very large (slow) network requests.
+### Artwork loading strategy `[Recommend Load artwork lazily]`
+This is the strategy SRM uses to pull artwork thumbnails for the `Add Games` UI. If you are parsing a lot of games, `Load artwork lazily` is recommended. `Preload first artwork` will try to pull the first piece of artwork for each game in each artwork category, and `Preload all artwork` will try to pull all available artwork for each game in each artwork category. `Preload all artwork` will cause network and performance issues unless the number of games is quite small (less than `30` or so).
### Enabled providers
-Global setting to disable certain providers. Currently the only image provider is `SteamGridDB` since ConsoleGrid and RetroGaming.cloud are defunct.
-
+Global setting to enable/disable particular image providers. Current options are `SteamGridDB` and `Steam Official`.
+### DNS manual override
+Set this if you want SRM to do DNS resolution internally, as opposed to relying on your system's default DNS server. This solves many timeout issues on the Steam Deck.
+### Batch size for image downloads
+Number of images SRM will attempt to download at once when saving to Steam. May help to lower this if you are receiving timeout errors from SGDB.
+### Nuke artwork choice cache
+SRM attempts to remember your artwork choices, this button forcibly forgets all of them.
+### Nuke local artwork backups
+This deletes all artwork backups created for parsers with `Backup artwork locally` enabled.
## Community Variables and Presets
### Force download custom variables.
Resets the custom variables JSON file that is used for certain presets to whatever its current state is on the SRM github. Useful if the custom variables JSON file has been corrupted.
### Force download custom presets.
Resets the JSON files for parser presets to whatever is on the SRM github. Useful if your presets list is not automatically updating for some reason, or has become corrupted.
+### Force download shell scripts
+Re fetches the shell scripts SRM uses to perform certain tasks.
diff --git a/src/lang/vi-VN/markdown/sgdb-api-input.md b/src/lang/vi-VN/markdown/sgdb-api-input.md
index 553f4fda77..7651927a64 100644
--- a/src/lang/vi-VN/markdown/sgdb-api-input.md
+++ b/src/lang/vi-VN/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
This set of options are direct inputs into the APIs of image providers, for example SteamGridDB's [API](https://www.steamgriddb.com/api/v2).
-An interesting quirk of these settings is that re-generating the preview (hitting the `Generate App List` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove App List` button in preview before hitting `Generate App List`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the preview with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
+An interesting quirk of these settings is that re-generating the game list in Add Games (hitting the `Refresh` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove from Steam` button in Add Games before hitting `Refresh`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the game list with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
## SteamGridDB
diff --git a/src/lang/vi-VN/markdown/start-in-directory.md b/src/lang/vi-VN/markdown/start-in-directory.md
index 86cf962c23..df84a987d5 100644
--- a/src/lang/vi-VN/markdown/start-in-directory.md
+++ b/src/lang/vi-VN/markdown/start-in-directory.md
@@ -1,6 +1,6 @@
-# "Start In" directory (optional) `[supports environment variables]`{.noWrap}
+# "Start In" directory `[supports env variables]`
-By default "Start In" directory is set to executable's directory:
+If `"Start In" Directory` is unset it defaults to the executable's directory. If not executable is set, it defaults to the directory of the ${filePath} variable:
 {.fitImage.center}
@@ -11,4 +11,5 @@ This option allows you to specify any directory you want as a "Start In" directo
It is useful when you're using batch files to start emulator and a game, but emulator requires a specific "Start In" directory to work properly.
## Shortcut Passthrough
+
If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the directory of the target of that shortcut. In the future, it will be overridden with the start in directory of that shortcut.
diff --git a/src/lang/vi-VN/markdown/steam-category.md b/src/lang/vi-VN/markdown/steam-category.md
index 079073dab9..677ea3d0ef 100644
--- a/src/lang/vi-VN/markdown/steam-category.md
+++ b/src/lang/vi-VN/markdown/steam-category.md
@@ -1,21 +1,13 @@
-# Steam category (optional) `[supports variables]`{.noWrap}
+# Steam category`{.noWrap}
+
+Hit the little plus sign to add your first category.
-Also known as "tags", can be used to group apps in Steam. In order to set Steam category, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify categories for "WII" and "GBA" (paired with "ROMS") category:
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
This how "WII" category will look like in Steam:

## Emojis and non-Standard Unicode Characters
+
Please not that this field works just fine with emojis like `🎮` work just fine in category names.
You can find a list of them here: [https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/vi-VN/markdown/steam-directory.md b/src/lang/vi-VN/markdown/steam-directory.md
index b15010e819..bb82bc6a97 100644
--- a/src/lang/vi-VN/markdown/steam-directory.md
+++ b/src/lang/vi-VN/markdown/steam-directory.md
@@ -1,4 +1,4 @@
-# Steam directory `[supports environment variables]`{.noWrap}
+# Steam directory `[supports env variables]`
Must be a valid Steam directory which contains Steam executable. In order for Steam account to be detected, user must have logged in at least once.
diff --git a/src/lang/vi-VN/markdown/steam-parser-input.md b/src/lang/vi-VN/markdown/steam-parser-input.md
index 75f21d380d..1174b71b64 100644
--- a/src/lang/vi-VN/markdown/steam-parser-input.md
+++ b/src/lang/vi-VN/markdown/steam-parser-input.md
@@ -1,4 +1,4 @@
-# Steam Parser specific inputs
+# Steam Parser Specific Inputs
## Find artwork for games only
If enabled SRM will filter out any Steam applications that are not full games, such as demos and tools like `3DMark` or `Wallpaper Engine`.
diff --git a/src/lang/vi-VN/markdown/steam-parser.md b/src/lang/vi-VN/markdown/steam-parser.md
index b158f676a8..5b93d8bc77 100644
--- a/src/lang/vi-VN/markdown/steam-parser.md
+++ b/src/lang/vi-VN/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Steam parser
-This parser imports steam games into SRM. It does not add shortcuts, but it allows you to set the artwork for your steam games. By default the parser will get games from all user accounts in the steam directory specified — if you would prefer to only get the games for a subset of the accounts then specify them in the `User accounts` field.
-
-## Limitations
-Unfortunately for the time being this parser only works for steam games **that are in at least one category**. The reason for this is that Steam only stores your full list of games locally if they are categorized. Sometimes, for unknown reasons, games will be stored locally regardless and the parser will work, but to be safe the easiest thing to do is just **create a Steam Category** that has all of your Steam games in it.
-
-## User accounts (Optional)
-
-Can be used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
-```
-${...}
-```
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
-
- {.fitImage.center}
-
-For example, this is how you specify account for "Banana" and "Apple":
-
-```
-${Banana}${Apple}
-```
-
-In case the [use account credentials](#what-does-use-account-credentials-do) is disabled, you can still limit accounts by specifying their ids directly:
-
-```
-${56489124}${21987424}
-```
-
-## What does "Skip found accounts with missing data directories" do?
-
-Sometimes Steam's file that contains logins, may contain users that do not have data directory created (might have been manually deleted, etc.). You can specify to skip those accounts by enabling this option.
-
-## What does "Use account credentials" do?
-
-Tries to look for account credentials in Steam directory. In other words -- username. Username then can be used to filter accounts without actually having to know their ids.
-
-### Warning!
-
-If Steam has credential saving disabled, this option will prevent finding user accounts.
+This parser imports steam games into SRM so you can manage their artwork. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
\ No newline at end of file
diff --git a/src/lang/vi-VN/markdown/title-from-variable.md b/src/lang/vi-VN/markdown/title-from-variable.md
index bb6e4a52a2..6aa467e98c 100644
--- a/src/lang/vi-VN/markdown/title-from-variable.md
+++ b/src/lang/vi-VN/markdown/title-from-variable.md
@@ -1,43 +1,40 @@
-# Title from custom variable (optional)
+# Title from custom variable
-Allows to overwrite extracted title with a custom variable. This is done right after title extraction, meaning that the replaced title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+Allows one to overwrite the extracted title with a custom variable, pulled from the `json` files described below. This happens right after title extraction, meaning that the new title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+
+Title matching is limited to specific groups of custom variables. For example, this is how you specify groups "FBN" and "PSN":
-Title matching can be limited to specific groups of custom variables. In order to specify groups, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify groups for "RPCS3" and "rpcs3":
```
-${RPCS3}${rpcs3}
+${RPCS3}${PSN}
```
-Make sure you **toggle enable to on**.
-
-
-## Case-insensitive option
-
-If this option is enabled, case-insensitive matching will be done and first matched custom variable will be used.
-
-## Note. This feature is **experimental**
+# How it works
-Basically, it might change in the future release (very unlikelly). Furthermore, currently the only way to add variables is to create/edit `customVariables.json` used by SRM directly.
+There are two variable files, `customVariables.json` which is maintained by SRM (don't change this one, your changes will be overwritten every time SRM restarts) and `userVariables.json` which is where you should put your own variables. Both files are located in SRM's `Config Directory`.
-This file is/shoud be located in SRM's `userData` directory.
-
-SRM will throw error unless the following JSON structure is used:
+Both `customVariables.json` and `userVariables.json` have the same JSON structure. SRM will throw an error unless the following JSON structure is used:
```
{
- "RPCS3": {
+ "Group1": {
"NPUB30698": "Catherine",
"NPUB30024": "1942: Joint Strike",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
+ "Group2": {
+ "The Legend Of Zelda": "The Legend Of Link",
+ ...
},
...
}
```
-Then if your user glob were `MyDir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `MyDir`, you would set the title from custom variable field to `${Custom Stuff}` to obtain a final title of "The Legend of Link".
+Then if your user glob were `romsdir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `romsdir`, you would set the title from custom variable field to `${Group2}` to obtain a title of "The Legend of Link".
+
+## Case-insensitive variables
+
+If enabled, case-insensitive matching will be done and first matched custom variable will be used.
+
+## Skip file if variable not found
+
+If enabled, titles that don't match a variable will be excluded.
diff --git a/src/lang/vi-VN/markdown/title-modifier.md b/src/lang/vi-VN/markdown/title-modifier.md
index 791e000e27..4ecb2d02db 100644
--- a/src/lang/vi-VN/markdown/title-modifier.md
+++ b/src/lang/vi-VN/markdown/title-modifier.md
@@ -1,9 +1,11 @@
# Title modifier `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting can be used to prepend or append desired characters to a title which will be added to Steam. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset. This setting can be used to prepend or append desired characters to a Steam shortcut's `Title`. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+
```
${fuzzyTitle} (1.7.5)
```
+
You can use `${title}`{.noWrap} or any other variable to construct the final title.
This setting influences Steam's APP ID.
diff --git a/src/lang/vi-VN/markdown/uplay-parser-input.md b/src/lang/vi-VN/markdown/uplay-parser-input.md
index f40bbcd928..3a54e84b1a 100644
--- a/src/lang/vi-VN/markdown/uplay-parser-input.md
+++ b/src/lang/vi-VN/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# Unique inputs for UPlay Parser
+# UPlay Parser Specific Inputs
+
## Ubisoft Directory Override
By default Steam ROM Manager assumes your UPlay install is located in `C:\Program Files (x86)\Ubisoft`. This field allows you to override that path if your UPlay installation is elsewhere.
## Launch Via UPlay `[Recommend disabled]`
-
What it sounds like, this toggle let's you set whether games will launch via UPlay or directly from the game's executable.
For UPlay this doesn't matter too much as UPlay games will automatically launch UPlay in the background even when launched from the executable. Steam Overlay will not work when `Launch via UPlay` is enabled, whereas both Steam and Ubisoft overlays work when `Launch via UPlay` is disabled.
diff --git a/src/lang/vi-VN/markdown/user-accounts.md b/src/lang/vi-VN/markdown/user-accounts.md
index 90a49b84f6..c0101b5f74 100644
--- a/src/lang/vi-VN/markdown/user-accounts.md
+++ b/src/lang/vi-VN/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# User accounts (Optional)
+# User accounts
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
-
-`${XXX}${YYY}`
-
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either:
-
-* An `Account ID` (the number that appears as the directory name of your account directory in `/path/to/steam/userdata/`). For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
+This field is used to limit SRM's effects to specific user accounts. It can be set to `Global` or over ridden per parser.
## Warning
-If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and **you must only use** `Account IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and `Choose Accounts` will only be able to pull your `Steam IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Settings` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
diff --git a/src/lang/vi-VN/markdown/user-exceptions.md b/src/lang/vi-VN/markdown/user-exceptions.md
index a53dd0d6d9..a6e47de497 100644
--- a/src/lang/vi-VN/markdown/user-exceptions.md
+++ b/src/lang/vi-VN/markdown/user-exceptions.md
@@ -12,7 +12,7 @@ The `Extracted Title` field matches in two ways:
Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`.
-Exceptions generated from `Preview` will always be in the form `Extracted Title ${id:XXXXXX}`.
+Exceptions generated from `Add Games` will always be in the form `Extracted Title ${id:XXXXXX}`.
## New Display Title
diff --git a/src/lang/zh-CN/langStrings.json b/src/lang/zh-CN/langStrings.json
index 6b5d62b4fb..afa9d3f0aa 100644
--- a/src/lang/zh-CN/langStrings.json
+++ b/src/lang/zh-CN/langStrings.json
@@ -14,19 +14,19 @@
"games": "所有艺术作品"
},
"by": "由",
- "refreshImages": "刷新图像",
- "saveImage": "保存图像到文件",
- "addLocalImages": "添加本地图片",
- "retryDownload": "重试下载",
- "generateAppList": "Parse",
- "saveAppList": "Save to Steam",
- "removeAppList": "Remove from Steam",
- "remainingImages": "Retrieving urls:",
- "stopUrlRetrieving": "Stop",
- "exportSelections": "Export",
- "importSelections": "Import",
- "backButton": "Back",
- "logButton": "Log"
+ "refreshImages": "刷新艺术作品",
+ "saveImage": "保存艺术作品到文件",
+ "addLocalImages": "添加本地艺术作品",
+ "retryDownload": "重试艺术作品下载",
+ "generateAppList": "刷新",
+ "saveAppList": "保存到Steam",
+ "removeAppList": "从Steam中移除",
+ "remainingImages": "获取网址:",
+ "stopUrlRetrieving": "停止",
+ "exportSelections": "导出art",
+ "importSelections": "导入art",
+ "backButton": "返回",
+ "logButton": "日志"
},
"service": {
"info": {
@@ -44,65 +44,79 @@
"removingFromCategories": "删除所有添加的类别信息",
"writingVDF_entries__i": "批量编写 VDF 文件并下载 ${batchSize} 个高分辨率图像。",
"updatingKnownSteamDirList": "更新已知的 Steam 目录列表。",
- "retryingDownload__i": "正在为 \"${appTitle}\" 重试从 \"${imageUrl}\" 下载图片。",
- "disabledConfigurations__i": "${count} 个用户配置被跳过(由用户禁用)\"。",
- "invalidConfigurations__i": "${count} 个用户配置被跳过(无效)。",
+ "retryingDownload__i": "正在重试从“${imageUrl}”为“${appTitle}”下载艺术作品。",
+ "disabledConfigurations__i": "${count} 个用户解析器被跳过(由用户禁用)\"。",
+ "invalidConfigurations__i": "${count} 个用户解析器被跳过(无效)\"。",
"executingParsers": "执行解析器。",
- "shutdownSteam": "请关闭 Steam,如果它正在运行。",
- "noParserConfigurations": "请先在“解析器”菜单中创建解析器配置。",
- "parserFoundNoFiles": "解析器未找到与用户配置匹配的文件。",
- "allImagesRetrieved": "已检索到所有可用的图像网址。",
- "providerTimeout__i": "${provider}\" 请求了 ${time} 秒的超时。",
+ "shutdownSteam": "如果Steam正在运行,请退出Steam",
+ "noParserConfigurations": "请先在“解析器”菜单中创建解析器。",
+ "parserFoundNoFiles": "解析器未找到与用户配置匹配的文件",
+ "allImagesRetrieved": "已检索到所有可用的艺术作品地址。",
+ "providerTimeout__i": "${provider}\" 请求了 ${time} 秒的超时",
"noAccountsWarning": "未找到用户账户。Steam 目录不正确?",
- "preparingExport": "准备导出图像选项。",
- "exportProgress__i": "正在保存图像选项 ${progress}。",
- "readingSelections": "应用导入的图像选项。"
+ "preparingExport": "准备导出艺术作品选项。",
+ "exportProgress__i": "正在保存艺术作品选项 ${progress}。",
+ "readingSelections": "应用导入的艺术作品选项。"
},
"errors": {
- "fatalError": "预览中发生致命错误。请查看事件日志获取详细信息。",
- "fatalError__i": "致命预览错误 ${error}",
+ "fatalError": "添加游戏中发生致命错误。请查看事件日志获取详细信息。",
+ "fatalError__i": "添加游戏中发生致命错误:${error}",
"knownSteamDirListIsEmpty": "已知的 Steam 目录列表为空。",
"steamIsRunning": "无法在 Steam 运行时进行更改!",
"categorySaveError": "更新类别时出错。请查看事件日志获取详细信息。",
- "categorySaveError__i": "类别错误(快捷方式和艺术作品仍将被添加):${error}",
+ "categorySaveError__i": "类别错误(快捷方式和艺术作品仍将被添加):${error}",
"controllerSaveError": "更新控制器模板时出错。请查看事件日志获取详细信息。",
- "controllerSaveError__i": "控制器错误(快捷方式和艺术作品仍将被添加):${error}",
- "retryingDownload__i": "从 \"${imageUrl}\" 下载图片失败,应用程序名称为 \"${appTitle}\"。",
+ "controllerSaveError__i": "控制器错误(快捷方式和艺术作品仍将被添加):${error}",
+ "retryingDownload__i": "从“${imageUrl}”为“${appTitle}”下载艺术作品失败。",
"providerError__i": "从\"${provider}\" 接收到的错误,针对 \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
"unknownProviderError__i": "从 \"${provider}\" 接收到的 \"${title}\" 错误:\n ${error}",
"exportError__i": "无法保存选择的包文件夹:${error}",
"importJSONFailError__i": "无法导入选择,JSON 格式不正确:${error}",
- "importFailError__i": "无法导入图像选项:${error}"
+ "importFailError__i": "无法导入艺术作品选项:${error}"
},
"success": {
"writingVDF_entries": "添加/删除条目完成。",
"removingVDF_entries": "条目已被删除。",
- "exportSuccess__i": "图像选择文件夹已成功保存到 \"${path}\"!",
- "importSelectionsSuccess__i": "成功导入了 ${count} 个图像选项!"
+ "exportSuccess__i": "艺术作品选择文件夹已成功保存到 \"${path}\"!",
+ "importSelectionsSuccess__i": "成功导入了 ${count} 个艺术作品选项!"
}
}
},
"steamParser": {
- "onlyGamesTitle": "仅寻找游戏艺术作品(不包括工具)",
+ "onlyGamesTitle": "只查找游戏的artwork (不包括工具或demo)",
"onlyInstalledTitle": "仅查找已安装标题的艺术作品",
"sourceModsTitle": "寻找非官方源模组的艺术作品",
"errors": {
"directoryInvalid": "> Steam 目录无效。",
- "noSteamAccounts": "> 指定的 Steam 目录中没有帐户。",
+ "noSteamAccounts": "> 指定的 Steam 目录中没有账户。",
"steamChanged__i": "> Steam 更改了内部数据库结构或解析器尝试读取过时的数据库。\n有问题的文件:${file}\n完整错误信息:\n ${error}",
"fatalError__i": "> Steam 解析器发生致命错误:\n ${error}"
}
},
+ "nonSRMShortcutsParser": {
+ "errors": {
+ "noSteamAccounts": "> 指定的 Steam 目录中没有帐户",
+ "fatalError__i": "> 非SRM快捷方式解析器失败,致命错误:\n ${error}"
+ }
+ },
"manualParser": {
"manifestsInputTitle": "列表目录",
- "manifestsInputPlaceholder": "/path/to/your/manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"errors": {
"fatalError__i": "> 手动解析器失败,致命错误:\n ${error}"
}
},
"epicParser": {
"manifestsInputTitle": "Epic 列表目录覆盖",
- "manifestsInputPlaceholder": "/path/to/Manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "",
+ "Linux": ""
+ },
"launcherModeInputTitle": "通过 Epic 启动游戏以使用在线服务。",
"errors": {
"invalidManifestsOverride": "> Manifests Override 不是一个有效的目录。",
@@ -112,25 +126,56 @@
}
},
"legendaryParser": {
+ "launcherModeInputTitle": "通过 Legendary 启动游戏以使用在线服务。",
"legendaryInstalledFileTitle": "Legendary installed.json 路径覆盖",
- "legendaryInstalledFilePlaceholder": "/path/to/legendary/installed.json",
+ "legendaryInstalledFilePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary\\installed.json",
+ "Darwin": "",
+ "Linux": "/path/to/legendary/installed.json"
+ },
+ "legendaryExeOverrideTitle": "Legendary 路径覆盖",
+ "legendaryExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary.exe",
+ "Darwin": "/path/to/legendary",
+ "Linux": "/path/to/legendary"
+ },
"errors": {
"legendaryNotInstalled": "> 找不到已安装的 Legendary installed.json 文件",
"fatalError__i": "> Legendary 解析器发生致命错误:\n ${error}"
}
},
+ "battleNetParser": {
+ "battleExeOverrideTitle": "Battle.net.exe 路径覆盖",
+ "battleExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Battle.net\\Battle.net.exe",
+ "Darwin": "/path/to/Battle.net.app/Contents/MacOS/Battle.net",
+ "Linux": "/path/to/Battle.net"
+ },
+ "errors": {
+ "battleNotCompatible": "> Battle.net 解析器仅在Windows上可用。",
+ "fatalError__i": "> Battle.net 解析器发生致命错误:\n ${error}"
+ }
+ },
"UWPParser": {
"UWPDirTitle": "Xbox Games 目录覆盖",
- "UWPDirPlaceholder": "/path/to/XboxGames 或 /path/to/WindowsApps",
+ "UWPDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\XboxGames\\ or C:\\path\\to\\WindowsApps\\",
+ "Darwin": "/path/to/XboxGames/ or /path/to/WindowsApps/",
+ "Linux": "/path/to/XboxGames/ or /path/to/WindowsApps/"
+ },
"UWPLauncherModeTitle": "以 UWP 形式启动游戏,而不是使用启动器助手。",
"errors": {
- "fatalError__i": "> UWP 解析器在此平台上不兼容。",
- "UWPNotCompatible": "> UWP 解析器发生致命错误:\n ${error}"
+ "fatalError__i": "> 解析器发生致命错误:\n ${error}",
+ "UWPNotCompatible": "> UWP 解析器仅在Windows上可用。"
}
},
"uplayParser": {
"uplayDirTitle": "Ubisoft 目录覆盖",
- "uplayDirPlaceholder": "/path/to/Ubisoft/",
+ "uplayDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Ubisoft\\",
+ "Darwin": "/path/to/Ubisoft/",
+ "Linux": "/path/to/Ubisoft/"
+ },
"launcherModeInputTitle": "通过 Uplay 启动游戏以使用在线服务。",
"errors": {
"invalidManifestsOverride": "> Uplay 目录覆盖不是有效的目录。",
@@ -142,8 +187,14 @@
},
"gogParser": {
"galaxyExeOverrideTitle": "Galaxy 路径覆盖",
- "galaxyExeOverridePlaceholder": "/path/to/GalaxyClient.exe",
+ "galaxyExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\GalaxyClient.exe",
+ "Darwin": "/path/to/GOG Galaxy.app/Contents/MacOS/GOG Galaxy",
+ "Linux": "/path/to/GalaxyClient"
+ },
"launcherModeInputTitle": "通过 GOG Galaxy 启动游戏",
+ "parseLinkedExecsTitle": "从 GOG Galaxy 解析链接的可执行文件",
+ "parseRegistryEntries": "使用注册表而不是Galaxy DB 解析",
"errors": {
"invalidGalaxyExeOverride": "> Galaxy 客户端覆盖不是一个有效的路径。",
"fatalError__i": "> GOG Galaxy 解析器发生致命错误:\n ${error}",
@@ -153,7 +204,11 @@
},
"amazonGamesParser": {
"exeOverrideTitle": "Amazon Games 路径覆盖",
- "exeOverridePlaceholder": "/path/to/Amazon Games.exe",
+ "exeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Amazon Games.exe",
+ "Darwin": "/path/to/Amazon Games.app/Contents/MacOS/Amazon Games",
+ "Linux": "/path/to/Amazon Games"
+ },
"launcherModeInputTitle": "通过 Amazon Games 启动",
"errors": {
"invalidExeOverride": "> Amazon Games Installation Override 不是一个有效的目录。",
@@ -164,7 +219,11 @@
},
"itchIoParser": {
"itchIoAppDataOverrideTitle": "itch.io 应用数据目录覆盖",
- "itchIoAppDataOverridePlaceholder": "/path/to/itch",
+ "itchIoAppDataOverridePlaceholder": {
+ "Windows_NT": "C:\\AppData\\itch\\",
+ "Darwin": "~/Library/Application Support/itch/",
+ "Linux": "~/.config/itch/"
+ },
"itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Windows-on-Linux 安装驱动器重定向",
"itchIoWindowsOnLinuxInstallDriveRedirectPlaceholder": "/mnt/d/",
"errors": {
@@ -177,7 +236,11 @@
},
"eaDesktopParser": {
"eaGamesDirTitle": "EA Games 目录覆盖",
- "eaGamesDirPlaceholder": "/path/to/EA Games/",
+ "eaGamesDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\EA Games\\",
+ "Darwin": "/path/to/EA Games/",
+ "Linux": "/path/to/EA Games/"
+ },
"eaLauncherModeTitle": "通过 EA Desktop 启动游戏",
"errors": {
"fatalError__i": "> EA Desktop 解析器发生致命错误:\n ${error}",
@@ -186,7 +249,7 @@
}
},
"globParser": {
- "inputTitle": "用户的全局变量",
+ "inputTitle": "Search glob",
"inputPlaceholder": "${title}.@(iso|ISO)",
"errors": {
"noTitle__md": "> 文件通配符必须包含 `${title}`!",
@@ -203,7 +266,7 @@
}
},
"globRegexParser": {
- "inputTitle": "用户的全局正则表达式",
+ "inputTitle": "Search glob-regex",
"inputPlaceholder": "${/valid regex/}",
"errors": {
"noRegex__md": "> 文件通配符必须包含 `${regex}`,其中 **regex** 是您的正则表达式!",
@@ -226,19 +289,23 @@
"stylesTitle": "允许的网格样式",
"stylesHeroTitle": "允许的主页样式",
"stylesLogoTitle": "允许的 Logo 样式",
- "stylesIconTitle": "允许的图标样式"
+ "stylesIconTitle": "允许的图标样式",
+ "sizesTitle": "允许横幅尺寸",
+ "sizesHeroTitle": "允许英雄尺寸",
+ "sizesTallTitle": "Allowed portrait dimensions",
+ "sizesIconTitle": "允许的图标尺寸"
},
"logger": {
"component": {
"noMessages": "没有可用的消息",
- "error": "错误",
- "info": "信息",
- "success": "成功!",
- "fuzzy": "模糊",
- "textWrap": "文本换行",
- "autoscroll": "自动滚屏",
- "clearLog": "清除日志",
- "issueDescription": "Thorough issue description with passable spelling.",
+ "error": "Error messages",
+ "info": "Info messages",
+ "success": "Success messages",
+ "fuzzy": "Fuzzy messages",
+ "textWrap": "Wrap text",
+ "autoscroll": "Autoscroll",
+ "clearLog": "Clear",
+ "issueDescription": "使用可通过拼写的透彻问题描述",
"handleExample": "CoolHandle#1234"
}
},
@@ -248,7 +315,7 @@
"failedToDownload__i": "无法下载自定义变量文件。状态:${error}。",
"writingError": "保存自定义变量时发生错误。",
"loadingError": "加载自定义变量时发生错误。",
- "corruptedVariables__i": "保存的自定义变量无效!\n在解决此问题之前,永久变量保存已被禁用。\n您可以尝试手动修复错误(文件 - ${file})\n或在 GitHub 或我们的官方 Discord 频道上寻求帮助:${error}"
+ "corruptedVariables__i": "保存的自定义变量无效!\n在解决此问题之前,永久变量保存已被禁用。\n您可以尝试手动修复错误(文件 - ${file})\n或在 GitHub 或我们的官方 Discord 频道上寻求帮助:${error}"
},
"info": {
"downloaded": "自定义变量文件已下载。"
@@ -258,33 +325,35 @@
"configPresets": {
"service": {
"error": {
- "failedToDownload__i": "无法下载配置预设文件。状态:${error}。",
+ "failedToDownload__i": "无法从 ${commit}下载配置预设文件。状态:${error}。",
"writingError": "保存配置预设时发生错误。",
"loadingError": "加载配置预设时发生错误。",
- "corruptedVariables__i": "保存的配置预设无效!\n在解决此问题之前,永久文件保存已被禁用。\n尝试手动修复错误(文件 - ${file})\n或在我们的官方 Discord 频道或 Github 上寻求帮助:${error}"
+ "corruptedVariables__i": "保存的配置预设无效!\n在解决此问题之前,永久文件保存已被禁用。\n尝试手动修复错误(文件 - ${file})\n或在我们的官方 Discord 频道或 Github 上寻求帮助:${error}"
},
"info": {
- "downloaded": "New config presets have been downloaded."
+ "downloaded": "社区预设已更新"
}
}
},
"settings": {
"component": {
"label": {
- "general": "常规设置",
- "imageProviders": "图像提供者设置",
- "fuzzy": "模糊匹配器设置",
- "environmentVariables": "环境变量设置",
- "communityPresets": "社区变量/预设设置"
+ "general": "常规",
+ "imageProviders": "Artwork Providers",
+ "fuzzy": "模糊匹配",
+ "environmentVariables": "环境变量",
+ "communityPresets": "社区预设和自定义变量"
},
"text": {
+ "autoUpdate": "启动时检查更新",
"offlineMode": "离线模式",
- "removeApps_desc": "所有添加的应用程序条目和控制器",
+ "removeApps_desc": "所有添加的游戏和控制器",
"removeApps_btn": "删除",
- "preloadImages": "立即预加载检索到的图像",
+ "preloadImages": "Artwork加载策略",
"fuzzy_verbose": "记录匹配结果",
- "fuzzy_filter": "筛选图像",
+ "fuzzy_filter": "Filter artwork",
"enabledProviders": "启用的图片提供程序",
+ "dnsServers": "DNS手动覆盖",
"selectLanguage": "选择语言",
"selectTheme": "选择主题",
"resetFuzzy_desc": "模糊列表",
@@ -292,28 +361,38 @@
"resetFuzzy_btn": "重置",
"customVariables_desc": "自定义变量",
"configPresets_desc": "配置预设",
- "showSteamImages": "默认显示当前的 Steam 图片",
+ "showSteamImages": "Show current Steam artwork by default",
"deleteDisabledShortcuts": "删除已禁用解析器的快捷方式",
"clearLogOnTest": "在测试解析器之前自动清除日志",
- "configDir": "打开配置目录"
+ "configDir": "Config Directory",
+ "steamDir": "Steam Directory"
},
"placeholder": {
"noProviders": "无",
- "steamDirectoryWin": "通常是 C:\\Program Files (x86)\\Steam。",
- "steamDirectoryMac": "通常是 ~/Library/Application Support/Steam。",
- "steamDirectoryLinux": "通常是 /home/user/.steam/steam",
"userAccounts": "例如 ${steamlogin}",
- "romsDirectoryWin": "例如 D:\\ROMs",
- "romsDirectoryMac": "例如 ~/ROMs",
- "romsDirectoryLinux": "例如 ~/ROMs",
- "retroarchPathWin": "例如:C:\\Path\\To\\retroarch.exe",
- "retroarchPathLinux": "例如 /path/to/retroarch",
- "retroarchPathMac": "例如 /path/to/retroarch",
- "raCoresDirectoryWin": "通常是 C:\\Users\\ UserName\\AppData\\Roaming\\RetroArch\\cores",
- "raCoresDirectoryLinux": "通常是 /lib/x86_64-linux-gnu/libretro/cores",
- "raCoresDirectoryMac": "通常是 /Applications/Retroarch.app/",
- "localImagesDirectoryWin": "例如:C:\\Path\\To\\LocalArtwork",
- "localImagesDirectoryUnix": "例如 ~/path/to/localartwork"
+ "bySystem": {
+ "Windows_NT": {
+ "steamDirectory": "Typically C:\\Program Files (x86)\\Steam\\",
+ "romsDirectory": "For example D:\\ROMs\\",
+ "retroarchPath": "For example C:\\Path\\To\\Retroarch.exe",
+ "raCoresDirectory": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores\\",
+ "localImagesDirectory": "For example C:\\Path\\To\\LocalArtwork\\"
+ },
+ "Darwin": {
+ "steamDirectory": "Typically ~/Library/Application Support/Steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "例如 /path/to/retroarch",
+ "raCoresDirectory": "Typically /Applications/Retroarch.app/Contents/Resources/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ },
+ "Linux": {
+ "steamDirectory": "Typically /home/user/.steam/steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "例如 /path/to/retroarch",
+ "raCoresDirectory": "Typically /lib/x86_64-linux-gnu/libretro/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ }
+ }
}
},
"service": {
@@ -323,7 +402,7 @@
"error": {
"writingError": "保存用户设置时发生错误。",
"readingError": "读取用户设置时发生错误。",
- "corruptedSettings__i": "保存的应用程序设置无效!\n在解决此问题之前,永久设置保存已禁用。\n尝试手动修复错误(文件 - ${file})\n或在 GitHub 或我们的官方 Discord 频道上寻求帮助:${error}"
+ "corruptedSettings__i": "保存的应用程序设置无效!\n在解决此问题之前,永久设置保存已禁用。\n尝试手动修复错误(文件 - ${file})\n或在 GitHub 或我们的官方 Discord 频道上寻求帮助:${error}"
}
}
},
@@ -331,6 +410,7 @@
"component": {
"about": "关于我们",
"preview": "预览",
+ "view": "查看游戏",
"logger": "日志",
"settings": "设置",
"parsers": "创建解析器",
@@ -352,12 +432,15 @@
"title": "用户异常",
"exclude": "排除标题",
"excludeArtwork": "仅限本地艺术作品"
+ },
+ "placeholder": {
+ "sortBy": "排序方式"
}
},
"service": {
"error": {
"loadingError": "无法加载用户异常。",
- "corruptedExceptions__i": "用户异常导致文件损坏(文件 - ${file})。保存已禁用,完整错误信息为:${error}。",
+ "corruptedExceptions__i": "用户异常导致文件损坏(文件 - ${file})。保存已禁用,完整错误信息为:${error}。",
"writingError": "保存用户异常时发生错误"
}
}
@@ -366,8 +449,8 @@
"component": {
"buttons": {
"save": "保存",
- "copy": "复制",
- "testParser": "测试解析器",
+ "copy": "Clone",
+ "testParser": "Test",
"delete": "删除",
"moveUp": "向上移",
"moveDown": "向下移",
@@ -377,21 +460,21 @@
"toClipboard": "复制配置到剪贴板"
},
"info": {
- "testStarting__i": "测试 \"${title}\" 解析器(SRM版本 - ${version} ${portable})。",
+ "testStarting__i": "测试 \"${title}\" 解析器(SRM版本 - ${version} ${portable})。",
"opSys__i": "操作系统是 ${os}",
"testCompleted": "解析器测试已完成。",
"nothingWasFound": "解析器未找到任何内容。",
- "copiedToClipboard": "配置已复制到剪贴板",
+ "copiedToClipboard": "Parser copied to clipboard",
"userExclusions": "用户排除:",
- "excludedFileInfo__i": "[${index}/${total}]: ${filename}",
+ "excludedFileInfo__i": "[${index}/${total}]: ${filename}\n 不包括 \"${exceptionKey}\"",
"removingControllers__i": "删除解析器控制器模板:${configTitle}",
"fetchingControllerTemplates": "获取控制器模板"
},
"error": {
- "missingAccounts__i": "以下 ${count} 个用户账户未找到(用户必须至少登录一次 Steam):",
+ "missingAccounts__i": "以下 ${count} 个用户账户未找到(用户必须至少登录一次 Steam):",
"missingAccountInfo__i": " ${name}",
- "noAccountsWarning": "警告!未找到用户帐户,可能是由于以下原因之一:\n- Steam 目录不正确;\n- 没有任何用户登录过;\n- Steam 没有保存用户凭据(“显示高级选项-> 用户帐户-> 使用帐户凭据”)。\n如果您看到此消息,则无法为此配置生成预览。",
- "cannotParseUserIDs": "解析用户帐户时出错:",
+ "noAccountsWarning": "警告!未找到用户帐户,可能是由于以下原因之一:\n- Steam 目录不正确;\n- 没有任何用户登录过;\n- Steam 没有保存用户凭据\n如果您看到此消息,添加游戏将跳过此配置",
+ "cannotParseUserIDs": "解析用户账户时出错:",
"failedToMatch": "匹配失败:",
"failedFileInfo__i": "[${index}/${total}]: ${filename}",
"testFailed": "测试失败",
@@ -403,11 +486,11 @@
"cannotRemoveControllers": "无法从无效的 Steam 目录中删除控制器!"
},
"success": {
- "foundAccounts__i": "发现 ${count} 个可用的用户账户:",
+ "foundAccounts__i": "发现 ${count} 个可用的用户账户(多个):",
"foundAccountInfo__i": " ${name} (steamID64: ${steamID64}, accountID: ${accountID})",
- "steamCategory__i": "[${index}/${total}]: Steam 分类 - ${steamCategory}",
- "steamCategoryInfo__i": "[${index}/${total}]: ${steamCategory}",
- "exceptionKey__i": "[${index}/${total}]: Exception ID - ${appid}",
+ "steamCategories__i": "[${index}/${total}]: Steam 分类 - ${steamCategories}",
+ "steamCategoriesInfo__i": "[${index}/${total}]: ${steamCategories}",
+ "exceptionKey__i": "[${index}/${total}]: 异常 ID - ${appid}",
"appId__i": "[${index}/${total}]: Legacy App ID - ${appid}",
"shortAppId__i": "[${index}/${total}]: App ID - ${appid}",
"extractedTitle__i": "[${index}/${total}]: 提取标题 - ${title}",
@@ -416,60 +499,84 @@
"filePath__i": "[${index}/${total}]: 文件路径 - ${filePath}",
"startDir__i": "[${index}/${total}]: 开始目录 - ${startDir}",
"completeShortcut__i": "[${index}/${total}]: 完成快捷方式 - ${shortcut}",
- "firstImageQuery__i": "[${index}/${total}]: 图像查询 - ${query}",
+ "firstImageQuery__i": "[${index}/${total}]: Artwork queries - ${query}",
+ "imagePool__i": "[${index}/${total}]: Artwork pool - ${imagePool}",
"imageQueries__i": "[${index}/${total}]: ${query}",
"defaultImage__i": "[${index}/${total}]: Resolved fallback ${artworkType}:\n[${index}/${total}]: ${image}",
"resolvedDefaultImage__i": "[${index}/${total}]: Fallback ${artworkType}:",
- "localImages__i": "[${index}/${total}]: Resolved ${artworkType}:",
- "resolvedLocalImages__i": "[${index}/${total}]: ${artworkType} glob:",
+ "localImages__i": "[${index}/${total}]: Resolved local ${artworkType}:",
+ "resolvedLocalImages__i": "[${index}/${total}]: Local ${artworkType} glob:",
"indexInfo__i": "[${index}/${total}]: ${indexed}",
"removedControllers__i": "成功删除解析器控制器:${configTitle}",
"fetchedTemplates": "获取所有控制器模板"
},
"label": {
"parserType": "解析器类型",
- "configTitle": "配置标题",
- "steamCategory": "Steam 类别",
+ "configTitle": "Parser title",
+ "steamCategories": "Steam收藏",
"executableModifier": "可执行修饰符",
"executableLocation": "可执行文件",
"romDirectory": "ROM 目录",
"steamDirectory": "Steam 目录",
"startInDirectory": "\"Start In\" 目录",
- "userAccounts": "用户帐户",
+ "userAccounts": "用户账户",
"titleFromVariable": "自定义变量的标题",
"titleModifier": "标题修饰词",
"fuzzyMatch": "模糊匹配",
"executableArgs": "命令行参数",
- "onlineImageQueries": "在线图像查询",
- "imagePool": "图像库",
- "imageProviders": "图像提供方",
- "defaultImage__i": "Fallback ${artworkType}",
+ "onlineImageQueries": "Artwork provider search queries",
+ "imagePool": "Artwork pool",
+ "imageProviders": "Artwork providers",
+ "defaultImage__i": "反馈",
"localImages__i": "Local ${artworkType} glob"
},
"placeholder": {
"parserType": "选择解析器...",
- "configTitle": "My Awesome Parser",
- "steamCategory": "${cat1}${cat2}",
- "steamDirectory": "${steamdirglobal} 或 /path/to/steam",
- "userAccounts": "${steamuser1}${steamuser2} or ${${accountsglobal}}",
- "titleFromVariable": "${myvariable}",
+ "configTitle": "我很棒的解析器",
+ "steamDirectory": {
+ "Windows_NT": "${steamdirglobal} or C:\\path\\to\\Steam\\",
+ "Darwin": "${steamdirglobal} or /path/to/Steam/",
+ "Linux": "${steamdirglobal} or /path/to/Steam/"
+ },
+ "titleFromVariable": "${variableGroup1}${variableGroup2}",
"titleModifier": "${fuzzyTitle} 或 ${title}",
- "defaultImage__i": "/path/to/fallback_${artworkType}.png",
- "localImages__i": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
- "romDirectory": "/path/to/games/",
+ "defaultImage__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\fallback_${artworkType}.png",
+ "Darwin": "/path/to/fallback_${artworkType}.png",
+ "Linux": "/path/to/fallback_${artworkType}"
+ },
+ "localImages__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\art\\\\${artworkType}\\\\\\${title}.@(png|jpg)",
+ "Darwin": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
+ "Linux": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)"
+ },
+ "onlineImageQueries": "${${fuzzyTitle}} or ${${title}}${${fuzzyTitle}}",
+ "imagePool": "${fuzzyTitle}",
+ "romDirectory": {
+ "Windows_NT": "C:\\path\\to\\games\\",
+ "Darwin": "/path/to/games/",
+ "Linux": "/path/to/games/"
+ },
"glob": "${title}.@(iso|ISO)",
- "executableLocation": "示例: /path/to/emulator.exe",
- "executableArgs": "--arg1 --arg2",
+ "executableLocation": {
+ "Windows_NT": "C:\\path\\to\\emulator.exe",
+ "Darwin": "/path/to/emulator.app",
+ "Linux": "/path/to/emulator"
+ },
+ "executableArgs": "--arg1 --arg2 --launch \"${filePath}\"",
"executableModifier": "\"${exePath}\"",
- "startInDirectory": "/path/to/start/in/dir",
+ "startInDirectory": {
+ "Windows_NT": "C:\\path\\to\\start-in-dir\\",
+ "Darwin": "/path/to/start-in-dir/",
+ "Linux": "/path/to/start-in-dir/"
+ },
"imageProviders": "无",
"multiAPIPlaceholder": "无筛选条件"
},
"text": {
- "tryToMatchTitle": "从自定义变量启用标题",
"skipFileIfVariableWasNotFound": "如果未找到变量,则跳过文件。",
"caseInsensitiveVariables": "不区分大小写的变量",
- "shortcut_passthrough": "跟随 .lnk 或 .desktop 到目标(仅适用于 Windows 和 Linux)",
+ "shortcut_passthrough": "跟随 .lnk 或 .desktop 到目标(仅适用于 Windows 和 Linux)",
"fuzzy_use": "使用模糊匹配",
"fuzzy_removeCharacters": "积极匹配",
"fuzzy_removeBrackets": "删除 (...) 和 [...] 括号",
@@ -482,38 +589,34 @@
},
"service": {
"info": {
- "updatingConfigurations": "使用新字段更新用户配置"
+ "updatingConfigurations": "Updating user's parsers with new fields"
},
"error": {
- "savingConfiguration": "保存用户配置时遇到错误!",
- "readingConfiguration": "读取用户配置时遇到错误!",
+ "savingConfiguration": "Error encountered while saving user's parsers!",
+ "readingConfiguration": "Error encountered while loading user's parsers!",
"parserTypeMissing": "未指定解析器类型,无法保存",
- "corruptedConfiguration__i": "一个或多个保存的解析器配置无效!\n在此问题得到解决之前,永久配置保存被禁用。\n尝试手动修复错误(文件 - ${file})\n或在我们的官方 Discord 频道上寻求帮助:${error}。",
- "fetcingTemplates": "获取控制器模板时遇到错误!"
+ "corruptedConfiguration__i": "One or more saved parsers are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
+ "fetchingTemplates": "Error encountered while fetching controllers templates!"
},
"validationErrors": {
"parserType__md": "> 解析器类型不正确!",
- "configTitle__md": "> 配置标题是必填项!",
- "parserId__md": "> 解析器 ID 丢失,出现了严重的问题。",
+ "configTitle__md": "> Parser title field cannot be blank!",
+ "parserId__md": ">解析器 ID 丢失,出现了严重的问题。",
"parserInput": {
"noInput": "没有可用的输入!",
"inputNotAvailable__i": "${name}\" 输入不可用!",
"incorrectParser": "错误的解析器!"
},
"romDir__md": "> ROM目录无效!",
- "userAccounts__md": "> Steam 解析器需要 `用户账户` 字段",
+ "userAccounts__md": "> 用户帐户字段是必填的 !",
"steamDir__md": "> Steam 目录无效!",
"startInDir__md": "> \"Start In\" 目录无效!",
"executable__md": "> 可执行文件无效!",
- "imagePool__md": "> 图片池不能为空!",
- "defaultImage__md": "> 默认图像路径无效!",
- "titleModifier__md": "> 标题修饰符不能为空!",
- "executableModifier__md": "> 可执行文件修饰符不能为空!",
- "variableString__md": "> `${` and `}` 的数量不匹配。如果您想将它们用作字符,请使用 `\\` 转义 `${` or `}`。",
- "imageProviders__md": "> 图像提供者类型不正确!",
- "unhandledValidationKey__md": "> 输入验证未处理",
- "genericDir__md": "> 目录无效",
- "genericPath__md": "> 路径无效"
+ "defaultImage__md": "> Fallback artwork is an invalid path!",
+ "variableString__md": "> Uneven number of `${` and `}` pairs! Use `\\` to escape `${` or `}` if you want to use them as characters.",
+ "unhandledValidationKey__md": "> Input's validation is unhandled!",
+ "genericDir__md": "> Directory is invalid!",
+ "genericPath__md": "> Path is invalid!"
},
"text": {
"noTitle": "无标题!"
@@ -567,16 +670,16 @@
"error": {
"readingVdf__i": "无法从 \"${filePath}\" 读取。\n ${error}",
"writingVdf__i": "无法写入 \"${filePath}\"。\n ${error}",
- "skippingDMCA__i": "跳过 DMCA 受限制的图片 ${title}",
+ "skippingDMCA__i": "Skipping DMCA'd artwork for ${title}",
"corruptedVdf__i": "\"${filePath}\" 已损坏。\n ${error}",
"creatingBackup__i": "无法为 \"${filePath}\" 创建备份。\n ${error}",
- "unsupportedMimeType__i": "Mime类型(${type})不受支持(标题 - \"${title}\")。",
- "imageError__i": "在保存/下载 \"${title}\" 的图片时发生错误。URL: ${url}。${error}\n ${error}"
+ "unsupportedMimeType__i": "Mime类型${type}不受支持(标题 - \"${title}\")",
+ "imageError__i": "Error occurred while saving/downloading artwork for \"${title}\". Url: ${url}.\n ${error}"
}
},
"helpers": {
"error": {
- "noUserIdsInDir__i": "${steamDirectory}\" 不包含用户 ID。"
+ "noUserIdsInDir__i": "“${steamDirectory}\" 不包含用户 Id。"
}
}
}
diff --git a/src/lang/zh-CN/markdown/UWP-parser-input.md b/src/lang/zh-CN/markdown/UWP-parser-input.md
index 69d2a18556..7bc3eca085 100644
--- a/src/lang/zh-CN/markdown/UWP-parser-input.md
+++ b/src/lang/zh-CN/markdown/UWP-parser-input.md
@@ -1,4 +1,4 @@
-# UWP 解析器的独特输入
+#
## 游戏目录
diff --git a/src/lang/zh-CN/markdown/UWP-parser.md b/src/lang/zh-CN/markdown/UWP-parser.md
index 5480f4bfdf..b49c2b852e 100644
--- a/src/lang/zh-CN/markdown/UWP-parser.md
+++ b/src/lang/zh-CN/markdown/UWP-parser.md
@@ -4,4 +4,4 @@
## 兼容性
-该解析器仅适用于 `Windows 10` 和 `Windows 11`。
\ No newline at end of file
+该解析器仅适用于 `Windows 10` 和 `Windows 11`。
diff --git a/src/lang/zh-CN/markdown/about.md b/src/lang/zh-CN/markdown/about.md
index 23235facbf..735a2fb4b0 100644
--- a/src/lang/zh-CN/markdown/about.md
+++ b/src/lang/zh-CN/markdown/about.md
@@ -16,7 +16,7 @@
## 支持
-帮助支持 Steam ROM Manager 的持续进展:
+帮助支持 Steam ROM Manager 的持续进展:
@@ -43,8 +43,9 @@
* `CarJem`{.noWrap} - 添加了手动解析器。
* `MattMckenzy`{.noWrap} - 增加了导入和导出图像选择的功能。
* `Apalatn`{.noWrap} - 添加了一个安装驱动器重定向选项到 itch.io 解析器。
-* `OneMoreByte` - 使 itch.io 解析器在 Linux 和 Mac 上工作。
-* `UndarkAido` - 为 Linux 的 .desktop 快捷方式添加了快捷通道。
+* `OneMoreByte`{.noWrap} - 使 itch.io 解析器在 Linux 和 Mac 上工作。
+* `UndarkAido`{.noWrap} - 为 Linux 的 .desktop 快捷方式添加了快捷通道。
+* `HazardousBackup` {.noWrap} - 添加了另一种选项,用GOG解析器来解析注册表的选项来代替GOG数据库
### 社区
* `HE Spoke`{.noWrap} - 围绕 SRM 创建了一个社区。 [Steam](https://steamcommunity.com/groups/steamrommanager) 和 [Discord](https://discord.gg/bnSVJrz) 群组的创建者。 也帮助用户在 [Discord](https://discord.gg/bnSVJrz) 中设置 SRM。
diff --git a/src/lang/zh-CN/markdown/amazon-games-parser-input.md b/src/lang/zh-CN/markdown/amazon-games-parser-input.md
index 526ffe09e4..af9dc54641 100644
--- a/src/lang/zh-CN/markdown/amazon-games-parser-input.md
+++ b/src/lang/zh-CN/markdown/amazon-games-parser-input.md
@@ -1,4 +1,4 @@
-# Amazon Games 解析器特定输入
+#
## Amazon Games 路径覆盖
默认情况下,Steam Rom Manager 假设您的 Amazon Games 安装位于 `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`。 如果您的 Amazon Games 安装在其他位置,此字段允许您覆盖该路径。
diff --git a/src/lang/zh-CN/markdown/amazon-games-parser.md b/src/lang/zh-CN/markdown/amazon-games-parser.md
index d4d3d768c5..d6e884db73 100644
--- a/src/lang/zh-CN/markdown/amazon-games-parser.md
+++ b/src/lang/zh-CN/markdown/amazon-games-parser.md
@@ -1,3 +1,3 @@
# Amazon Games 解析器
-该解析器从 `Amazon Games` 导入游戏,以便选择艺术品并将其添加到 Steam 中。 如果不起作用,那是因为 Amazon Games 已经改变了他们的游戏数据库或者 fuel.json 文件结构,在这种情况下,请让 SRM 的开发人员知道,我们会解决这个问题。
\ No newline at end of file
+该解析器从 `Amazon Games` 导入游戏,以便选择艺术品并将其添加到 Steam 中。 如果不起作用,那是因为 Amazon Games 已经改变了他们的游戏数据库或者 fuel.json 文件结构,在这种情况下,请让 SRM 的开发人员知道,我们会解决这个问题。
diff --git a/src/lang/zh-CN/markdown/battle-net-parser-input.md b/src/lang/zh-CN/markdown/battle-net-parser-input.md
new file mode 100644
index 0000000000..1926a1517c
--- /dev/null
+++ b/src/lang/zh-CN/markdown/battle-net-parser-input.md
@@ -0,0 +1,3 @@
+#
+
+##
diff --git a/src/lang/zh-CN/markdown/battle-net-parser.md b/src/lang/zh-CN/markdown/battle-net-parser.md
new file mode 100644
index 0000000000..792d600548
--- /dev/null
+++ b/src/lang/zh-CN/markdown/battle-net-parser.md
@@ -0,0 +1 @@
+#
diff --git a/src/lang/zh-CN/markdown/config-title.md b/src/lang/zh-CN/markdown/config-title.md
index 1a3866bfbc..792d600548 100644
--- a/src/lang/zh-CN/markdown/config-title.md
+++ b/src/lang/zh-CN/markdown/config-title.md
@@ -1,3 +1 @@
-# 配置标题
-
-将用户配置保存为的标题。 不必唯一,但是必须存在。
\ No newline at end of file
+#
diff --git a/src/lang/zh-CN/markdown/controller-templates.md b/src/lang/zh-CN/markdown/controller-templates.md
index 59c6f983f9..ee3d0ecea8 100644
--- a/src/lang/zh-CN/markdown/controller-templates.md
+++ b/src/lang/zh-CN/markdown/controller-templates.md
@@ -17,10 +17,10 @@
目前,SRM 会拉取每个控制器的所有默认 (由 Valve 制作) 模板以及所有以 `(SRM)` 结尾的用户定义模板。
-* 选择您的模板并保存解析器。 一旦您在预览中点击 `保存应用列表`,控制器配置集将被应用。
+* 选择您的模板并保存解析器。 一旦您在添加游戏中点击 `保存到steam`,控制器配置集将被应用。
* 要取消控制器配置,您可以从全局设置中 `删除所有已添加的应用程序条目` (这将删除 SRM 对您的 Steam 数据所做的所有更改),或在解析器中点击 `取消所有控制器` (这仅会删除指定用户和 Steam 目录下的控制器设置)。
-完成后,您可以像往常一样生成和保存预览,并将模板应用于解析器中的所有标题。
+完成后,您可以像往常一样解析和添加游戏,并将模板应用于解析器中的所有标题。
diff --git a/src/lang/zh-CN/markdown/default-image.md b/src/lang/zh-CN/markdown/default-image.md
index 18a12d1abd..f2c7e24dd0 100644
--- a/src/lang/zh-CN/markdown/default-image.md
+++ b/src/lang/zh-CN/markdown/default-image.md
@@ -1,4 +1,4 @@
-# 默认图片(可选)`[支持变量]`{.noWrap}
+#
允许使用本地存储的图像作为默认/备用图像。 使用一个 [特殊的全局输入](#special-glob-input) 字符串来检索图像。 仅使用第一个检索到的图像。
diff --git a/src/lang/zh-CN/markdown/ea-desktop-parser-input.md b/src/lang/zh-CN/markdown/ea-desktop-parser-input.md
index 803b31ed9e..3eb67d5be1 100644
--- a/src/lang/zh-CN/markdown/ea-desktop-parser-input.md
+++ b/src/lang/zh-CN/markdown/ea-desktop-parser-input.md
@@ -1,9 +1,9 @@
-# EA Desktop 解析器特定输入
+#
-## EA Games Directory Override
+## EA Games 目录覆盖
默认情况下,Steam ROM Manager 假定您的 `EA Desktop` 游戏已安装在 `C:\Program Files\EA Games\。 该字段允许您更改游戏安装的位置,例如`D:\Games\EA Games。
-## Launch Games Via EA Desktop
+## 通过 EA Desktop 启动游戏
如果启用了 SRM,它将添加一个快捷方式到 `origin2://game/launch/?offerIds=${gameid}` 而不仅仅是游戏的可执行文件。 这将确保游戏通过 EA 启动,并且可以访问在线服务。
-`需要这个才能添加 EA Play 游戏。 This is required to add EA Play games. EA Play games will not be detected if this is not toggled on.`
+`需要这个才能添加 EA Play 游戏。 如果未切换此选项,则无法检测到 EA Play 游戏。`
diff --git a/src/lang/zh-CN/markdown/epic-parser-input.md b/src/lang/zh-CN/markdown/epic-parser-input.md
index 8389b824e8..bffd51c4b9 100644
--- a/src/lang/zh-CN/markdown/epic-parser-input.md
+++ b/src/lang/zh-CN/markdown/epic-parser-input.md
@@ -1,4 +1,4 @@
-# Epic Games Store 特定输入
+#
## 列表目录覆盖
diff --git a/src/lang/zh-CN/markdown/executable-arguments.md b/src/lang/zh-CN/markdown/executable-arguments.md
index ed548a403e..28939cbe18 100644
--- a/src/lang/zh-CN/markdown/executable-arguments.md
+++ b/src/lang/zh-CN/markdown/executable-arguments.md
@@ -1,4 +1,4 @@
-# 命令行参数(可选)`[支持变量]`{.noWrap}
+#
附加到可执行文件以生成最终快捷方式的参数。 大多数情况下,您将希望使用提供的解析器变量进行设置。
@@ -49,7 +49,7 @@
### Nestopia (NES/Famicom)
```
-"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
+"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
```
### higan (NES/Famicom, SNES/Famicom, Gameboy, Gameboy Color, Gameboy Advance)
@@ -132,7 +132,7 @@
| `${romDir}` | ROM 目录 |
| `${steamDir}` | Steam 目录 |
| `${startInDir}` | "Start In" 目录 |
-| `${fileDir}` | 由解析器返回的文件目录。 |
+| `${fileDir}` | 解析器或目录返回的文件 |
如果可执行目录输入留空,则 **empty**,`${exeDir}`{.noWrap} 等于 `${fileDir}`{.noWrap}。 此外,如果 “StartIn” 目录为 **空**,则 `${startInDir}`{.noWrap} 等于 `${exeDir}`{.noWrap}。
@@ -186,7 +186,8 @@
### 函数变量示例
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables: Then these variables: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量:
+Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables: Then these variables: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量: 然后这些变量:
+
```
${/.*/|${title}} //匹配所有内容
${/(.*)/|${title}} //捕获所有内容
@@ -196,7 +197,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //捕获“Disc…”部分并将其
${rdc|${title}} //替换变音符号(在本例中:é -> e)
file${os:linux|.so|${os:win|.dll}} //选择适用于操作系统的正确文件扩展名
```
+
将被替换为以下内容:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/zh-CN/markdown/executable-location.md b/src/lang/zh-CN/markdown/executable-location.md
index 41e0a09f75..478451e078 100644
--- a/src/lang/zh-CN/markdown/executable-location.md
+++ b/src/lang/zh-CN/markdown/executable-location.md
@@ -1,4 +1,4 @@
-# 可执行文件(可选)`[支持环境变量]`
+#
模拟器可执行文件的路径。 可以是文件或任何有效的系统路径。
diff --git a/src/lang/zh-CN/markdown/executable-modifier.md b/src/lang/zh-CN/markdown/executable-modifier.md
index 5f49cd52fa..a9f162dd60 100644
--- a/src/lang/zh-CN/markdown/executable-modifier.md
+++ b/src/lang/zh-CN/markdown/executable-modifier.md
@@ -1,102 +1,21 @@
# 可执行文件修饰符`[支持变量]`{.noWrap}
-默认值为 `"${exePath}"`{.noWrap}。 此设置可用于在 Steam (`目标` 属性) 中添加要执行的字符前缀或后缀。 例如,假设 `${exePath}`{.noWrap} 是 `C:\RetroArch\retroarch.exe`,您可以通过将值设置为 `"cmd" /k start /min` 来添加它:
-```
-"cmd" /k start /min "${exePath}"
-```
-你可以使用任何其他变量来构建最终的可执行文件。
-
-这个设置会影响 Steam 的应用 APP ID。
-
-
-## 快捷方式直通
-If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the target of that shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser. 如果您想添加可执行参数,请将它们添加到快捷方式的目标中,或者使用解析器中的“命令行参数”字段。 如果您想添加可执行参数,请将它们添加到快捷方式的目标中,或者使用解析器中的“命令行参数”字段。
-
-## 目录变量
-
-| 变量 (大小写不敏感) | 对应的值 |
-| ---------------:|:------------- |
-| `${exeDir}` | 可执行文件目录: |
-| `${romDir}` | ROM 目录 |
-| `${steamDir}` | Steam 目录 |
-| `${startInDir}` | "Start In" 目录 |
-| `${fileDir}` | 由解析器返回的文件目录。 |
-
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}. 此外,如果“StartIn”目录为**空**,则`${startInDir}`{.noWrap}等于`${exeDir}`{.noWrap}。 此外,如果“StartIn”目录为**空**,则 `${startInDir}`{.noWrap} 等于 `${exeDir}`{.noWrap}。
-
-## 名称变量
-
-| 变量 (大小写不敏感) | 对应的值 |
-| -------------:|:----------------- |
-| `${exeName}` | 可执行文件名称 (无扩展名) |
-| `${fileName}` | 由解析器返回的文件名(不带扩展名) |
-
-如果可执行目录输入 **留空**,则 `${exeName}`{.noWrap} 等于 `${fileName}`{.noWrap}。
-
-## 扩展变量
+This field can be used to prepend or append desired characters to the executable which will be added to the Steam shortcut's `Target` property.
-| 变量 (大小写不敏感) | 对应的值 |
-| ------------:|:---------------- |
-| `${exeExt}` | 可执行文件的扩展名(带点) |
-| `${fileExt}` | 由解析器返回的文件扩展名(带点) |
-
-如果可执行目录输入**留空**,则 `${exeExt}`{.noWrap} 等于 `${fileExt}`{.noWrap}。
-
-## 路径变量
-
-| 变量 (大小写不敏感) | 对应的值 |
-| -------------:|:-------------- |
-| `${exePath}` | 可执行文件的完整路径 |
-| `${filePath}` | 由解析器返回的文件的完整路径 |
-
-如果可执行目录输入 **留空**,则 `${exePath}`{.noWrap} 等于 `${filePath}`{.noWrap}。
+```
-## 解析器变量
+```
-| 变量 (大小写不敏感) | 对应的值 |
-| ---------------:|:------------- |
-| `${title}` | 提取的标题 |
-| `${fuzzyTitle}` | 模糊匹配的标题 |
-| `${finalTitle}` | 标题是标题修改器的最终结果 |
+:
-如果模糊匹配 **失败** 或被 **禁用**,则 `${fuzzyTitle}`{.noWrap} 等于 `${title}`{.noWrap}。
+```
-## 函数变量
+```
-| 变量 (大小写不敏感) | 对应的函数 |
-| --------------------------------------------:|:--------------------------------------------------- |
-| `${regex\|input\|替换(可选)}` | 在输入上执行正则表达式。 支持 `u`、`g` 和 `i` 标志(捕获的组将被连接,除非提供了替换)。 |
-| `${uc\|input}` | 大写变量。 将输入转换为大写 |
-| `${lc\|input}` | 小写变量。 将输入转换为小写 |
-| `${cv:group\|input}` | 使用匹配的自定义变量更改输入(组是可选的) |
-| `${rdc\|input}` | 用拉丁字母替换带音符的输入字符 |
-| `${os:[win\|mac\|linux]\|处于匹配\|无匹配(可选)}` | 如果操作系统匹配,则使用`匹配`值,否则使用`不匹配`。 |
+你可以使用任何其他变量来构建最终的可执行文件。
-### 函数变量示例
+这个设置会影响 Steam 的应用 APP ID。
-假设 `${title}` 变量等于 `Pokémon (USA) (Disc 1).iso`。 然后这些变量:
-```
-${/.*/|${title}} //匹配所有内容
-${/(.*)/|${title}} //捕获所有内容
-${/(\(.*?\))/|${title}|} //捕获所有括号并替换为空
-${/(\(Disc\s?[0-9]\))/|${title}} //捕获“Disc…”部分
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //捕获“Disc…”部分并将其转换为大写字母
-${rdc|${title}} //替换变音符号(在本例中:é -> e)
-file${os:linux|.so|${os:win|.dll}} //选择适用于操作系统的正确文件扩展名
-```
-将被替换为以下内容:
-```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+## 快捷方式直通
---在 Linux:
-file.so
---在 Windows:
-file.dll
---在 macOS:
-file
-```
+。。。。。。。。。。。。
diff --git a/src/lang/zh-CN/markdown/glob-parser-input.md b/src/lang/zh-CN/markdown/glob-parser-input.md
index 79bdd494a7..3318805d42 100644
--- a/src/lang/zh-CN/markdown/glob-parser-input.md
+++ b/src/lang/zh-CN/markdown/glob-parser-input.md
@@ -1,14 +1,14 @@
# Glob 解析器特定输入
-## 用户的全局变量
+## 用户的通配符
这是您创建从文件路径提取标题的 glob 的位置。 如果您不知道如何构建通配符,请阅读所有的 [特殊通配符](#special-glob-characters)。
## 它是如何工作的?
-除了特殊的 glob 字符外,glob 解析器还要求您输入 `${title}`{.noWrap} 变量。 解析器将定位其位置在您的 **全局变量** 中,例如:
+除了特殊的 glob 字符外,glob 解析器还要求您输入 `${title}`{.noWrap} 变量。 解析器将定位其位置在您的 **glob** 中,例如:
-| 用户的全局变量 | 位置 |
+| 用户的glob | 位置 |
| ---------------------- | ---------- |
| `${title}/*/*.txt` | 从左边开始的第一层级 |
| `{*,*/*}/${title}.txt` | 从右边开始的第一层级 |
diff --git a/src/lang/zh-CN/markdown/glob-parser.md b/src/lang/zh-CN/markdown/glob-parser.md
index 952ff0a744..2ccb35adc5 100644
--- a/src/lang/zh-CN/markdown/glob-parser.md
+++ b/src/lang/zh-CN/markdown/glob-parser.md
@@ -1,4 +1,4 @@
-# 全局解析器
+# 通配解析器
一个基于通配符的路径解析器,用于从文件路径中提取标题。
diff --git a/src/lang/zh-CN/markdown/glob-regex-parser-input.md b/src/lang/zh-CN/markdown/glob-regex-parser-input.md
index 4989dea149..a1efb9bf1c 100644
--- a/src/lang/zh-CN/markdown/glob-regex-parser-input.md
+++ b/src/lang/zh-CN/markdown/glob-regex-parser-input.md
@@ -1,4 +1,4 @@
-# Glob-regex 解析器特定输入
+#
## 用户的 glob-regex
@@ -6,7 +6,7 @@
## 它是如何工作的?
-In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example: 解析器将定位其位置在您的全局变量中,例如: 解析器将定位其位置在您的全局变量中,例如: 解析器将定位其位置在您的全局变量中,例如: 解析器将定位其位置在您的全局变量中,例如: 解析器将定位其位置在您的全局变量中,例如: 解析器将定位其位置在您的全局变量中,例如: 解析器将定位其位置在您的全局变量中,例如: 解析器将定位其位置在您的全局变量中,例如: 解析器将定位其位置在您的全局变量中,例如: 解析器将定位其位置在您的全局变量中,例如: 解析器将定位其位置在您的全局变量中,例如: 解析器将定位其位置在您的全局变量中,例如: 解析器将定位其位置在您的全局变量中,例如: 解析器将定位其位置在您的全局变量中,例如: 解析器将定位其位置在您的全局变量中,例如: 解析器将定位其位置在您的全局变量中,例如: 解析器将定位其位置在您的全局变量中,例如: 解析器将定位其位置在您的全局变量中,例如:
+除了常规的 glob 特殊字符外,glob 解析器还要求你输入一个 `\${/.../}`{.noWrap} 格式的变量。 解析器将找到它在glob中的位置,例如:
| 用户的 glob | 位置 |
| --------------------- | ---------- |
@@ -18,7 +18,7 @@ In addition to special glob characters, glob parser requires you to enter `${/..
## 正则表达式后处理
-After title extraction, title will be processed by a regular expression. 有三种方法可以编写正则表达式。 有三种方法可以编写正则表达式。
+在标题提取后,将通过正则表达式对其进行处理。 有三种方法可以编写正则表达式。
### 不带捕获的正则表达式:`${/.+/}`{.noWrap}
@@ -30,11 +30,11 @@ After title extraction, title will be processed by a regular expression. 有三
```
${/(.*?)\s*\[USA\]\s*(.+)|(.*)/}
```
-从左到右,第一个匹配所有正确捕获的分组将被使用。 First match group (from left to right) with all correct captures will be used. 此外,所有捕获组将被**合并**。
+从左到右,第一个匹配所有正确捕获的分组将被使用。 此外,所有捕获组将被**合并**。
### 带有捕获括号和替换文本的正则表达式:`${/(.+)/|...}`{.noWrap}
-Similar to [regular expression with capture brackets](#regular-expression-with-capture-brackets) except for how it handles captured groups. 替换文本可以用于移动捕获的组。 替换文本可以用于移动捕获的组。 例如:
+与 [带有捕获括号的正则表达式](#regular-expression-with-capture-brackets) 类似,但处理捕获组的方式不同。 替换文本可以用于移动捕获的组。 例如:
```
${/(.*?)\s*\[USA\]\s*(.+)/|Second capture group: "$2" precedes the first one, which is "$1" }
```
@@ -50,4 +50,4 @@ ${/(.*?)\s*\[USA\]\s*(.+)/|Second capture group: "$2" precedes the first one, wh
## 限制
-位置提取存在一些限制 -- 如果无法提取位置,则 glob 无效。 Position extraction comes with some limitations -- glob is invalid if position can not be extracted. Most of the time you will be warned about what you can't do, however, if you find a combination that is allowed, but produces incorrect titles please make an issue at [github](https://github.com/FrogTheFrog/steam-rom-manager/issues).
+位置提取存在一些限制 -- 如果无法提取位置,则 glob 无效。 大多数情况下,您会收到有关不能执行的警告。但是,如果您发现一种允许的组合却产生了不正确的标题,请在 [GitHub](https://github.com/FrogTheFrog/steam-rom-manager/issues) 上提出问题。
diff --git a/src/lang/zh-CN/markdown/gog-parser-input.md b/src/lang/zh-CN/markdown/gog-parser-input.md
index c64dc75b0a..9c7439dbab 100644
--- a/src/lang/zh-CN/markdown/gog-parser-input.md
+++ b/src/lang/zh-CN/markdown/gog-parser-input.md
@@ -1,10 +1,20 @@
-# GOG Galaxy 解析器的独特输入
+# Glob 解析器特定输入
## Galaxy 路径覆盖
-默认情况下,Steam ROM Manager 假定您的 Galaxy 客户端位于 `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe`。 如果你的 GOG Galaxy 安装在其他位置,这个字段允许你覆盖那个路径。
-如果您不启用通过 GOG Galaxy 启动游戏(请参见下文),则 SRM 无需知道 Galaxy 客户端的位置,因此实际上只有在这种情况下才需要填写此字段。
+默认情况下,Steam ROM 管理器假定您的 GOG Galaxy 可执行文件位于 `C:\Program Files (x86)\GOG GalaxyClient.exe` 在Windows系统中, `/Applications/GOG Galaxy.app/Contents/MacOS/GOG Galaxy` 在Mac系统中。 如果你的 GOG Galaxy 安装在其他位置,这个字段允许你覆盖那个路径。
+
+指定GOG 银河系统可执行文件的正确位置,只有在您通过GOG Galaxy启用时才是必要的(见下文), 否则,SRM就不需要GOG Galaxy的可执行性位置了。
## 通过 GOG Galaxy 启动`[推荐禁用]`
-What it sounds like, this toggle let's you set whether games will launch via GOG Galaxy or directly. Note that for some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work. 请注意,对于某些游戏,从 GOG Galaxy 启动可能会失败,并且 Steam 覆盖层很可能无法正常工作。 请注意,对于某些游戏,从 GOG Galaxy 启动可能会失败,并且 Steam 覆盖层很可能无法正常工作。
+听起来有什么意思,这个切换决定了游戏是通过 GOG Galaxy 启动还是直接启动。 请注意,对于某些游戏,从 GOG Galaxy 启动可能会失败,并且 Steam 覆盖层很可能无法正常工作。
+
+## 从 GOG Galaxy 解析链接的可执行文件
+
+如果启用,SRM 将不仅从GOG Galaxy的存储中提取GOG游戏。 也有那些您已经在GOG Galaxy中手动链接了的。 如果在其他地方不将这些游戏解析成SRM,这样做是可取的。
+
+需要注意的是,由于GOGGalaxy不在其数据库中存储名称链接的可执行文件,因此SRM将使用Windows上可执行文件的目录名称(例如 `C:\\path\\to\\Hoa\\LaunchHoa.exe` would be assigned the title `Hoa`)将被分配标题`Hoa`),而Mac上的可执行文件名称(例如 `/Applications/Symphonia.app` 将被分配标题 <0>Symphonia0>。
+
+## 使用注册表而不是Galaxy DB `[仅Windows] [建议禁用]`
+此选项将解析 Windows 注册表用于已安装的 GOG 游戏而不是 GOG Galaxy 的 SQL 数据库。 即使GOG Galaxy未安装,也允许解析器正常工作。 如果启用此功能, `解析链接可执行文件` 将无效,但 `通过 GOG Galaxy` 启动将正常工作。
\ No newline at end of file
diff --git a/src/lang/zh-CN/markdown/gog-parser.md b/src/lang/zh-CN/markdown/gog-parser.md
index d216d6df10..839b86e0b4 100644
--- a/src/lang/zh-CN/markdown/gog-parser.md
+++ b/src/lang/zh-CN/markdown/gog-parser.md
@@ -1,6 +1,6 @@
# GOG Galaxy 解析器
-This parser imports games from `GOG Galaxy` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because GOG Galaxy has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue. 如果它无法正常工作,那是因为 GOG Galaxy 已经更改了他们的游戏数据库结构,在这种情况下,请让 SRM 的开发人员知道,我们将解决此问题。 如果它无法正常工作,那是因为 GOG Galaxy 已经更改了他们的游戏数据库结构,在这种情况下,请让 SRM 的开发人员知道,我们将解决此问题。
+该解析器从 `GOG Galaxy` 导入游戏,以便为它们选择艺术作品并将其添加到 Steam 中。 如果它无法正常工作,那是因为 GOG Galaxy 已经更改了他们的游戏数据库结构,在这种情况下,请让 SRM 的开发人员知道,我们将解决此问题。
## 兼容性
diff --git a/src/lang/zh-CN/markdown/image-pool.md b/src/lang/zh-CN/markdown/image-pool.md
index f7e72b2913..90340f1c5c 100644
--- a/src/lang/zh-CN/markdown/image-pool.md
+++ b/src/lang/zh-CN/markdown/image-pool.md
@@ -1,3 +1,5 @@
-# 图片池 `[支持变量]`{.noWrap}
+# 图像素材池 `[支持变量]`{.noWrap}
-默认值为 `${fuzzyTitle}`{.noWrap}。 此设置用于允许不同的应用程序共享相同的图像 - 相同的“图像池”,或者允许每个应用程序使用独特的图像池。 要为每个应用程序使用唯一的图像池,只需将其设置为某些独特的内容。 例如 `${fuzzyTitle} SNES`{.noWrap}。
+若该字段未填写,将默认使用 `${fuzzyTitle}`{.noWrap}。
+
+该字段用于允许不同解析器的游戏在标题相同时共享同一批图片资源(即相同的“图片池”)。 如果你希望不同解析器对同名游戏不共享图片,只需将此字段设置为唯一值,例如 `${fuzzyTitle} SNES`{.noWrap} 或 `${fuzzyTitle} ${parserTitle}`{.noWrap}。
diff --git a/src/lang/zh-CN/markdown/image-providers.md b/src/lang/zh-CN/markdown/image-providers.md
index 274feec643..64293d8323 100644
--- a/src/lang/zh-CN/markdown/image-providers.md
+++ b/src/lang/zh-CN/markdown/image-providers.md
@@ -1,6 +1,6 @@
-# 图像提供程序
+# 艺术作品提供商
-在这里,您可以选择用于检索图像的图像提供程序。 此选项仅适用于此配置。
+这里您可以选择艺术作品提供商(在线游戏艺术来源),这些艺术作品被SRM用于为您的游戏获取艺术。
## “设置” 菜单中的类似选项
diff --git a/src/lang/zh-CN/markdown/intro.md b/src/lang/zh-CN/markdown/intro.md
index 950d6df3bc..a834d524e3 100644
--- a/src/lang/zh-CN/markdown/intro.md
+++ b/src/lang/zh-CN/markdown/intro.md
@@ -1,6 +1,6 @@
# 欢迎使用解析器配置!
-配置解析器可能一开始看起来很吓人,但其实比你想象的要容易。 如果您迷失了,请单击选项标签附近的,以查看可能对您有用的相关信息。
+配置解析器可能一开始看起来很吓人,但其实比你想象的要容易。 如果您迷失了,请单击选项标签附近的 ,以查看可能对您有用的相关信息。
此外,请不要忘记查看常见问题解答。 如果您仍然有关于设置配置的问题,请访问我们在 [Steam](http://steamcommunity.com/groups/steamrommanager) 的官方 SRM 群组或我们的官方 [Discord](https://discord.gg/bnSVJrz) 群组。
@@ -8,8 +8,8 @@
保存解析器配置后,标题旁将显示**3**种颜色中的**1**种:
- -- 已启用配置。 此配置将在生成**预览**页面中的列表时使用。
+ -- 已启用配置。 此配置将在生成**添加游戏**页面中的列表时使用。
- -- 未保存的更改。 该配置不会在生成**预览**页面列表时使用,而是将使用先前的**保存**版本。
+ -- 未保存的更改。 该配置不会在生成**添加游戏**页面列表时使用,而是将使用先前的**已保存**版本。
- -- 已禁用配置。 在生成**预览**页面列表时,不会使用此配置。
\ No newline at end of file
+ -- 已禁用配置。 在生成**增加游戏**页面列表时,不会使用此配置。
\ No newline at end of file
diff --git a/src/lang/zh-CN/markdown/itch-io-parser-input.md b/src/lang/zh-CN/markdown/itch-io-parser-input.md
index 8ad4f1d4b6..43a6f998aa 100644
--- a/src/lang/zh-CN/markdown/itch-io-parser-input.md
+++ b/src/lang/zh-CN/markdown/itch-io-parser-input.md
@@ -1,4 +1,4 @@
-# itch.io 解析器特定输入
+#
## itch.io AppData 路径覆盖
By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. 该字段允许您覆盖路径,如果您的 itch.io 用户数据存储在其他位置。 该字段允许您覆盖路径,如果您的 itch.io 用户数据存储在其他位置。
diff --git a/src/lang/zh-CN/markdown/itch-io-parser.md b/src/lang/zh-CN/markdown/itch-io-parser.md
index 28e4eed87f..5f1c4381f9 100644
--- a/src/lang/zh-CN/markdown/itch-io-parser.md
+++ b/src/lang/zh-CN/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
# itch.io 解析器
-该解析器从 `itch.io 桌面应用程序` 导入游戏,以便为它们选择艺术品并将其添加到 Steam 中。 如果它无法正常工作,那是因为 itch.io 已经更改了他们游戏数据库的结构,在这种情况下,请让 SRM 的开发人员知道,我们将解决此问题。
\ No newline at end of file
+该解析器从 `itch.io 桌面应用程序` 导入游戏,以便为它们选择艺术品并将其添加到 Steam 中。 如果它无法正常工作,那是因为 itch.io 已经更改了他们游戏数据库的结构,在这种情况下,请让 SRM 的开发人员知道,我们将解决此问题。
diff --git a/src/lang/zh-CN/markdown/legendary-parser-input.md b/src/lang/zh-CN/markdown/legendary-parser-input.md
index e91dd521f6..81901f6279 100644
--- a/src/lang/zh-CN/markdown/legendary-parser-input.md
+++ b/src/lang/zh-CN/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
# Legendary 解析器特定输入
+## Legendary路径覆盖
+
+默认情况下,SRM使用在 Windows 命令行上执行命令 `(Get-Command legendary).Path`,在 Linux 和 Mac 上用`which legendary`为 来确定Legendary可执行文件的位置。 此字段允许您覆盖该路径。
+
+指定Legendary可执行文件的正确位置,只有当您通过Legendary启用启动时才是必要的(见下文), 否则,SRM就不需要Legendary可执行文件的位置。
+
## Legendary `installed.json` 路径覆盖
大多数用户不应该使用这个,因为他们使用标准的 `Legendary` 安装,在那里已安装游戏清单将位于`~/.config/legendary/installed.json`。
然而,如果由于某些原因您安装的游戏清单位于非典型位置,则可以在此处指定正确的清单路径。
+
+## 通过 Legendary启动`[建议禁用]`
+
+这个切换决定了游戏是通过Legendary还是直接启动。 透过Legendary启动可以访问Epic的在线服务。
diff --git a/src/lang/zh-CN/markdown/local-images.md b/src/lang/zh-CN/markdown/local-images.md
index c77c20fa27..fe9c43c137 100644
--- a/src/lang/zh-CN/markdown/local-images.md
+++ b/src/lang/zh-CN/markdown/local-images.md
@@ -1,8 +1,8 @@
-# 本地图片(可选)`[支持变量]`{.noWrap}
+# 本地图片`[支持变量]`{.noWrap}
-允许使用本地存储的图像。 A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
+允许使用本地存储的图像。 A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
-Any variable you use in this field that contains special glob characters will have those characters escaped.
+您在此字段中使用的任何包含特殊全局字符的变量都将转义这些字符。
## 允许的图片扩展名
diff --git a/src/lang/zh-CN/markdown/manual-parser-input.md b/src/lang/zh-CN/markdown/manual-parser-input.md
index 50334a3c50..2ddd41a32a 100644
--- a/src/lang/zh-CN/markdown/manual-parser-input.md
+++ b/src/lang/zh-CN/markdown/manual-parser-input.md
@@ -1,4 +1,4 @@
-# 手动解析器特定输入
+#
## 清单目录 `[支持环境变量]`{.noWrap}
@@ -13,29 +13,12 @@
```
文件的名称并不重要。 重要的是每个 `manifest.json` 文件都只有一个标题,如下所示:
```json
-{
- "title": "gameTitle",
- "target": "game/path/target.sh",
- "startIn": "game/path",
- "launchOptions": "--args"
-}
+
```
或者是标题列表,像这样:
```json
-[
- {
- "title": "gameTitle",
- "target": "game/path/target.sh",
- "startIn": "game/path",
- "launchOptions": "--args"
- },
- {
- "title": "gameTitle2",
- "target": "game2/path/target.sh",
- "startIn": "game2/path",
- "launchOptions": "--args2"
- }
-]
+
+
```
一个典型的用例是每种游戏类型或每年代使用一个 json 文件。
diff --git a/src/lang/zh-CN/markdown/non-srm-shortcuts-parser.md b/src/lang/zh-CN/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..bd08c483c4
--- /dev/null
+++ b/src/lang/zh-CN/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,29 @@
+# 非SRM快捷方式解析器
+
+This parser imports non SRM steam shortcuts into SRM so their artowrk can be managed. 它没有添加快捷方式,因此是一个 仅限artwork 解析器。 这个解析器需要用户账号字段被设置。
+
+## User accounts
+
+可以用于将配置限制为特定的用户帐户。 为了设置用户帐户,必须使用以下语法:
+
+```
+${...}
+```
+
+您**必须** 使用您使用的用户名**登录**到 Steam **如果** [使用帐户凭据](#what-do-do-use-account-crederals-do) 已启用:
+
+ {.fitImage .center}
+
+例如,这是您指定的 “Banana” 和 “Apple” 账户的方式:
+
+```
+${Banana}${Apple}
+```
+
+您也可以直接指定他们的 id 来限制帐户。 例如:
+
+```
+${56489124}${21987424}
+```
+
+搜索将限制为 `steam/userdata/56489124` 和 `steam/userdata/21987424` 。
diff --git a/src/lang/zh-CN/markdown/parser-env-variables.md b/src/lang/zh-CN/markdown/parser-env-variables.md
index b2c74b555c..da2c3e1848 100644
--- a/src/lang/zh-CN/markdown/parser-env-variables.md
+++ b/src/lang/zh-CN/markdown/parser-env-variables.md
@@ -1,15 +1,15 @@
## 环境变量
这些变量已经预解析,可以在 Rom 目录、Steam 目录、可执行文件位置和启动目录字段中使用。
-| 变量 (大小写不敏感) | 对应的值 |
-| -------------------:|:--------------------------------------------- |
-| `${/}` | 系统特定的目录分隔符:`\` 或 `/` |
-| `${srmdir}` | 便携式 SRM 可执行文件目录 |
-| `${steamdirglobal}` | 全局 Steam 目录,指定在 `设置` 中。 |
-| `${accountsglobal}` | Global user accounts, specified in `Settings` |
-| `${romsdirglobal}` | 全局 ROMs 目录,位于 `设置` 中指定。 |
-| `${retroarchpath}` | Retroarch 可执行文件的路径,在 `设置` 中指定 |
-| `${racores}` | RetroArch cores 目录,指定在 `设置` 中 |
-| `${localimagesdir}` | 本地图像目录,指定在 `设置` 中的目录 |
+| 变量 (大小写不敏感) | 对应的值 |
+| -------------------:|:----------------------------- |
+| `${/}` | 系统特定的目录分隔符:`\` 或 `/` |
+| `${srmdir}` | 便携式 SRM 可执行文件目录 |
+| `${steamdirglobal}` | 全局 Steam 目录,指定在 `设置` 中。 |
+| `${accountsglobal}` | |
+| `${romsdirglobal}` | 全局 ROMs 目录,位于 `设置` 中指定。 |
+| `${retroarchpath}` | Retroarch 可执行文件的路径,在 `设置` 中指定 |
+| `${racores}` | RetroArch cores 目录,指定在 `设置` 中 |
+| `${localimagesdir}` | 本地图像目录,指定在 `设置` 中的目录 |
环境变量 `${srmdir}` 的实用性在于使 SRM 完全可移植,例如,如果您想要具有目录布局 `D:\Games\Roms` 和 `D:\Games\PortableSRM\SRM.exe`,那么将 Roms 目录字段设置为 `${srmdir}${/}..${/}Roms` 将允许您将游戏目录移动到其他地方而不会破坏设置。
diff --git a/src/lang/zh-CN/markdown/parser-variables.md b/src/lang/zh-CN/markdown/parser-variables.md
index 1bf975871e..55dbe99dc7 100644
--- a/src/lang/zh-CN/markdown/parser-variables.md
+++ b/src/lang/zh-CN/markdown/parser-variables.md
@@ -10,7 +10,7 @@
| `${romDir}` | ROM 目录 |
| `${steamDir}` | Steam 目录 |
| `${startInDir}` | "Start In" 目录 |
-| `${fileDir}` | 由解析器返回的文件目录。 |
+| `${fileDir}` | 解析器或目录返回的文件 |
如果可执行目录输入留空,则 **空**,`${exeDir}`{.noWrap} 等于 `${fileDir}`{.noWrap}。 此外,如果“StartIn”目录为**空**,则`${startInDir}`{.noWrap}等于`${exeDir}`{.noWrap}。
@@ -43,11 +43,12 @@
## 解析器变量
-| 变量 (大小写不敏感) | 对应的值 |
-| ---------------:|:------------- |
-| `${title}` | 提取的标题 |
-| `${fuzzyTitle}` | 模糊匹配的标题 |
-| `${finalTitle}` | 标题是标题修改器的最终结果 |
+| 变量 (大小写不敏感) | 对应的值 |
+| ----------------:|:------------- |
+| `${title}` | 提取的标题 |
+| `${fuzzyTitle}` | 模糊匹配的标题 |
+| `${finalTitle}` | 标题是标题修改器的最终结果 |
+| `${parserTitle}` | `解析器标题` 字段的值 |
如果模糊匹配**失败**或被**禁用**,则 `${fuzzyTitle}`{.noWrap}等于`${title}`{.noWrap}。
@@ -65,6 +66,7 @@
### 函数变量示例
假设`${title}`变量等于`Pokémon (USA) (Disc 1).iso`。 然后这些变量:
+
```
${/.*/|${title}} //匹配所有内容
${/(.*)/|${title}} //捕获所有内容
@@ -74,7 +76,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //捕获“Disc…”部分并将其
$ {rdc|${title}} //替换变音符号(在本例中:é -> e)
file${os:linux|.so|${os:win|.dll}} //选择适用于操作系统的正确文件扩展名
```
+
将被替换为以下内容:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/zh-CN/markdown/parsers-list.md b/src/lang/zh-CN/markdown/parsers-list.md
index bfe64d9b26..46c840a17b 100644
--- a/src/lang/zh-CN/markdown/parsers-list.md
+++ b/src/lang/zh-CN/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# 解析器
-在这个页面上,您可以选择要添加到您的 Steam 库中的系统。 Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+在这个页面上,您可以选择要添加到您的 Steam 库中的系统。
diff --git a/src/lang/zh-CN/markdown/settings.md b/src/lang/zh-CN/markdown/settings.md
index 6465455b90..ee1f67b0bd 100644
--- a/src/lang/zh-CN/markdown/settings.md
+++ b/src/lang/zh-CN/markdown/settings.md
@@ -1,31 +1,51 @@
## 常规设置
+### 在启动时检查更新 `[推荐启用]`
+检查是否有 SRM 的更新,并提示在每次SRM 启动时更新。
+### 自动杀死Steam `[推荐启用]`
+当Steam需要阅读/写入收藏信息时,SRM会尝试杀死所有运行中的 Steam 实例(特别是当从 `添加游戏` 时,以及当从 `设置` 中移除所有游戏时)。
+### 自动重启Steam `[推荐启用]`
+SRM 将在杀死 Steam 并完成首先需要杀死 Steam 的任何与收藏相关的任务后尝试重新启动 Steam。 需要 `自动杀死Steam` 来启用。
### 离线模式 `[建议禁用]`
-
启用 SRM 后不会进行任何网络请求,如果您只想使用 SRM 本地图片,则非常有用。
### 在测试解析器之前自动清除日志`[建议启用]`
当启用时,每次测试解析器时日志都会被清除。
+## 添加游戏
### 默认显示当前的 Steam 图片`[建议启用]`
-启用此设置后,SRM 将默认使用 Steam 中当前给定应用程序的艺术作品。 如果禁用了,那么每次运行(和保存)SRM 时所有艺术作品都将被重置。
+启用此设置后,SRM 将默认使用 Steam 中当前给定应用程序的艺术作品。 如果禁用,那么每次运行 SRM (并保存) 时,所有艺术品都将被重置。
### 删除已禁用的解析器快捷方式`[建议禁用]`
启用禁用解析器并运行 SRM 将删除所有已添加的禁用解析器的条目和艺术作品。 如果您希望 Steam 库与启用的解析器一一对应,则此功能非常有用。
-
+### 禁用Steam类别保存 `[推荐禁用]`
+保存到 Steam 时,SRM 将不会写入任何收藏信息。 这使SRM能够在Steam仍在运行时执行其任务,明显的代价是,添加的游戏不会被分类。
+### 在添加游戏中隐藏Steam用户名
+Steam不允许用户更改Steam用户名。 在某些情况下(儿童的名字、逝者的名字等),用户可能不希望看到他们的Steam用户名。 此项设置从 `添加游戏`中隐藏它
+### 移除所有已添加的游戏和控制器
+撤销所有从 Steam 添加的更改
+### 仅移除所有控制器
+从Steam中撤销所有添加的控制器设置
## 模糊匹配器设置
### 日志匹配结果 `[推荐禁用]`
启用后,模糊标题匹配器在`事件日志`中会显示更详细的日志。 用于调试不正确的模糊匹配。
-
### 重置模糊列表
-将用于模糊匹配的标题存储列表重置为由 `SteamGridDB` 返回的标题列表(删除任何用户添加的标题)。
+将用于模糊匹配的标题存储列表重置为由 `SteamGridDB` 返回的标题列表(删除任何用户添加的标题)。
### 重置模糊缓存
-清除模糊匹配已经看到的标题缓存(如果您对模糊列表所做的更改没有导致 SRM 中标题的更改,请尝试此操作)。
-
+清除模糊匹配已经看到的标题缓存(如果您对模糊列表所做的更改没有导致 SRM 中标题的更改,请尝试此操作)。
## 图像提供程序设置
-### 预加载检索到的图片`[建议禁用]`
-启用后,SRM 将为每个游戏拉取所有可用的艺术作品,而不是在用户翻阅图像时逐一拉取一件艺术作品。 除非你有充分的理由和非常小的游戏库,否则不要启用此选项,否则可能会导致非常大(缓慢)的网络请求。
+### Artwork加载战略 `[推荐懒加载Artwork]`
+这是SRM用于拉取 `添加游戏` UI 的艺术创作缩略图的策略。 如果您正在解析大量游戏,建议 `懒加载SRM`。 `预加载第一个Artwork` 会试图在每个Artwork类别中拉取每个游戏的第一个Artwork, `预加载所有Artwork` 会尝试在每个艺术作品类别中为每个游戏拉取所有可用的Artwork `预加载所有Artwork` 将导致网络和性能问题,除非游戏数量相当小(小于 `30` 或以上)。
### 启用的提供程序
-禁用某些提供程序的全局设置。 目前唯一的图像提供程序是 `SteamGridDB`,因为 ConsoleGrid 和 RetroGaming.cloud 已经停止运营。
-
+全局设定启用/禁用特定图像提供者 当前设置是`SteamGridDB`和`Steam官方`
+### DNS 手册覆盖
+如果您希望SRM在内部执行DNS解析,而不是依赖您系统的默认DNS服务器,请设置此项。 这解决了Steam Deck上的许多超时问题。
+### 图像下载批量大小
+保存到 Steam 时 SRM 尝试同时下载图像数 如果您正在从 SGDB 接收超时错误,可能会帮助降低这一点。
+### 销毁Artwork选择缓存
+SRM 试图记住您的Artwork选择,这个按钮强行忘记所有的选择。
+### 销毁本地Artwork备份
+此操作将删除为已启用的 `备份本地的Artwork` 解析器创建的所有Artwork备份。
## 社区变量和预设
### 强制下载自定义变量。
重置用于某些预设的自定义变量 JSON 文件,使其与 SRM GitHub 上当前状态相同。 如果自定义变量的 JSON 文件已损坏,则此工具非常有用。
### 强制下载自定义预设。
将解析器预设的 JSON 文件重置为 SRM Github 上的内容。 如果您的预设列表没有自动更新或已损坏,则此工具非常有用。
+### 强制下载 shell 脚本
+再次获取SRM 用于执行某些任务的 shell 脚本
diff --git a/src/lang/zh-CN/markdown/sgdb-api-input.md b/src/lang/zh-CN/markdown/sgdb-api-input.md
index 63add0d691..fd7fbd7235 100644
--- a/src/lang/zh-CN/markdown/sgdb-api-input.md
+++ b/src/lang/zh-CN/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
这组选项是直接输入到图像提供程序的 API 中,例如 SteamGridDB 的 [API](https://www.steamgriddb.com/api/v2)。
-这些设置的一个有趣之处是,重新生成预览(点击 `生成应用列表` 按钮)*只会添加艺术品*,而不会删除它。 如果想要应用更强的过滤器并删除艺术作品,必须在预览中点击 `移除应用列表` 按钮,然后再点击 `生成应用列表`。 这种行为的原因是它允许进行*优先*艺术作品选择。 例如,可以先使用模糊网格过滤器生成预览图像,然后再关闭该过滤器重新生成图像,以实现*优先*模糊网格的效果,在不存在模糊网格的情况下仍允许非模糊网格。
+这些设置的一个有趣之处是,在添加游戏中重新生成游戏列表(点击 `刷新` 按钮)*只会添加artwork*,而不会删除它。 如果想要应用更强的过滤器并删除artwork,必须在添加游戏中点击 `从Steam中移除应用列表` 按钮,然后再点击 `刷新`。 这种行为的原因是它允许进行*优先*艺术作品选择。 例如,可以先使用模糊网格过滤器生成游戏列表,然后再关闭该过滤器重新生成图像,以实现*优先*模糊网格的效果,但是在不存在模糊网格的情况下仍允许非模糊网格。
## SteamGridDB
diff --git a/src/lang/zh-CN/markdown/start-in-directory.md b/src/lang/zh-CN/markdown/start-in-directory.md
index 06c6d36596..0ddb2653ff 100644
--- a/src/lang/zh-CN/markdown/start-in-directory.md
+++ b/src/lang/zh-CN/markdown/start-in-directory.md
@@ -1,6 +1,6 @@
-# "Start In” 目录(可选)`[支持环境变量]`{.noWrap}
+#
-默认情况下,“Start In” 设置为可执行文件所在的目录:
+。
 {.fitImage.center}
@@ -11,4 +11,5 @@
当您使用批处理文件启动模拟器和游戏时,如果模拟器需要特定的 “Start In” 才能正常工作,则此功能非常有用。
## 快捷方式直通
+
如果您启用了 “Follow .lnk 到目标” 选项,并且您的可执行文件是 “.lnk” 文件,即快捷方式,则无论您在此字段中输入什么内容都将被覆盖为该快捷方式目标的目录。 将来,它将被覆盖为该快捷方式的起始目录。
diff --git a/src/lang/zh-CN/markdown/steam-category.md b/src/lang/zh-CN/markdown/steam-category.md
index ed393502a4..9ef6a5da11 100644
--- a/src/lang/zh-CN/markdown/steam-category.md
+++ b/src/lang/zh-CN/markdown/steam-category.md
@@ -1,21 +1,13 @@
-# Steam 类别(可选)`[支持变量]`{.noWrap}
+#
+
+点击小加号来添加您的第一个类别。
-也被称为“标签”,可用于在 Steam 中对应用程序进行分组。 为了设置 Steam 类别,必须使用以下语法:
-```
-${...}
-```
-例如,这是如何为 “WII” 和 “GBA”(与 “ROMS” 配对)类别指定的示例:
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
这是 “WII” 类别在 Steam 中的样子:

## 表情符号和非标准 Unicode 字符
+
请注意,此字段与类别名称中的表情符号(如`🎮`)完全兼容。
您可以在这里找到它们的列表:[https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/zh-CN/markdown/steam-directory.md b/src/lang/zh-CN/markdown/steam-directory.md
index ec3987630a..f97f69f2d7 100644
--- a/src/lang/zh-CN/markdown/steam-directory.md
+++ b/src/lang/zh-CN/markdown/steam-directory.md
@@ -1,4 +1,4 @@
-# Steam 目录 `[支持环境变量]`{.noWrap}
+# Steam directory `[supports env variables]`
必须是包含 Steam 可执行文件的有效 Steam 目录。 为了检测到 Steam 账户,用户必须至少登录一次。
diff --git a/src/lang/zh-CN/markdown/steam-parser-input.md b/src/lang/zh-CN/markdown/steam-parser-input.md
index bcb2b2f8b0..082d93423e 100644
--- a/src/lang/zh-CN/markdown/steam-parser-input.md
+++ b/src/lang/zh-CN/markdown/steam-parser-input.md
@@ -1,4 +1,4 @@
-# Steam 解析器特定输入
+#
## 仅寻找游戏艺术作品
如果启用了 SRM,它将过滤掉任何不是完整游戏的 Steam 应用程序,例如演示和工具,如 `3DMark` 或 `Wallpaper Engine`。
diff --git a/src/lang/zh-CN/markdown/steam-parser.md b/src/lang/zh-CN/markdown/steam-parser.md
index 84d79ea340..cae02d4435 100644
--- a/src/lang/zh-CN/markdown/steam-parser.md
+++ b/src/lang/zh-CN/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Steam 解析器
-这个解析器将 Steam 游戏导入 SRM。 它不会添加快捷方式,但它允许您为 Steam 游戏设置艺术作品。 默认情况下,解析器将从指定的 Steam 目录中获取所有用户帐户的游戏 — 如果您只想获取某些帐户的游戏,则在 `用户帐户` 字段中指定它们。
-
-## 限制
-很遗憾,目前这个解析器只适用于至少属于一个类别的 Steam 游戏。 这是因为如果游戏被分类,Steam 才会在本地存储您的完整游戏列表。 有时候,由于未知原因,游戏会被本地存储并且解析器可以正常工作,但为了安全起见,最简单的方法就是 **创建一个 Steam 游戏分类** 将所有 Steam 游戏放入其中。
-
-## 用户账户(可选)
-
-可以用于将配置限制为特定的用户帐户。 为了设置用户帐户,必须使用以下语法:
-```
-${...}
-```
-如果启用了“使用帐户凭据”,则必须使用您在 Steam 登录时使用的用户名:
-
- {.fitImage.center}
-
-例如,这是您指定的 “Banana” 和 “Apple” 账户的方式:
-
-```
-${Banana}${Apple}
-```
-
-如果 [使用帐户凭据](#what-does-use-account-credentials-do) 被禁用,您仍然可以通过直接指定其 ID 来限制帐户:
-
-```
-${56489124}${21987424}
-```
-
-## “跳过找到的缺少数据目录的账户”是什么意思?
-
-有时候,Steam 的包含登录信息的文件可能会包含未创建数据目录的用户(可能已被手动删除等)。 您可以启用此选项来跳过那些账户。
-
-## “使用帐户凭据"是什么意思?
-
-尝试在 Steam 目录中查找帐户凭据。 换句话说 -- 用户名。 用户名可以用来过滤账户,而无需实际知道它们的 ID。
-
-### 警告!
-
-如果 Steam 禁用了凭据保存,这个选项将防止找到用户账户。
+这个解析器导入了Steam游戏到 SRM ,这样你就可以管理这些artwork。 它没有添加快捷方式,因此是一个 `仅限artwork` 解析器。 这个解析器需要 `用户设置` 字段被设置。
\ No newline at end of file
diff --git a/src/lang/zh-CN/markdown/title-from-variable.md b/src/lang/zh-CN/markdown/title-from-variable.md
index 5682daaeb7..07ccaedcd8 100644
--- a/src/lang/zh-CN/markdown/title-from-variable.md
+++ b/src/lang/zh-CN/markdown/title-from-variable.md
@@ -1,30 +1,18 @@
-# 自定义变量的标题(可选)
+#
-允许使用自定义变量覆盖提取的标题。 这是在提取标题之后立即完成的,这意味着替换后的标题可以用于模糊匹配等操作。 群组和变量本身是**区分大小写**的,除非启用了不区分大小写的变量选项。
+允许从下面描述的 `json` 文件中用自定义变量覆盖已提取的标题 这是在提取标题之后立即完成的,这意味着替换后的标题可以用于模糊匹配等操作 群组和变量本身是**区分大小写**的,除非启用了不区分大小写的变量选项。
+
+标题匹配可以限制在特定的自定义变量组中。 例如,这是您指定的组 "FBN" 和 "PSN"的方式:
-标题匹配可以限制在特定的自定义变量组中。 为了指定组,必须使用以下语法:
-```
-${...}
-```
-例如,这是如何为“RPCS3”和“rpcs3”指定群组的方法:
```
-${RPCS3}${rpcs3}
+${RPCS3}${PSN}
```
-请确保您 **将开关打开**。
-
-
-## 不区分大小写选项
-
-如果启用了此选项,则将执行不区分大小写的匹配,并使用第一个匹配的自定义变量。
-
-## 注意! 注意! 注意! 注意! 注意! 注意! 注意! 注意! 注意! 注意! 注意! 注意! 注意! 注意! 注意! 注意! 注意! 注意! 该功能是**实验性的**。
+# 工作原理
-基本上,它可能会在未来的版本中更改(但很不可能)。 此外,目前唯一添加变量的方法是创建/编辑 SRM 直接使用的 `customVariables.json`。
+有两个变量文件, `customVariables.json` 由 SRM 维护(不要更改此项,每次SRM 重启时您的更改都会被覆盖) 和 `userVariables.json` 您应该在哪里设置自己的变量。 这两个文件都位于SRM的 `配置目录` 中。
-该文件应位于 SRM 的 `userData` 目录中。
-
-除非使用以下 JSON 结构,否则 SRM 将会抛出错误:
+`customVariables.json.json` 和 `userVariables.json` 都有相同的 JSON 结构。 除非使用以下 JSON 结构,否则 SRM 将会抛出错误:
```
{
@@ -33,65 +21,20 @@ ${RPCS3}${rpcs3}
"NPUB30024": "1942: Joint Strike",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
- },
- ...
-}
- {
- "RPCS3": {
- "NPUB30698": "Catherine",
- "NPUB30024": "1942: Joint Strike",
- ...
- },
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
- },
- ...
-}
- {
- "RPCS3": {
- "NPUB30698": "Catherine",
- "NPUB30024": "1942: Joint Strike",
+ "Group2": {
+ "The Legend Of Zelda": "The Legend Of Link",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
- },
...
-}
- {
- "RPCS3": {
- "NPUB30698": "Catherine",
- "NPUB30024": "1942: Joint Strike",
- ...
- },
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
- },
- ...
-}
- {
- "RPCS3": {
- "NPUB30698": "Catherine",
- "NPUB30024": "1942: Joint Strike",
- ...
- },
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
- },
- ...
-}
- },
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
- },
- ...
-}
-}
-}
-}
}
```
-如果您的用户全局变量是 `MyDir/${title}.wad`,并且您在 `MyDir` 中有一个名为 `The Legend of Zelda.wad` 的文件,则可以将标题从自定义变量字段设置为 `${Custom Stuff}` 以获得最终标题 “The Legend of Link”。
+如果您的用户全局变量是 `MyDir/${title}.wad`,并且您在 `MyDir` 中有一个名为 `The Legend of Zelda.wad` 的文件,则可以将标题从自定义变量字段设置为 `$${Group2}` 以获得最终标题 “The Legend of Link”。
+
+## 不区分大小写的变量
+
+如果启用,将完成大小写不敏感的匹配,并将使用首次匹配的自定义变量。
+
+## 如果未找到变量,则跳过文件。
+
+如果启用,不匹配变量的标题将被排除在外。
diff --git a/src/lang/zh-CN/markdown/title-modifier.md b/src/lang/zh-CN/markdown/title-modifier.md
index 496eb2404b..90cba95763 100644
--- a/src/lang/zh-CN/markdown/title-modifier.md
+++ b/src/lang/zh-CN/markdown/title-modifier.md
@@ -1,9 +1,11 @@
# 标题修饰符`[支持变量]`{.noWrap}
-默认值为 `${fuzzyTitle}`{.noWrap}。 此设置可用于在标题前缀或后缀所需的字符,这些字符将添加到 Steam 中。 例如,假设 `${fuzzyTitle}`{.noWrap} 是 `Zelda 2`,您可以通过将值设置为以下内容来添加 `(1.7.5)`:
+例如,假设 `${fuzzyTitle}`{.noWrap} 是 `Zelda 2`,您可以通过将值设置为以下内容来添加 `(1.7.5)`:
+
```
${fuzzyTitle} (1.7.5)
```
+
您可以使用 `${title}`{.noWrap} 或任何其他变量来构建最终标题。
这个设置会影响 Steam 的应用 APP ID。
diff --git a/src/lang/zh-CN/markdown/uplay-parser-input.md b/src/lang/zh-CN/markdown/uplay-parser-input.md
index c2b2bdf245..804b5d656f 100644
--- a/src/lang/zh-CN/markdown/uplay-parser-input.md
+++ b/src/lang/zh-CN/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# UPlay 解析器的独特输入
+#
+
## Ubisoft 目录覆盖
默认情况下,Steam ROM Manager 假定您的 UPlay 安装位于 `C:\Program Files (x86)\Ubisoft`。 如果你的 UPlay 安装在其他位置,这个字段允许你覆盖那个路径。
## 通过 UPlay 启动`[建议禁用]`
-
听起来像是,这个开关可以让你设置游戏是通过 UPlay 启动还是直接从游戏的可执行文件启动。
对于 UPlay 来说,这并不太重要,因为即使从可执行文件启动游戏,UPlay 游戏也会自动在后台启动 UPlay。 当启用`通过 UPlay 启动`时,Steam 覆盖层将无法工作,而当禁用 `通过 UPlay 启动` 时,Steam 和 Ubisoft 覆盖层都可以正常工作。
diff --git a/src/lang/zh-CN/markdown/user-accounts.md b/src/lang/zh-CN/markdown/user-accounts.md
index 22569b5e13..870d5a8cdd 100644
--- a/src/lang/zh-CN/markdown/user-accounts.md
+++ b/src/lang/zh-CN/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# 用户账户(可选)
+#
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
+此字段用于限制SRM特定用户帐号的效果。 它可以设置为 `全局` 或覆盖每个解析器。
-`${...}`
+## 警告
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either: Here `XXX` and `YYY` stand in for either: Here `XXX` and `YYY` stand in for either: Here `XXX` and `YYY` stand in for either: Here `XXX` and `YYY` stand in for either: Here `XXX` and `YYY` stand in for either: Here `XXX` and `YYY` stand in for either:
-
-* The account id is the name of the account directory that appears in `/path/to/steam/userdata`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`. A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`. A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
-
-## Warning
-
-**如果** 启用了 [使用帐户凭据](#what-does-use-account-credentials-do),则 **必须** 使用您在 Steam **登录** 时使用的用户名: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. **如果** 启用了 [使用帐户凭据](#what-does-use-account-credentials-do),则 **必须** 使用您在 Steam **登录** 时使用的用户名: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. **如果** 启用了 [使用帐户凭据](#what-does-use-account-credentials-do),则 **必须** 使用您在 Steam **登录** 时使用的用户名: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. **如果** 启用了 [使用帐户凭据](#what-does-use-account-credentials-do),则 **必须** 使用您在 Steam **登录** 时使用的用户名: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+如果您在Steam中设置 `不要在这台计算机上保存账户凭据` ,SRM无法知道您的 `Steam用户名` 和 `选择账户` 只能拉取您的 `Steam ID` 如果您这里使用`Steam用户名`, 选择 `Steam > Settings > Settings` 并禁用 `不要在这台计算机上保存账户凭据`, 然后重启Steam和SRM.
diff --git a/src/lang/zh-CN/markdown/user-exceptions.md b/src/lang/zh-CN/markdown/user-exceptions.md
index 956b9e86fb..a948ac97c0 100644
--- a/src/lang/zh-CN/markdown/user-exceptions.md
+++ b/src/lang/zh-CN/markdown/user-exceptions.md
@@ -7,14 +7,14 @@
`提取的标题`字段有两种匹配方式:
-* Based on the `Exception ID` (found by running test parser). Based on the `Exception ID` (found by running test parser). 例如,如果游戏是 `Portal 1`,它的`异常 ID`是 `12345`,那么您可以输入 `Portal 1 ${id:12345}`. Based on the `Exception ID` (found by running test parser). 例如,如果游戏是 `Portal 1`,它的`异常 ID`是 `12345`,那么您可以输入 `Portal 1 ${id:12345}`. 如果`异常 ID`存在,那么放在它前面的标签不重要,但为了可读性和搜索性,在`异常 ID`前面加上游戏的实际名称是很好的。 Based on the `Exception ID` (found by running test parser). 例如,如果游戏是 `Portal 1`,它的`异常 ID`是 `12345`,那么您可以输入 `Portal 1 ${id:12345}`. Based on the `Exception ID` (found by running test parser). 例如,如果游戏是 `Portal 1`,它的`异常 ID`是 `12345`,那么您可以输入 `Portal 1 ${id:12345}`. 如果`异常 ID`存在,那么放在它前面的标签不重要,但为了可读性和搜索性,在`异常 ID`前面加上游戏的实际名称是很好的。 Based on the `Exception ID` (found by running test parser). 例如,如果游戏是 `Portal 1`,它的`异常 ID`是 `12345`,那么您可以输入 `Portal 1 ${id:12345}`. 如果`异常 ID`存在,那么放在它前面的标签不重要,但为了可读性和搜索性,在`异常 ID`前面加上游戏的实际名称是很好的。
-* Based on the `Extracted Title` (found by running test parser). 例如,如果`提取的标题`是 `Portal 2`,您应该输入 `Portal 2`。 例如,如果`提取的标题`是 `Portal 2`,您应该输入 `Portal 2`。
+* 基于 `异常 ID` (通过运行测试解析器找到)。 Based on the `Exception ID` (found by running test parser). 例如,如果游戏是 `Portal 1`,它的`异常 ID`是 `12345`,那么您可以输入 `Portal 1 ${id:12345}`. Based on the `Exception ID` (found by running test parser). 例如,如果游戏是 `Portal 1`,它的`异常 ID`是 `12345`,那么您可以输入 `Portal 1 ${id:12345}`. 如果`异常 ID`存在,那么放在它前面的标签不重要,但为了可读性和搜索性,在`异常 ID`前面加上游戏的实际名称是很好的。 Based on the `Exception ID` (found by running test parser). 例如,如果游戏是 `Portal 1`,它的`异常 ID`是 `12345`,那么您可以输入 `Portal 1 ${id:12345}`. 如果`异常 ID`存在,那么放在它前面的标签不重要,但为了可读性和搜索性,在`异常 ID`前面加上游戏的实际名称是很好的。
+* 基于 `提取的标题` (通过运行测试解析器找到)。 例如,如果`提取的标题`是 `Portal 2`,您应该输入 `Portal 2`。
因此,您可以选择适用于所有具有相同名称的游戏的异常或仅适用于确切游戏的异常(`异常 ID`是唯一的)。 这是因为主要考虑向后兼容性 -- SRM 以前仅匹配`提取的标题`。
-由`预览`生成的异常将始终采用以下形式:`提取标题 ${id:XXXXXX}`。
+由`添加游戏`生成的异常将始终采用以下形式:`提取的标题 ${id:XXXXXX}`。
-## 新的显示标题
+## 新显示标题
这是在 Steam 中显示的标题。 它不会被用来搜索图片。
@@ -35,7 +35,7 @@
## 仅限本地艺术作品
-不要从远程提供程序(例如 [steamgriddb](https://www.steamgriddb.com) )获取艺术作品。 当 SGDB 错误地匹配游戏或您不喜欢可用的任何艺术作品时,此功能非常有用。
+不要从远程提供程序(例如 [steamgriddb](https://www.steamgriddb.com))获取艺术作品。 当 SGDB 错误地匹配游戏或您不喜欢可用的任何艺术作品时,此功能非常有用。
## 自定义变量
覆盖特定标题的任务也可以通过手动编辑自定义变量 JSON 文件并在`标题修改器`解析器字段中使用适当的变量来完成。 然而,建议您使用此工具,因为自定义变量 JSON 文件将随时间更新,并且您的编辑可能会被覆盖。
diff --git a/src/lang/zh-TW/langStrings.json b/src/lang/zh-TW/langStrings.json
index d42bc546d5..60484346ba 100644
--- a/src/lang/zh-TW/langStrings.json
+++ b/src/lang/zh-TW/langStrings.json
@@ -14,17 +14,17 @@
"games": "All Artwork"
},
"by": "by",
- "refreshImages": "Refresh images",
- "saveImage": "Save image to file",
- "addLocalImages": "Add local images",
- "retryDownload": "Retry download",
- "generateAppList": "Parse",
+ "refreshImages": "Refresh artwork",
+ "saveImage": "Save artwork to file",
+ "addLocalImages": "Add local artwork",
+ "retryDownload": "Retry artwork download",
+ "generateAppList": "Refresh",
"saveAppList": "Save to Steam",
"removeAppList": "Remove from Steam",
"remainingImages": "Retrieving urls:",
"stopUrlRetrieving": "Stop",
- "exportSelections": "Export",
- "importSelections": "Import",
+ "exportSelections": "Export art",
+ "importSelections": "Import art",
"backButton": "Back",
"logButton": "Log"
},
@@ -44,46 +44,46 @@
"removingFromCategories": "Removing all added category information",
"writingVDF_entries__i": "Writing VDF files and downloading high res images in batches of ${batchSize}.",
"updatingKnownSteamDirList": "Updating a list of known Steam directories.",
- "retryingDownload__i": "Retrying image download from \"${imageUrl}\" for \"${appTitle}\".",
- "disabledConfigurations__i": "${count} user configuration(s) was/were skipped (disabled by user).",
- "invalidConfigurations__i": "${count} user configuration(s) was/were skipped (invalid).",
+ "retryingDownload__i": "Retrying artwork download from \"${imageUrl}\" for \"${appTitle}\".",
+ "disabledConfigurations__i": "${count} user parser(s) was/were skipped (disabled by user).",
+ "invalidConfigurations__i": "${count} user parser(s) was/were skipped (invalid).",
"executingParsers": "Executing parsers.",
- "shutdownSteam": "Please shutdown Steam if it is running.",
- "noParserConfigurations": "Please create parser configuration in \"Parsers\" menu first.",
+ "shutdownSteam": "If Steam is running, exit Steam.",
+ "noParserConfigurations": "Please create parser in \"Parsers\" menu first.",
"parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
- "allImagesRetrieved": "All available image urls retrieved.",
+ "allImagesRetrieved": "All available artwork urls retrieved.",
"providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
"noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
- "preparingExport": "Preparing export of image choices.",
- "exportProgress__i": "Saving image choices ${progress}.",
- "readingSelections": "Applying imported image choices."
+ "preparingExport": "Preparing export of artwork choices.",
+ "exportProgress__i": "Saving artwork choices ${progress}.",
+ "readingSelections": "Applying imported artwork choices."
},
"errors": {
- "fatalError": "Fatal error occurred in Preview. See event log for details.",
- "fatalError__i": "Fatal Preview Error ${error}",
+ "fatalError": "Fatal error occurred in Add Games. See event log for details.",
+ "fatalError__i": "Fatal Add Games error: ${error}",
"knownSteamDirListIsEmpty": "A list of known Steam directories is empty.",
"steamIsRunning": "Cannot make changes while steam is running!",
"categorySaveError": "Error updating categories. See event log for details.",
"categorySaveError__i": "Category error (shortcuts and artwork will still be added): ${error}",
"controllerSaveError": "Error updating controller templates. See event log for details.",
"controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
- "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
+ "retryingDownload__i": "Artwork download from \"${imageUrl}\" failed for \"${appTitle}\".",
"providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
"unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
"exportError__i": "Could not save selections package folder: ${error}",
"importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
- "importFailError__i": "Could not import image choices: ${error}"
+ "importFailError__i": "Could not import artwork choices: ${error}"
},
"success": {
"writingVDF_entries": "Done adding/removing entries.",
"removingVDF_entries": "Entries have been removed.",
- "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
- "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
+ "exportSuccess__i": "Artwork choices folder successfully saved to \"${path}\"!",
+ "importSelectionsSuccess__i": "Successfully imported ${count} artwork choices!"
}
}
},
"steamParser": {
- "onlyGamesTitle": "Find artwork for games only (no tools)",
+ "onlyGamesTitle": "Find artwork for games only (no tools or demos)",
"onlyInstalledTitle": "Find artwork for installed titles only",
"sourceModsTitle": "Find artwork for unofficial source mods",
"errors": {
@@ -93,16 +93,30 @@
"fatalError__i": "> Steam parser failed with fatal error:\n ${error}"
}
},
+ "nonSRMShortcutsParser": {
+ "errors": {
+ "noSteamAccounts": "> Steam directory specified has no accounts.",
+ "fatalError__i": "> Non-SRM Shortcuts parser failed with fatal error:\n ${error}"
+ }
+ },
"manualParser": {
"manifestsInputTitle": "Manifests Directory",
- "manifestsInputPlaceholder": "/path/to/your/manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"errors": {
"fatalError__i": "> Manual parser failed with fatal error:\n ${error}"
}
},
"epicParser": {
"manifestsInputTitle": "Epic Manifests Directory Override",
- "manifestsInputPlaceholder": "/path/to/Manifests/",
+ "manifestsInputPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\your\\manifests\\",
+ "Darwin": "/path/to/your/manifests/",
+ "Linux": "/path/to/your/manifests/"
+ },
"launcherModeInputTitle": "Launch games via Epic for online services",
"errors": {
"invalidManifestsOverride": "> Manifests Override is not a valid directory.",
@@ -112,25 +126,56 @@
}
},
"legendaryParser": {
+ "launcherModeInputTitle": "Launch games via Legendary for online services",
"legendaryInstalledFileTitle": "Legendary installed.json Path Override",
- "legendaryInstalledFilePlaceholder": "/path/to/legendary/installed.json",
+ "legendaryInstalledFilePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary\\installed.json",
+ "Darwin": "/path/to/legendary/installed.json",
+ "Linux": "/path/to/legendary/installed.json"
+ },
+ "legendaryExeOverrideTitle": "Legendary Path Override",
+ "legendaryExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\legendary.exe",
+ "Darwin": "/path/to/legendary",
+ "Linux": "/path/to/legendary"
+ },
"errors": {
"legendaryNotInstalled": "> Legendary installed.json not found",
- "fatalError__i": "> Legendary parser failed with fatal error: \n ${error}"
+ "fatalError__i": "> Legendary parser failed with fatal error:\n ${error}"
+ }
+ },
+ "battleNetParser": {
+ "battleExeOverrideTitle": "Battle.net.exe Path Override",
+ "battleExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Battle.net\\Battle.net.exe",
+ "Darwin": "/path/to/Battle.net.app/Contents/MacOS/Battle.net",
+ "Linux": "/path/to/Battle.net"
+ },
+ "errors": {
+ "battleNotCompatible": "> Battle.net parser is only available on Windows.",
+ "fatalError__i": "> Battle.net parser failed with fatal error:\n ${error}"
}
},
"UWPParser": {
"UWPDirTitle": "XboxGames Directory Override",
- "UWPDirPlaceholder": "/path/to/XboxGames or /path/to/WindowsApps",
+ "UWPDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\XboxGames\\ or C:\\path\\to\\WindowsApps\\",
+ "Darwin": "/path/to/XboxGames/ or /path/to/WindowsApps/",
+ "Linux": "/path/to/XboxGames/ or /path/to/WindowsApps/"
+ },
"UWPLauncherModeTitle": "Launch game as UWP instead of launcher helper",
"errors": {
"fatalError__i": "> UWP parser is not compatible in this platform.",
- "UWPNotCompatible": "> UWP parser failed with fatal error:\n ${error}"
+ "UWPNotCompatible": "> UWP parser is only available on Windows."
}
},
"uplayParser": {
"uplayDirTitle": "Ubisoft Directory Override",
- "uplayDirPlaceholder": "/path/to/Ubisoft/",
+ "uplayDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Ubisoft\\",
+ "Darwin": "/path/to/Ubisoft/",
+ "Linux": "/path/to/Ubisoft/"
+ },
"launcherModeInputTitle": "Launch games via UPlay for online services",
"errors": {
"invalidManifestsOverride": "> Uplay Directory Override is not a valid directory.",
@@ -142,8 +187,14 @@
},
"gogParser": {
"galaxyExeOverrideTitle": "Galaxy Path Override",
- "galaxyExeOverridePlaceholder": "/path/to/GalaxyClient.exe",
+ "galaxyExeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\GalaxyClient.exe",
+ "Darwin": "/path/to/GOG Galaxy.app/Contents/MacOS/GOG Galaxy",
+ "Linux": "/path/to/GalaxyClient"
+ },
"launcherModeInputTitle": "Launch games via GOG Galaxy",
+ "parseLinkedExecsTitle": "Parse linked executables from GOG Galaxy",
+ "parseRegistryEntries": "Parse using Registry instead of Galaxy DB",
"errors": {
"invalidGalaxyExeOverride": "> Galaxy Client Override is not a valid path.",
"fatalError__i": "> GOG Galaxy parser failed with fatal error:\n ${error}",
@@ -153,7 +204,11 @@
},
"amazonGamesParser": {
"exeOverrideTitle": "Amazon Games Path Override",
- "exeOverridePlaceholder": "/path/to/Amazon Games.exe",
+ "exeOverridePlaceholder": {
+ "Windows_NT": "C:\\path\\to\\Amazon Games.exe",
+ "Darwin": "/path/to/Amazon Games.app/Contents/MacOS/Amazon Games",
+ "Linux": "/path/to/Amazon Games"
+ },
"launcherModeInputTitle": "Launch games via Amazon Games",
"errors": {
"invalidExeOverride": "> Amazon Games Installation Override is not a valid directory.",
@@ -164,7 +219,11 @@
},
"itchIoParser": {
"itchIoAppDataOverrideTitle": "itch.io AppData Directory Override",
- "itchIoAppDataOverridePlaceholder": "/path/to/itch",
+ "itchIoAppDataOverridePlaceholder": {
+ "Windows_NT": "C:\\AppData\\itch\\",
+ "Darwin": "~/Library/Application Support/itch/",
+ "Linux": "~/.config/itch/"
+ },
"itchIoWindowsOnLinuxInstallDriveRedirectTitle": "Windows-on-Linux Install Drive Redirect",
"itchIoWindowsOnLinuxInstallDriveRedirectPlaceholder": "/mnt/d/",
"errors": {
@@ -177,7 +236,11 @@
},
"eaDesktopParser": {
"eaGamesDirTitle": "EA Games Directory Override",
- "eaGamesDirPlaceholder": "/path/to/EA Games/",
+ "eaGamesDirPlaceholder": {
+ "Windows_NT": "C:\\path\\to\\EA Games\\",
+ "Darwin": "/path/to/EA Games/",
+ "Linux": "/path/to/EA Games/"
+ },
"eaLauncherModeTitle": "Launch games via EA Desktop",
"errors": {
"fatalError__i": "> EA Desktop parser failed with fatal error:\n ${error}",
@@ -186,7 +249,7 @@
}
},
"globParser": {
- "inputTitle": "User's glob",
+ "inputTitle": "Search glob",
"inputPlaceholder": "${title}.@(iso|ISO)",
"errors": {
"noTitle__md": "> File glob must contain `${title}`!",
@@ -203,7 +266,7 @@
}
},
"globRegexParser": {
- "inputTitle": "User's glob-regex",
+ "inputTitle": "Search glob-regex",
"inputPlaceholder": "${/valid regex/}",
"errors": {
"noRegex__md": "> File glob must contain `${regex}` where **regex** is your regular expression!",
@@ -226,18 +289,22 @@
"stylesTitle": "Allowed grid styles",
"stylesHeroTitle": "Allowed hero styles",
"stylesLogoTitle": "Allowed logo styles",
- "stylesIconTitle": "Allowed icon styles"
+ "stylesIconTitle": "Allowed icon styles",
+ "sizesTitle": "Allowed banner dimensions",
+ "sizesHeroTitle": "Allowed hero dimensions",
+ "sizesTallTitle": "Allowed portrait dimensions",
+ "sizesIconTitle": "Allowed icon dimensions"
},
"logger": {
"component": {
"noMessages": "No messages are available",
- "error": "ERROR",
- "info": "INFO",
- "success": "SUCCESS",
- "fuzzy": "FUZZY",
- "textWrap": "TEXT-WRAP",
- "autoscroll": "AUTOSCROLL",
- "clearLog": "Clear log",
+ "error": "Error messages",
+ "info": "Info messages",
+ "success": "Success messages",
+ "fuzzy": "Fuzzy messages",
+ "textWrap": "Wrap text",
+ "autoscroll": "Autoscroll",
+ "clearLog": "Clear",
"issueDescription": "Thorough issue description with passable spelling.",
"handleExample": "CoolHandle#1234"
}
@@ -251,40 +318,42 @@
"corruptedVariables__i": "Saved custom variables are invalid!\r\nPermanent variable saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "Custom variables file has been downloaded."
+ "downloaded": "Custom variables file has been updated."
}
}
},
"configPresets": {
"service": {
"error": {
- "failedToDownload__i": "Failed to download configuration presets file. Status: ${error}.",
+ "failedToDownload__i": "Failed to download configuration presets file from commit ${commit}. Status: ${error}.",
"writingError": "Error occurred while saving configuration presets.",
"loadingError": "Error occurred while loading configuration presets.",
"corruptedVariables__i": "Saved configuration presets are invalid!\r\nPermanent file saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}"
},
"info": {
- "downloaded": "New config presets have been downloaded."
+ "downloaded": "Community presets have been updated."
}
}
},
"settings": {
"component": {
"label": {
- "general": "General settings",
- "imageProviders": "Image provider settings",
- "fuzzy": "Fuzzy matcher settings",
- "environmentVariables": "Environment variable settings",
- "communityPresets": "Community variable/preset settings"
+ "general": "General",
+ "imageProviders": "Artwork Providers",
+ "fuzzy": "Fuzzy Matcher",
+ "environmentVariables": "Environment Variables",
+ "communityPresets": "Community Presets and Custom Variables"
},
"text": {
+ "autoUpdate": "Check for updates on start",
"offlineMode": "Offline mode",
- "removeApps_desc": "all added app entries and controllers",
+ "removeApps_desc": "all added games and controllers",
"removeApps_btn": "Remove",
- "preloadImages": "Preload retrieved images immediately",
+ "preloadImages": "Artwork loading strategy",
"fuzzy_verbose": "Log matching results",
- "fuzzy_filter": "Filter images",
+ "fuzzy_filter": "Filter artwork",
"enabledProviders": "Enabled image providers",
+ "dnsServers": "DNS manual override",
"selectLanguage": "Select language",
"selectTheme": "Select theme",
"resetFuzzy_desc": "fuzzy list",
@@ -292,28 +361,38 @@
"resetFuzzy_btn": "Reset",
"customVariables_desc": "custom variables",
"configPresets_desc": "config presets",
- "showSteamImages": "Show current Steam images by default",
+ "showSteamImages": "Show current Steam artwork by default",
"deleteDisabledShortcuts": "Remove shortcuts for disabled parsers",
"clearLogOnTest": "Automatically clear log before testing parsers",
- "configDir": "Open Config Directory"
+ "configDir": "Config Directory",
+ "steamDir": "Steam Directory"
},
"placeholder": {
"noProviders": "None",
- "steamDirectoryWin": "Typically C:\\Program Files (x86)\\Steam",
- "steamDirectoryMac": "Typically ~/Library/Application Support/Steam",
- "steamDirectoryLinux": "Typically /home/user/.steam/steam",
"userAccounts": "For example ${steamlogin}",
- "romsDirectoryWin": "For example D:\\ROMs",
- "romsDirectoryMac": "For example ~/ROMs",
- "romsDirectoryLinux": "For example ~/ROMs",
- "retroarchPathWin": "For example C:\\Path\\To\\retroarch.exe",
- "retroarchPathLinux": "For example /path/to/retroarch",
- "retroarchPathMac": "For example /path/to/retroarch",
- "raCoresDirectoryWin": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores",
- "raCoresDirectoryLinux": "Typically /lib/x86_64-linux-gnu/libretro/cores",
- "raCoresDirectoryMac": "Typically /Applications/Retroarch.app/Contents/Resources/cores",
- "localImagesDirectoryWin": "For example C:\\Path\\To\\LocalArtwork",
- "localImagesDirectoryUnix": "For example ~/path/to/localartwork"
+ "bySystem": {
+ "Windows_NT": {
+ "steamDirectory": "Typically C:\\Program Files (x86)\\Steam\\",
+ "romsDirectory": "For example D:\\ROMs\\",
+ "retroarchPath": "For example C:\\Path\\To\\Retroarch.exe",
+ "raCoresDirectory": "Typically C:\\Users\\UserName\\AppData\\Roaming\\RetroArch\\cores\\",
+ "localImagesDirectory": "For example C:\\Path\\To\\LocalArtwork\\"
+ },
+ "Darwin": {
+ "steamDirectory": "Typically ~/Library/Application Support/Steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /Applications/Retroarch.app/Contents/Resources/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ },
+ "Linux": {
+ "steamDirectory": "Typically /home/user/.steam/steam/",
+ "romsDirectory": "For example ~/ROMs/",
+ "retroarchPath": "For example /path/to/retroarch",
+ "raCoresDirectory": "Typically /lib/x86_64-linux-gnu/libretro/cores/",
+ "localImagesDirectory": "For example ~/path/to/localartwork/"
+ }
+ }
}
},
"service": {
@@ -331,6 +410,7 @@
"component": {
"about": "About",
"preview": "Preview",
+ "view": "View Games",
"logger": "Log",
"settings": "Settings",
"parsers": "Create Parser",
@@ -352,6 +432,9 @@
"title": "User Exceptions",
"exclude": "Exclude Title",
"excludeArtwork": "Local Artwork Only"
+ },
+ "placeholder": {
+ "sortBy": "Sort By"
}
},
"service": {
@@ -366,8 +449,8 @@
"component": {
"buttons": {
"save": "Save",
- "copy": "Copy",
- "testParser": "Test parser",
+ "copy": "Clone",
+ "testParser": "Test",
"delete": "Delete",
"moveUp": "Move up",
"moveDown": "Move down",
@@ -381,23 +464,23 @@
"opSys__i": "Operating system is \"${os}\"",
"testCompleted": "Parser test is completed.",
"nothingWasFound": "Parser found nothing.",
- "copiedToClipboard": "Configuration copied to clipboard",
+ "copiedToClipboard": "Parser copied to clipboard",
"userExclusions": "User excluded:",
- "excludedFileInfo__i": "[${index}/${total}]: ${filename}",
+ "excludedFileInfo__i": "[${index}/${total}]: ${filename}\n Excluded by \"${exceptionKey}\"",
"removingControllers__i": "Removing controller templates for parser: ${configTitle}",
"fetchingControllerTemplates": "Fetching controller templates"
},
"error": {
"missingAccounts__i": "Following ${count} user account(s) were not found (user must to login to Steam at least once):",
"missingAccountInfo__i": " ${name}",
- "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials (\"Show advanced options -> User accounts -> Use account credentials\").\r\nIf you're seeing this, preview won't be generated for this configuration.",
+ "noAccountsWarning": "Warning! No user accounts found, it could be due to one of the reasons below:\r\n - incorrect Steam directory;\r\n - no user has ever logged in;\r\n - Steam does not save user credentials.\r\nIf you're seeing this, Add Games will skip this configuration.",
"cannotParseUserIDs": "Error parsing user accounts:",
"failedToMatch": "Failed to match:",
"failedFileInfo__i": "[${index}/${total}]: ${filename}",
"testFailed": "Testing failed",
"cannotTestInvalid": "Can not test invalid configuration!",
"cannotCopyInvalid": "Can not copy invalid configuration!",
- "failedToCopy": "Failed to copy to clipbard!",
+ "failedToCopy": "Failed to copy to clipboard!",
"cannotFetchTemplates": "Can not fetch controller templates for invalid steam directory!",
"errorRemovingControllers": "Error removing controllers:",
"cannotRemoveControllers": "Can not remove controllers from invalid steam directory!"
@@ -405,8 +488,8 @@
"success": {
"foundAccounts__i": "Found ${count} available user account(s):",
"foundAccountInfo__i": " ${name} (steamID64: ${steamID64}, accountID: ${accountID})",
- "steamCategory__i": "[${index}/${total}]: Steam categories - ${steamCategory}",
- "steamCategoryInfo__i": "[${index}/${total}]: ${steamCategory}",
+ "steamCategories__i": "[${index}/${total}]: Steam categories - ${steamCategories}",
+ "steamCategoriesInfo__i": "[${index}/${total}]: ${steamCategories}",
"exceptionKey__i": "[${index}/${total}]: Exception ID - ${appid}",
"appId__i": "[${index}/${total}]: Legacy App ID - ${appid}",
"shortAppId__i": "[${index}/${total}]: App ID - ${appid}",
@@ -416,20 +499,21 @@
"filePath__i": "[${index}/${total}]: File path - ${filePath}",
"startDir__i": "[${index}/${total}]: Start dir - ${startDir}",
"completeShortcut__i": "[${index}/${total}]: Complete shortcut - ${shortcut}",
- "firstImageQuery__i": "[${index}/${total}]: Image queries - ${query}",
+ "firstImageQuery__i": "[${index}/${total}]: Artwork queries - ${query}",
+ "imagePool__i": "[${index}/${total}]: Artwork pool - ${imagePool}",
"imageQueries__i": "[${index}/${total}]: ${query}",
"defaultImage__i": "[${index}/${total}]: Resolved fallback ${artworkType}:\r\n[${index}/${total}]: ${image}",
"resolvedDefaultImage__i": "[${index}/${total}]: Fallback ${artworkType}:",
- "localImages__i": "[${index}/${total}]: Resolved ${artworkType}:",
- "resolvedLocalImages__i": "[${index}/${total}]: ${artworkType} glob:",
+ "localImages__i": "[${index}/${total}]: Resolved local ${artworkType}:",
+ "resolvedLocalImages__i": "[${index}/${total}]: Local ${artworkType} glob:",
"indexInfo__i": "[${index}/${total}]: ${indexed}",
"removedControllers__i": "Succesfully removed controllers for parser: ${configTitle}",
"fetchedTemplates": "Fetched all controller templates"
},
"label": {
"parserType": "Parser type",
- "configTitle": "Configuration title",
- "steamCategory": "Steam category",
+ "configTitle": "Parser title",
+ "steamCategories": "Steam collections",
"executableModifier": "Executable modifier",
"executableLocation": "Executable",
"romDirectory": "ROMs directory",
@@ -440,33 +524,56 @@
"titleModifier": "Title modifier",
"fuzzyMatch": "Fuzzy matching",
"executableArgs": "Command line arguments",
- "onlineImageQueries": "Online image query",
- "imagePool": "Image pool",
- "imageProviders": "Image providers",
+ "onlineImageQueries": "Artwork provider search queries",
+ "imagePool": "Artwork pool",
+ "imageProviders": "Artwork providers",
"defaultImage__i": "Fallback ${artworkType}",
"localImages__i": "Local ${artworkType} glob"
},
"placeholder": {
"parserType": "Select parser...",
"configTitle": "My Awesome Parser",
- "steamCategory": "${cat1}${cat2}",
- "steamDirectory": "${steamdirglobal} or /path/to/steam",
- "userAccounts": "${steamuser1}${steamuser2} or ${${accountsglobal}}",
- "titleFromVariable": "${myvariable}",
+ "steamDirectory": {
+ "Windows_NT": "${steamdirglobal} or C:\\path\\to\\Steam\\",
+ "Darwin": "${steamdirglobal} or /path/to/Steam/",
+ "Linux": "${steamdirglobal} or /path/to/Steam/"
+ },
+ "titleFromVariable": "${variableGroup1}${variableGroup2}",
"titleModifier": "${fuzzyTitle} or ${title}",
- "defaultImage__i": "/path/to/fallback_${artworkType}.png",
- "localImages__i": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
- "romDirectory": "/path/to/games/",
+ "defaultImage__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\fallback_${artworkType}.png",
+ "Darwin": "/path/to/fallback_${artworkType}.png",
+ "Linux": "/path/to/fallback_${artworkType}"
+ },
+ "localImages__i": {
+ "Windows_NT": "C:\\\\path\\\\to\\\\art\\\\${artworkType}\\\\\\${title}.@(png|jpg)",
+ "Darwin": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)",
+ "Linux": "/path/to/art/${artworkType}/\\${title}.@(png|jpg)"
+ },
+ "onlineImageQueries": "${${fuzzyTitle}} or ${${title}}${${fuzzyTitle}}",
+ "imagePool": "${fuzzyTitle}",
+ "romDirectory": {
+ "Windows_NT": "C:\\path\\to\\games\\",
+ "Darwin": "/path/to/games/",
+ "Linux": "/path/to/games/"
+ },
"glob": "${title}.@(iso|ISO)",
- "executableLocation": "Example: /path/to/emulator.exe",
- "executableArgs": "--arg1 --arg2",
+ "executableLocation": {
+ "Windows_NT": "C:\\path\\to\\emulator.exe",
+ "Darwin": "/path/to/emulator.app",
+ "Linux": "/path/to/emulator"
+ },
+ "executableArgs": "--arg1 --arg2 --launch \"${filePath}\"",
"executableModifier": "\"${exePath}\"",
- "startInDirectory": "/path/to/start/in/dir",
+ "startInDirectory": {
+ "Windows_NT": "C:\\path\\to\\start-in-dir\\",
+ "Darwin": "/path/to/start-in-dir/",
+ "Linux": "/path/to/start-in-dir/"
+ },
"imageProviders": "None",
"multiAPIPlaceholder": "No Filter"
},
"text": {
- "tryToMatchTitle": "Enable Title from Custom Variable",
"skipFileIfVariableWasNotFound": "Skip file if variable was not found",
"caseInsensitiveVariables": "Case-insensitive variables",
"shortcut_passthrough": "Follow .lnk or .desktop to destination (Windows and Linux only)",
@@ -482,18 +589,18 @@
},
"service": {
"info": {
- "updatingConfigurations": "Updating user configurations with new fields"
+ "updatingConfigurations": "Updating user's parsers with new fields"
},
"error": {
- "savingConfiguration": "Error encountered while saving user configurations!",
- "readingConfiguration": "Error encountered while reading user configurations!",
+ "savingConfiguration": "Error encountered while saving user's parsers!",
+ "readingConfiguration": "Error encountered while loading user's parsers!",
"parserTypeMissing": "Cannot save without specifying parser type",
- "corruptedConfiguration__i": "One or more saved parser configurations are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
- "fetcingTemplates": "Error encountered while fetching controllers templates!"
+ "corruptedConfiguration__i": "One or more saved parsers are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}",
+ "fetchingTemplates": "Error encountered while fetching controllers templates!"
},
"validationErrors": {
"parserType__md": "> Incorrect parser type!",
- "configTitle__md": "> Configuration title is required!",
+ "configTitle__md": "> Parser title field cannot be blank!",
"parserId__md": "> Parser Id is missing, something is horribly wrong.",
"parserInput": {
"noInput": "No inputs are available!",
@@ -501,19 +608,15 @@
"incorrectParser": "Incorrect parser!"
},
"romDir__md": "> ROMs directory is invalid!",
- "userAccounts__md": "> Steam parser requires `User Accounts` field",
+ "userAccounts__md": "> User accounts field is required!",
"steamDir__md": "> Steam directory is invalid!",
"startInDir__md": "> \"Start In\" directory is invalid!",
"executable__md": "> Executable is invalid!",
- "imagePool__md": "> Image pool must not be empty!",
- "defaultImage__md": "> Default image is an invalid path!",
- "titleModifier__md": "> Title modifier must not be empty!",
- "executableModifier__md": "> Executable modifier must not be empty!",
- "variableString__md": "> Uneven number of `${` and `}` pairs. Use `\\` to escape `${` or `}` if you want to use them as characters.",
- "imageProviders__md": "> Incorrect image providers type!",
- "unhandledValidationKey__md": "> Input's validation is unhandled",
- "genericDir__md": "> Directory is invalid",
- "genericPath__md": "> Path is invalid"
+ "defaultImage__md": "> Fallback artwork is an invalid path!",
+ "variableString__md": "> Uneven number of `${` and `}` pairs! Use `\\` to escape `${` or `}` if you want to use them as characters.",
+ "unhandledValidationKey__md": "> Input's validation is unhandled!",
+ "genericDir__md": "> Directory is invalid!",
+ "genericPath__md": "> Path is invalid!"
},
"text": {
"noTitle": "No title!"
@@ -540,7 +643,7 @@
"error": {
"parserNotFound__i": "Parser \"${name}\" not found!",
"tooManyFieldGlobs__md": "> Only one `$(...)$` set is allowed per input.",
- "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** ir **Glob-regex** field.",
+ "parserIsRequired__md": "> First part of `$(...)$` must contain a valid **Glob** in **Glob-regex** field.",
"noWinSlashes__md": "> Windows directory character `\\` is not allowed! Use `/` instead."
}
},
@@ -567,11 +670,11 @@
"error": {
"readingVdf__i": "Failed to read from \"${filePath}\".\n ${error}",
"writingVdf__i": "Failed to write to \"${filePath}\".\n ${error}",
- "skippingDMCA__i": "Skipping DMCA'd image for ${title}",
+ "skippingDMCA__i": "Skipping DMCA'd artwork for ${title}",
"corruptedVdf__i": "\"${filePath}\" is corrupted.\n ${error}",
"creatingBackup__i": "Could not create backup for \"${filePath}\".\n ${error}",
"unsupportedMimeType__i": "Mime type (${type}) is unsupported (title - \"${title}\").",
- "imageError__i": "Error occurred while saving/downloading image for \"${title}\". Url: ${url}.\n ${error}"
+ "imageError__i": "Error occurred while saving/downloading artwork for \"${title}\". Url: ${url}.\n ${error}"
}
},
"helpers": {
diff --git a/src/lang/zh-TW/markdown/UWP-parser-input.md b/src/lang/zh-TW/markdown/UWP-parser-input.md
index 12f7b1631f..549c834d48 100644
--- a/src/lang/zh-TW/markdown/UWP-parser-input.md
+++ b/src/lang/zh-TW/markdown/UWP-parser-input.md
@@ -1,4 +1,4 @@
-# Unique inputs for UWP Parser
+# UWP Parser Specific Inputs
## Games directory
@@ -8,4 +8,4 @@ Set it to `C:\Program Files\WindowsApps` to grab all UWP applications -- you'll
## Launch as UWP or from GameLaunchHelper.exe
-Gamepass games can be launched both ways, although UWP is preffered.
+Gamepass games can be launched both ways, although UWP is preferred.
diff --git a/src/lang/zh-TW/markdown/UWP-parser.md b/src/lang/zh-TW/markdown/UWP-parser.md
index 6ba96ec1bb..b84686c5f1 100644
--- a/src/lang/zh-TW/markdown/UWP-parser.md
+++ b/src/lang/zh-TW/markdown/UWP-parser.md
@@ -4,4 +4,4 @@ This parser imports `UWP` games in your Windows OS, having a games library path
## Compatibility
-This parser should only work on `Windows 10` and `Windows 11`.
\ No newline at end of file
+This parser should only work on `Windows 10` and `Windows 11`.
diff --git a/src/lang/zh-TW/markdown/about.md b/src/lang/zh-TW/markdown/about.md
index c8ecc5a81c..9ee151ecac 100644
--- a/src/lang/zh-TW/markdown/about.md
+++ b/src/lang/zh-TW/markdown/about.md
@@ -1,37 +1,37 @@
-## System info
+## 系統資訊
-In case you're having trouble with SRM, feel free to visit the [discord](https://discord.gg/bnSVJrz) or the [subreddit](https://www.reddit.com/r/SteamRomManager/) and ask for our help. In order for us to help you, we would like you to provide this info: In order for us to help you, we would like you to provide this info: In order for us to help you, we would like you to provide this info: In order for us to help you, we would like you to provide this info: In order for us to help you, we would like you to provide this info: In order for us to help you, we would like you to provide this info: In order for us to help you, we would like you to provide this info: In order for us to help you, we would like you to provide this info: In order for us to help you, we would like you to provide this info: In order for us to help you, we would like you to provide this info:
+In case you're having trouble with SRM, feel free to visit the [discord](https://discord.gg/bnSVJrz) or the [subreddit](https://www.reddit.com/r/SteamRomManager/) and ask for our help. In order for us to help you, we would like you to provide this info: In order for us to help you, we would like you to provide this info: In order for us to help you, we would like you to provide this info: In order for us to help you, we would like you to provide this info: In order for us to help you, we would like you to provide this info: In order for us to help you, we would like you to provide this info: In order for us to help you, we would like you to provide this info: In order for us to help you, we would like you to provide this info: In order for us to help you, we would like you to provide this info: In order for us to help you, we would like you to provide this info: 為了提供您所需的協助,希望您提供以下資訊
-* SRM version: **#{APP[version]}**
+* SRM version: **#{APP[version]}** emudeckText
* Operating System: **#{APP[os]}**
-## Useful links
+## 實用連結
* [SRM Releases](https://github.com/SteamGridDB/steam-rom-manager/releases)
-* [Discord Server](https://discord.gg/bnSVJrz)
+* [Discord 伺服器](https://discord.gg/bnSVJrz)
* [r/SteamRomManager](https://www.reddit.com/r/SteamRomManager/)
-* [Steam Group](https://steamcommunity.com/groups/steamrommanager)
-* [Github Repo](https://github.com/SteamGridDB/steam-rom-manager)
-* [Crowdin Translation Project](https://crowdin.com/project/steam-rom-manager)
+* [Steam 群組](https://steamcommunity.com/groups/steamrommanager)
+* [GitHub 項目](https://github.com/SteamGridDB/steam-rom-manager)
+* [Crowdin 翻譯項目](https://crowdin.com/project/steam-rom-manager)
-## Support
+## 支援
Help support continued progress on Steam ROM Manager at:
-
+
-If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on.
+If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. If you enjoy Steam ROM Manager and want it to continue to be useful also consider supporting [SteamGridDB](https://www.steamgriddb.com/)'s Patreon. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on. [SteamGridDB](https://www.steamgriddb.com/) hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on.
-## Contributions
+## 貢獻值
* `FrogTheFrog`{.noWrap} - Creator of SRM, no longer active on SRM but currently working on the [MoonDeck Plugin](https://github.com/FrogTheFrog/moondeck)
-### Current Maintainers
+### 目前維護者
* `lontanadascienza`{.noWrap} - Updated SRM to handle heroes, posters, logos, and icons. Added the exception manager, controller management, platform parsers (Epic, GOG, Steam, etc), among many other things. Squashes bugs almost as fast as he introduces them. Added the exception manager, controller management, platform parsers (Epic, GOG, Steam, etc), among many other things. Squashes bugs almost as fast as he introduces them.
* `Zennn`{.noWrap} - Added category support, langauge localization, and the bug report server among many other things. Big boss over at [SteamGridDB](https://www.steamgriddb.com/). Big boss over at [SteamGridDB](https://www.steamgriddb.com/).
* `KenCinder`{.noWrap} - Manages and creates community parser presets and helps user setup SRM in [Discord](https://discord.gg/bnSVJrz).
@@ -43,10 +43,11 @@ If you enjoy Steam ROM Manager and want it to continue to be useful also conside
* `CarJem`{.noWrap} - Added the manual parser.
* `MattMckenzy`{.noWrap} - Added ability to import and export image choices.
* `Apalatn`{.noWrap} - Added an install drive redirect option to the itch.io parser.
-* `OneMoreByte` - Made itch.io parser work on linux and mac.
-* `UndarkAido` - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `OneMoreByte`{.noWrap} - Made itch.io parser work on linux and mac.
+* `UndarkAido`{.noWrap} - Added shortcut passthrough for Linux's .desktop shortcuts.
+* `HazardousBackup`{.noWrap} - Added option to GOG parser to parse Registry instead of GOG's DB.
-### Community
+### 社群
* `HE Spoke`{.noWrap} - created a community around SRM. `HE Spoke`{.noWrap} - created a community around SRM. `HE Spoke`{.noWrap} - created a community around SRM. Creator of [Steam](https://steamcommunity.com/groups/steamrommanager) and [Discord](https://discord.gg/bnSVJrz) groups. Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz). Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz). Also helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
* `livedeht`{.noWrap} - Helps users setup SRM with and without [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/). `livedeht`{.noWrap} - Helps users setup SRM with and without [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/). Current maintainer of [EmuDeck](https://www.emudeck.com/).
* `Choko`{.noWrap} - Helps users setup SRM in [Discord](https://discord.gg/bnSVJrz).
diff --git a/src/lang/zh-TW/markdown/amazon-games-parser-input.md b/src/lang/zh-TW/markdown/amazon-games-parser-input.md
index 7ac728e20b..770697198e 100644
--- a/src/lang/zh-TW/markdown/amazon-games-parser-input.md
+++ b/src/lang/zh-TW/markdown/amazon-games-parser-input.md
@@ -1,4 +1,4 @@
-# Amazon Games Parser specific inputs
+# Amazon Games Parser Specific Inputs
## Amazon Games Path Override
By default Steam ROM Manager assumes your Amazon Games installation is located at `C:\Users\<username>\AppData\Local\Amazon Games\App\Amazon Games.exe`. This field allows you to override that path if your Amazon Games installation is elsewhere.
diff --git a/src/lang/zh-TW/markdown/amazon-games-parser.md b/src/lang/zh-TW/markdown/amazon-games-parser.md
index cdfda7c283..eb556fcc6e 100644
--- a/src/lang/zh-TW/markdown/amazon-games-parser.md
+++ b/src/lang/zh-TW/markdown/amazon-games-parser.md
@@ -1,3 +1,3 @@
# Amazon Games Parser
-This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `Amazon Games` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Amazon Games has altered the structure of their game database or their fuel.json, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/zh-TW/markdown/battle-net-parser-input.md b/src/lang/zh-TW/markdown/battle-net-parser-input.md
new file mode 100644
index 0000000000..1f03fae4a6
--- /dev/null
+++ b/src/lang/zh-TW/markdown/battle-net-parser-input.md
@@ -0,0 +1,5 @@
+# Battle.net Parser Specific Inputs
+
+## Battle.net.exe Path Override
+
+By default Steam ROM Manager assumes your `Battle.net` executable is located at `C:\Program Files (x86)\Battle.net\Battle.net.exe`. This field allows you to override that if your `Battle.net` is installed elsewhere.
diff --git a/src/lang/zh-TW/markdown/battle-net-parser.md b/src/lang/zh-TW/markdown/battle-net-parser.md
new file mode 100644
index 0000000000..c3ffb10b67
--- /dev/null
+++ b/src/lang/zh-TW/markdown/battle-net-parser.md
@@ -0,0 +1,5 @@
+# Battle.net Parser
+
+This parser imports games from the `Battle.net` app, so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because Blizzard has altered the structure of their database files, in which case please let the developers of SRM know and we will resolve the issue.
+
+The `Battle.net` parser is somewhat special in that it uses a shell script at `${srmDir}/scripts/bnet.ps1` in order to launch `Battle.net`, wait an appropriate amount of time, and only then launch the actual title.
diff --git a/src/lang/zh-TW/markdown/config-title.md b/src/lang/zh-TW/markdown/config-title.md
index ed2eeef493..abadc31951 100644
--- a/src/lang/zh-TW/markdown/config-title.md
+++ b/src/lang/zh-TW/markdown/config-title.md
@@ -1,3 +1,5 @@
-# Configuration title
+# Parser title
-Title to save user configuration as. Does not have to be unique, but is required.
\ No newline at end of file
+Title of the parser. Does not have to be unique, but is required.
+
+This field will not affect what is added to `Steam` in any way.
diff --git a/src/lang/zh-TW/markdown/controller-templates.md b/src/lang/zh-TW/markdown/controller-templates.md
index 4821bc5dce..93ea64542d 100644
--- a/src/lang/zh-TW/markdown/controller-templates.md
+++ b/src/lang/zh-TW/markdown/controller-templates.md
@@ -17,10 +17,10 @@ In the SRM parser:
Currently, SRM pulls all of the default (Valve made) templates for each controller as well as all of the user defined templates that end in `(SRM)`.
-* Select your templates and save the parser. Select your templates and save the parser. Select your templates and save the parser. Select your templates and save the parser. Select your templates and save the parser. The controller configsets will be applied once you hit `Save App List` in the preview. Select your templates and save the parser. Select your templates and save the parser. Select your templates and save the parser. Select your templates and save the parser. Select your templates and save the parser. The controller configsets will be applied once you hit `Save App List` in the preview. Select your templates and save the parser. The controller configsets will be applied once you hit `Save App List` in the preview.
+* Select your templates and save the parser. Select your templates and save the parser. Select your templates and save the parser. Select your templates and save the parser. Select your templates and save the parser. The controller configsets will be applied once you hit `Save App List` in the preview. The controller configsets will be applied once you hit `Save to Steam` in the Add Games.
* To unset controller configs, you may either `Remove All Added App Entries` from global settings (this deletes all SRM made changes to your steam data) or hit `Unset All Controllers` in the parser (this only removes controller settings for the steam directory and user specified in that parser).
-Once this is done you can generate and save the preview as usual, and the template will be applied to all the titles in the parser.
+Once this is done you can parse and add games to steam as usual, and the templates will be applied to all the titles in the parser.
diff --git a/src/lang/zh-TW/markdown/default-image.md b/src/lang/zh-TW/markdown/default-image.md
index 47e3f9261e..7bf4e6413d 100644
--- a/src/lang/zh-TW/markdown/default-image.md
+++ b/src/lang/zh-TW/markdown/default-image.md
@@ -1,4 +1,4 @@
-# Default image (optional) `[supports variables]`{.noWrap}
+# Default image `[supports variables]`{.noWrap}
Allows one to use an image, stored locally, as a default/fallback image. A [special glob input](#special-glob-input) string is used to retrieve images. Only the first retrieved image is used.
diff --git a/src/lang/zh-TW/markdown/ea-desktop-parser-input.md b/src/lang/zh-TW/markdown/ea-desktop-parser-input.md
index 5f24ae3d99..496926711b 100644
--- a/src/lang/zh-TW/markdown/ea-desktop-parser-input.md
+++ b/src/lang/zh-TW/markdown/ea-desktop-parser-input.md
@@ -1,9 +1,9 @@
-# EA Desktop Parser specific inputs
+# EA Desktop Parser Specific Inputs
## EA Games Directory Override
-By default Steam ROM Manager assumes your `EA Desktop` games are installed at ``C:\Program Files\EA Games\`. This field allows you to change that to wherever your games are installed, e.g.``D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`.
+By default Steam ROM Manager assumes your `EA Desktop` games are installed at ``C:\Program Files\EA Games\`. This field allows you to change that to wherever your games are installed, e.g.``D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`. This field allows you to change that to wherever your games are installed, e.g.D:\Games\EA Games`.
## Launch Games Via EA Desktop
If enabled SRM will add a shortcut to `origin2://game/launch/?offerIds=${gameid}` instead of just the game's executable. This ensures the game launches via EA and will have access to online services. This ensures the game launches via EA and will have access to online services. This ensures the game launches via EA and will have access to online services. This ensures the game launches via EA and will have access to online services. This ensures the game launches via EA and will have access to online services. This ensures the game launches via EA and will have access to online services. This ensures the game launches via EA and will have access to online services. This ensures the game launches via EA and will have access to online services. This ensures the game launches via EA and will have access to online services. This ensures the game launches via EA and will have access to online services. This ensures the game launches via EA and will have access to online services. This ensures the game launches via EA and will have access to online services. This ensures the game launches via EA and will have access to online services. This ensures the game launches via EA and will have access to online services.
-`This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on.`
+`This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on. This is required to add EA Play games. This is required to add EA Play games. EA Play games will not be detected if this is not toggled on.`
diff --git a/src/lang/zh-TW/markdown/epic-parser-input.md b/src/lang/zh-TW/markdown/epic-parser-input.md
index 803885ffb2..7881d42ed0 100644
--- a/src/lang/zh-TW/markdown/epic-parser-input.md
+++ b/src/lang/zh-TW/markdown/epic-parser-input.md
@@ -1,4 +1,4 @@
-# Epic Games Store specific inputs
+# Epic Games Store Specific Inputs
## Manifests Directory Override
@@ -8,4 +8,4 @@ If, however, for some reason your manifests directory is located in a non-typica
## Launch Via Epic Games Store `[Recommend enabled]`
-This toggle lets you set whether games will launch via the Epic Games Store or directly. This toggle lets you set whether games will launch via the Epic Games Store or directly. If you don't launch via the `Epic Games Store` you will not have access to Epic's online services in game. This toggle lets you set whether games will launch via the Epic Games Store or directly. If you don't launch via the `Epic Games Store` you will not have access to Epic's online services in game.
+This toggle lets you set whether games will launch via the Epic Games Store or directly. This toggle lets you set whether games will launch via the Epic Games Store or directly. If you don't launch via the `Epic Games Store` you will not have access to Epic's online services in game. This toggle lets you set whether games will launch via the Epic Games Store or directly. If you don't launch via the `Epic Games Store` you will not have access to Epic's online services in game. This toggle lets you set whether games will launch via the Epic Games Store or directly. If you don't launch via the `Epic Games Store` you will not have access to Epic's online services in game.
diff --git a/src/lang/zh-TW/markdown/executable-arguments.md b/src/lang/zh-TW/markdown/executable-arguments.md
index 8b5121722a..d2d57f68d3 100644
--- a/src/lang/zh-TW/markdown/executable-arguments.md
+++ b/src/lang/zh-TW/markdown/executable-arguments.md
@@ -1,6 +1,6 @@
-# Command line arguments (optional) `[supports variables]`{.noWrap}
+# Command line arguments `[supports variables]`{.noWrap}
-Arguments which are appended to executable to produce final shortcut. Most of the time you will want to set it using provided parser variables.
+Arguments which are appended to executable to produce final shortcut. Most of the time you will want to set it using provided parser variables. Most of the time you will want to set it using provided parser variables.
## Examples By System
@@ -49,7 +49,7 @@ Arguments which are appended to executable to produce final shortcut. Most of th
### Nestopia (NES/Famicom)
```
-"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
+"${filePath}" -video fullscreen bpp : 16 -video fullscreen width : 1024 -video fullscreen height : 768 -preferences fullscreen on start : yes -view size fullscreen : stretched
```
### higan (NES/Famicom, SNES/Famicom, Gameboy, Gameboy Color, Gameboy Advance)
@@ -126,15 +126,15 @@ This setting is used to influence Steam's APP ID.
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
+In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
## Name variables
@@ -175,18 +175,19 @@ In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is
## Function variables
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+| Variable (case-insensitive) | Corresponding function |
+| -----------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------------------------------------------- |
+| `${regex\|input\|substitution(optional)}` | Executes regex on input. Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
+| `${uc\|input}` | Uppercase variable. Uppercase variable. Transforms input to uppercase |
+| `${lc\|input}` | Lowercase variable. Lowercase variable. Transforms input to lowercase |
+| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
+| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
+| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
### Function variable example
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables: Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -196,7 +197,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/zh-TW/markdown/executable-location.md b/src/lang/zh-TW/markdown/executable-location.md
index b13f57494f..36fbbc9a46 100644
--- a/src/lang/zh-TW/markdown/executable-location.md
+++ b/src/lang/zh-TW/markdown/executable-location.md
@@ -1,4 +1,4 @@
-# Executable (optional) `[supports environment variables]`
+# Executable `[supports env variables]`
Path to emulator's executable. Can be a file or any valid system path.
@@ -6,6 +6,8 @@ Path to emulator's executable. Can be a file or any valid system path.
In some cases you might want to run game from a some kind batch file which will also automatically run the emulator itself. If that is the case, then providing executable is unnecessary.
+The final shortcut will just be `"${filePath}" --command-line-args`.
+
### So, how do I add files to Steam without default executable?
All files retrieved by a parser will be treated as executables instead.
diff --git a/src/lang/zh-TW/markdown/executable-modifier.md b/src/lang/zh-TW/markdown/executable-modifier.md
index c3c5739e86..2131f6964d 100644
--- a/src/lang/zh-TW/markdown/executable-modifier.md
+++ b/src/lang/zh-TW/markdown/executable-modifier.md
@@ -1,102 +1,23 @@
# Executable modifier `[supports variables]`{.noWrap}
-Default value is `"${exePath}"`{.noWrap}. This setting can be used to prepend or append desired characters to an executable which will be added to Steam (`Target` property). For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you can add `"cmd" /k start /min` to it by setting value to:
+Defaults to `"${exePath}"`{.noWrap} if unset. This field can be used to prepend or append desired characters to the executable which will be added to the Steam shortcut's `Target` property. For example, given that `${exePath}`{.noWrap} is `C:\RetroArch\retroarch.exe`, you could start `Retroarch` minimized by setting the `Executable Modifier` "cmd" to:
+
```
"cmd" /k start /min "${exePath}"
```
-You can use any other variable to construct the final executable.
-
-This setting influences Steam's APP ID.
-
-
-## Shortcut Passthrough
-If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the target of that shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the "Command Line Arguments" field in the parser.
-
-## Directory variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
-
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
-
-## Name variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------------------------------- |
-| `${exeName}` | Name of executable (without extension) |
-| `${fileName}` | Name of file which was returned by a parser (without extension) |
-
-In case executable directory input is left **empty**, `${exeName}`{.noWrap} is equal to `${fileName}`{.noWrap}.
-
-## Extension variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------------------- |
-| `${exeExt}` | Extension of executable (with a dot) |
-| `${fileExt}` | Extension of file which was returned by a parser (with a dot) |
-In case executable directory input is left **empty**, `${exeExt}`{.noWrap} is equal to `${fileExt}`{.noWrap}.
+In this case the `Target` property would begin with:
-## Path variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:-------------------------------------------------- |
-| `${exePath}` | Full path to an executable |
-| `${filePath}` | Full path to a file which was returned by a parser |
-
-In case executable directory input is left **empty**, `${exePath}`{.noWrap} is equal to `${filePath}`{.noWrap}.
-
-## Parser variables
-
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:------------------------------------------------ |
-| `${title}` | Extracted title |
-| `${fuzzyTitle}` | Fuzzy matched title |
-| `${finalTitle}` | Title which was the end result of title modifier |
-
-In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
+```
+"cmd" /k start /min "C:\RetroArch\retroarch.exe"
+```
-## Function variables
+followed by whatever launch arguments you choose in the `Command Line Arguments` field.
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+You can use any other variable to construct the final executable.
-### Function variable example
+This setting influences Steam's APP ID.
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
-```
-${/.*/|${title}} //Matches everything
-${/(.*)/|${title}} //Captures everything
-${/(\(.*?\))/|${title}|} //Captures all brackets and substitutes with nothing
-${/(\(Disc\s?[0-9]\))/|${title}} //Captures "Disc..." part
-${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transforms it to uppercase
-${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
-file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
-```
-will be replaced with these:
-```
-Pokémon (USA) (Disc 1).iso
-Pokémon (USA) (Disc 1).iso
-Pokémon.iso
-(Disc 1)
-(DISC 1)
-Pokemon (USA) (Disc 1).iso
+## Shortcut Passthrough
---On linux:
-file.so
---On Windows:
-file.dll
---On Mac OS:
-file
-```
+If you enable `Follow .lnk/.desktop to destination` and the glob search finds a `.lnk` or `.desktop` file, ie a shortcut, then the `${filePath}` variable will contain the target of the shortcut rather than the path to the shortcut. If you would like to add executable arguments either add them to the target of the shortcut or use the `Command Line Arguments` field in the parser.
diff --git a/src/lang/zh-TW/markdown/glob-parser-input.md b/src/lang/zh-TW/markdown/glob-parser-input.md
index 996ae77ce1..2a43592892 100644
--- a/src/lang/zh-TW/markdown/glob-parser-input.md
+++ b/src/lang/zh-TW/markdown/glob-parser-input.md
@@ -1,4 +1,4 @@
-# Glob Parser specific inputs
+# Glob Parser Specific Inputs
## User's glob
diff --git a/src/lang/zh-TW/markdown/glob-regex-parser-input.md b/src/lang/zh-TW/markdown/glob-regex-parser-input.md
index 22c1f5cea6..b6201b10f2 100644
--- a/src/lang/zh-TW/markdown/glob-regex-parser-input.md
+++ b/src/lang/zh-TW/markdown/glob-regex-parser-input.md
@@ -1,12 +1,12 @@
-# Glob-regex Parser specific inputs
+# Glob-regex Parser Specific Inputs
## User's glob-regex
-This is where you create your glob for extracting title from file path. Please read all of [special glob characters](#special-glob-characters) if you don't know how to construct a glob.
+This is where you create your glob for extracting title from file path. This is where you create your glob for extracting title from file path. Please read all of [special glob characters](#special-glob-characters) if you don't know how to construct a glob.
## How does it work?
-In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example:
+In addition to special glob characters, glob parser requires you to enter `${/.../}`{.noWrap} variable. Parser will locate it's position inside your glob, for example: Parser will locate it's position inside your glob, for example:
| User's glob | Position |
| --------------------- | --------------------------- |
@@ -18,7 +18,7 @@ After acquiring `${/.../}`{.noWrap} position, `${/.../}`{.noWrap} will be replac
## Regex post-processing
-After title extraction, title will be processed by a regular expression. There are 3 ways you can write a regular expression.
+After title extraction, title will be processed by a regular expression. There are 3 ways you can write a regular expression. There are 3 ways you can write a regular expression.
### Regular expression with no capture: `${/.+/}`{.noWrap}
@@ -26,15 +26,15 @@ This is practically identical to "Glob" parser -- every piece of extracted title
### Regular expression with capture brackets: `${/(.+)/}`{.noWrap}
-Multiple matches and capture groups are allowed. For example, here we have 2 match groups with multiple capture groups:
+Multiple matches and capture groups are allowed. Multiple matches and capture groups are allowed. For example, here we have 2 match groups with multiple capture groups:
```
${/(.*?)\s*\[USA\]\s*(.+)|(.*)/}
```
-First match group (from left to right) with all correct captures will be used. Furthermore, all capture groups will be **joined**.
+First match group (from left to right) with all correct captures will be used. First match group (from left to right) with all correct captures will be used. Furthermore, all capture groups will be **joined**.
### Regular expression with capture brackets and replacement text: `${/(.+)/|...}`{.noWrap}
-Similar to [regular expression with capture brackets](#regular-expression-with-capture-brackets) except for how it handles captured groups. Replacement text can be used to move around captured groups. For example:
+Similar to [regular expression with capture brackets](#regular-expression-with-capture-brackets) except for how it handles captured groups. Replacement text can be used to move around captured groups. For example: Replacement text can be used to move around captured groups. For example:
```
${/(.*?)\s*\[USA\]\s*(.+)/|Second capture group: "$2" precedes the first one, which is "$1" }
```
@@ -50,4 +50,4 @@ Allowed flags are `i`, `g` and `u`.
## Limitations
-Position extraction comes with some limitations -- glob is invalid if position can not be extracted. Most of the time you will be warned about what you can't do, however, if you find a combination that is allowed, but produces incorrect titles please make an issue at [github](https://github.com/FrogTheFrog/steam-rom-manager/issues).
+Position extraction comes with some limitations -- glob is invalid if position can not be extracted. Position extraction comes with some limitations -- glob is invalid if position can not be extracted. Most of the time you will be warned about what you can't do, however, if you find a combination that is allowed, but produces incorrect titles please make an issue at [github](https://github.com/FrogTheFrog/steam-rom-manager/issues).
diff --git a/src/lang/zh-TW/markdown/gog-parser-input.md b/src/lang/zh-TW/markdown/gog-parser-input.md
index 756fa3de77..bf185f2c23 100644
--- a/src/lang/zh-TW/markdown/gog-parser-input.md
+++ b/src/lang/zh-TW/markdown/gog-parser-input.md
@@ -1,10 +1,20 @@
-# Unique inputs for GOG Galaxy Parser
+# GOG Galaxy Parser Specific Inputs
## Galaxy Path Override
-By default Steam ROM Manager assumes your Galaxy Client is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe`. This field allows you to override that path if your GOG Galaxy installation is elsewhere.
-This field is actually only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of the Galaxy Client.
+By default Steam ROM Manager assumes your GOG Galaxy executable is located at `C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe` on Windows and `/Applications/GOG Galaxy.app/Contents/MacOS/GOG Galaxy` on Mac. This field allows you to override that path if your GOG Galaxy executable is elsewhere.
-## Launch Via GOG Galaxy `[Recommend disabled]`
+Specifying the correct location of GOG Galaxy's executable is only necessary if you enable launch via GOG Galaxy (see below), as otherwise SRM has no need of the location of GOG Galaxy's executable.
-What it sounds like, this toggle let's you set whether games will launch via GOG Galaxy or directly. Note that for some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+## Launch via GOG Galaxy `[Recommend disabled]`
+
+What it sounds like, this toggle determines whether games launch via GOG Galaxy or directly. For some games launching from GOG Galaxy may fail, and the Steam overlay will most likely not work.
+
+## Parse Linked Executables from GOG Galaxy
+
+If enabled, SRM will pull in not only GOG games aquired from GOG Galaxy's store, but also those you have manually linked executables for in GOG Galaxy. This is desirable if those games are not being parsed into SRM elsewhere.
+
+A caveat is that because GOG Galaxy does not store the names linked executables in its database, SRM will use the directory name of the executable on Windows (e.g. `C:\\path\\to\\Hoa\\LaunchHoa.exe` would be assigned the title `Hoa`) and the executable name on Mac (e.g. `/Applications/Symphonia.app` would be assigned the title `Symphonia`).
+
+## Parse using Registry instead of Galaxy DB `[Windows only] [Recommend disabled]`
+This option will parse the Windows Registry for installed GOG games instead of GOG Galaxy's SQL database, allowing the parser to work even if GOG Galaxy is not installed. If this is enabled, `Parse Linked Executables` will of have no effect, but `Launch via GOG Galaxy` will work as normal.
\ No newline at end of file
diff --git a/src/lang/zh-TW/markdown/image-pool.md b/src/lang/zh-TW/markdown/image-pool.md
index 8b54cf72d9..0b4e4a94fb 100644
--- a/src/lang/zh-TW/markdown/image-pool.md
+++ b/src/lang/zh-TW/markdown/image-pool.md
@@ -1,3 +1,5 @@
-# Image pool `[supports variables]`{.noWrap}
+# Artwork pool `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting is used to allow different apps share the same images -- same "image pool", or allow unique image pool per app. To use unique image pool per app just set it to something unique. For example `${fuzzyTitle} SNES`{.noWrap}.
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset.
+
+This field is used to allow games from different parsers to share the same images (i.e. the same "image pool") if they have the same title. If you want different parsers not to share images for games with the same title, just set this field to something unique, for example `${fuzzyTitle} SNES`{.noWrap} or `${fuzzyTitle} ${parserTitle}`{.noWrap}.
diff --git a/src/lang/zh-TW/markdown/image-providers.md b/src/lang/zh-TW/markdown/image-providers.md
index 0b778780c6..f70a9275f6 100644
--- a/src/lang/zh-TW/markdown/image-providers.md
+++ b/src/lang/zh-TW/markdown/image-providers.md
@@ -1,7 +1,7 @@
-# Image providers
+# Artwork providers
-Here you can select image providers that are used to retrieve images. This option is for this configuration only.
+Here you can select artwork providers (online sources of game art) that are used by SRM to get art for your games.
## Similar option in "Settings" menu
-Settings menu has "Enabled providers" which enable image providers globally -- if it's not enabled in Settings, it won't work.
+Settings menu has "Enabled providers" which enable artwork providers globally -- if it's not enabled in Settings, it won't work.
diff --git a/src/lang/zh-TW/markdown/intro.md b/src/lang/zh-TW/markdown/intro.md
index f8d5fcabda..a6d65c0059 100644
--- a/src/lang/zh-TW/markdown/intro.md
+++ b/src/lang/zh-TW/markdown/intro.md
@@ -8,8 +8,8 @@ Also, don't forget to check FAQ. If you still got questions about setting up con
After saving parser configuration, **1** of **3** colors will be shown next to its title:
- -- Enabled configuration. This configuration will be used when generating a list in **preview** page.
+ -- Enabled configuration. This configuration will be used when generating a list in **Add Games** page.
- -- Unsaved changes. This configuration will not be used when generating a list in **preview** page, however earlier **saved** version will be used instead.
+ -- Unsaved changes. This configuration will not be used when generating a list in **Add Games** page, however earlier **saved** version will be used instead.
- -- Disabled configuration. This configuration will not be used when generating a list in **preview** page.
\ No newline at end of file
+ -- Disabled configuration. This configuration will not be used when generating a list in **Add Games** page.
\ No newline at end of file
diff --git a/src/lang/zh-TW/markdown/itch-io-parser-input.md b/src/lang/zh-TW/markdown/itch-io-parser-input.md
index 71aca9025b..fad1b682de 100644
--- a/src/lang/zh-TW/markdown/itch-io-parser-input.md
+++ b/src/lang/zh-TW/markdown/itch-io-parser-input.md
@@ -1,7 +1,7 @@
-# itch.io Parser specific inputs
+# itch.io Parser Specific Inputs
## itch.io AppData Path Override
-By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere.
+By default Steam ROM Manager assumes your itch.io app data is located at `%APPDATA%\itch` on windows `$HOME/.config/itch` on linux and `$HOME/Library/Application Support/itch` on macos. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere. This field allows you to override that path if your itch.io user data is elsewhere.
## itch.io Windows-on-Linux Install Drive Redirect
On Linux, Windows app locations are recorded with Windows paths, even if running via Proton/Wine. If set, this field replaces the root of game paths. On Linux, Windows app locations are recorded with Windows paths, even if running via Proton/Wine. If set, this field replaces the root of game paths. For example, this would change a `C:\\Path\To\Game.exe` to `\Path\To\Game.exe`. If set, this field replaces the root of game paths. On Linux, Windows app locations are recorded with Windows paths, even if running via Proton/Wine. If set, this field replaces the root of game paths. For example, this would change a `C:\\Path\To\Game.exe` to `\Path\To\Game.exe`. If set, this field replaces the root of game paths. For example, this would change a `C:\\Path\To\Game.exe` to `/Path/To/Game.exe`.
diff --git a/src/lang/zh-TW/markdown/itch-io-parser.md b/src/lang/zh-TW/markdown/itch-io-parser.md
index 7f29ffc42d..accb8b5ad2 100644
--- a/src/lang/zh-TW/markdown/itch-io-parser.md
+++ b/src/lang/zh-TW/markdown/itch-io-parser.md
@@ -1,3 +1,3 @@
# itch.io Parser
-This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
\ No newline at end of file
+This parser imports games from `the itch.io desktop app` so that artwork can be chosen for them and they can be added into Steam. If it doesn't work it is because itch.io has altered the structure of their game database, in this case please let the developers of SRM know and we will resolve the issue.
diff --git a/src/lang/zh-TW/markdown/legendary-parser-input.md b/src/lang/zh-TW/markdown/legendary-parser-input.md
index 80ca0bcbbc..4a826e43da 100644
--- a/src/lang/zh-TW/markdown/legendary-parser-input.md
+++ b/src/lang/zh-TW/markdown/legendary-parser-input.md
@@ -1,7 +1,17 @@
-# Legendary Parser specific inputs
+# Legendary Parser Specific Inputs
+
+## Legendary Path Override
+
+By default Steam ROM Manager uses `(Get-Command legendary).Path` on Windows and `which legendary` on Linux and Mac to determine the location of your Legendary executable. This field allows you to override that path.
+
+Specifying the correct location of the Legendary executable is only necessary if you enable launch via Legendary (see below), as otherwise SRM has no need of the location of Legendary's executable.
## Legendary `installed.json` Path Override
Most users shouldn't use this, as they use the standard `Legendary` installation where installed games manifest will be located at `~/.config/legendary/installed.json`.
If, however, for some reason your installed games manifest is located in a non-typical location then you can specify the correct manifest path here.
+
+## Launch via Legendary `[Recommend enabled]`
+
+What it sounds like, this toggle determines whether games launch via Legendary or directly. Launching via Legendary provides access to Epic's online services.
diff --git a/src/lang/zh-TW/markdown/local-images.md b/src/lang/zh-TW/markdown/local-images.md
index 390870d6b4..16dadc8419 100644
--- a/src/lang/zh-TW/markdown/local-images.md
+++ b/src/lang/zh-TW/markdown/local-images.md
@@ -1,12 +1,12 @@
-# Local images (optional) `[supports variables]`{.noWrap}
+# Local images `[supports variables]`{.noWrap}
-Allows one to use images stored locally. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Allows one to use images stored locally. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Allows one to use images stored locally. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Allows one to use images stored locally. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
+Allows one to use images stored locally. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Allows one to use images stored locally. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Allows one to use images stored locally. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Allows one to use images stored locally. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Allows one to use images stored locally. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. Allows one to use images stored locally. Allows one to use images stored locally. A [special glob input](#special-glob-input) string is used to retrieve images, so for example you might do `/path/to/heroes/${title}.@(png|jpg)`. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example. Backslashes can be used to escape characters, so that if your images live in `artwork [portraits]` you might do `/path/to/artwork \[portraits\]/${title}.@(png|jpg)`. A good idea is to set your artwork directory globally and then use the `${localimages}` dir environment variable in this field: `${localimagesdir}/emuname/heroes/${title}.@(png|jpg)` for example.
Any variable you use in this field that contains special glob characters will have those characters escaped.
## Allowed image extensions
-Only `JPEG`{.noWrap}, `JPG`{.noWrap}, `PNG`{.noWrap} and `TGA`{.noWrap} file extensions are supported. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Only `JPEG`{.noWrap}, `JPG`{.noWrap}, `PNG`{.noWrap} and `TGA`{.noWrap} file extensions are supported. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list.
+Only `JPEG`{.noWrap}, `JPG`{.noWrap}, `PNG`{.noWrap} and `TGA`{.noWrap} file extensions are supported. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Only `JPEG`{.noWrap}, `JPG`{.noWrap}, `PNG`{.noWrap} and `TGA`{.noWrap} file extensions are supported. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Only `JPEG`{.noWrap}, `JPG`{.noWrap}, `PNG`{.noWrap} and `TGA`{.noWrap} file extensions are supported. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list. Even if parser finds files with other extensions, they are not included into the final list.
## Can you move the directory of local images after saving app list?
diff --git a/src/lang/zh-TW/markdown/manual-parser-input.md b/src/lang/zh-TW/markdown/manual-parser-input.md
index bc1848d45a..65265ebd32 100644
--- a/src/lang/zh-TW/markdown/manual-parser-input.md
+++ b/src/lang/zh-TW/markdown/manual-parser-input.md
@@ -1,4 +1,4 @@
-# Manual Parser specific inputs
+# Manual Parser Specific Inputs
## Manifests Directory `[Supports Environment Variables]`{.noWrap}
@@ -17,7 +17,8 @@ The names of the files do not matter. What does matter is that each `manifest.js
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args",
+ "appendArgsToExecutable": false
}
```
Or a list of titles, like so:
@@ -27,15 +28,19 @@ Or a list of titles, like so:
"title": "gameTitle",
"target": "game/path/target.sh",
"startIn": "game/path",
- "launchOptions": "--args"
+ "launchOptions": "--args".
+ "appendArgsToExecutable": true
},
{
"title": "gameTitle2",
"target": "game2/path/target.sh",
"startIn": "game2/path",
- "launchOptions": "--args2"
+ "launchOptions": "--args2",
+ "appendArgsToExecutable": false
}
]
```
A typical use case would be to use a single json file per game type, or per year, etc.
+
+Just like for ROM parsers, `appendArgsToExecutable` determines whether `launchOptions` are appended to the shortcut `target` or appear separately as launch options in steam.
diff --git a/src/lang/zh-TW/markdown/non-srm-shortcuts-parser.md b/src/lang/zh-TW/markdown/non-srm-shortcuts-parser.md
new file mode 100644
index 0000000000..4485008a1a
--- /dev/null
+++ b/src/lang/zh-TW/markdown/non-srm-shortcuts-parser.md
@@ -0,0 +1,29 @@
+# Non-SRM Shortcut Parser
+
+This parser imports non SRM steam shortcuts into SRM so their artowrk can be managed. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
+
+## User accounts
+
+Used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
+
+```
+${...}
+```
+
+You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
+
+ {.fitImage .center}
+
+For example, this is how you specify account for "Banana" and "Apple":
+
+```
+${Banana}${Apple}
+```
+
+You can also limit accounts by specifying their ids directly. For example:
+
+```
+${56489124}${21987424}
+```
+
+Would limit the search to `steam/userdata/56489124` and `steam/userdata/21987424`.
diff --git a/src/lang/zh-TW/markdown/parser-env-variables.md b/src/lang/zh-TW/markdown/parser-env-variables.md
index 3b186a70f7..e95baf9137 100644
--- a/src/lang/zh-TW/markdown/parser-env-variables.md
+++ b/src/lang/zh-TW/markdown/parser-env-variables.md
@@ -13,3 +13,5 @@ These variables are pre parsed and can be used even in the Rom Directory, Steam
The utility of the environment variable `${srmdir}` is to make SRM fully portable, eg if you wanted to have the directory layout `D:\Games\Roms` and `D:\Games\PortableSRM\SRM.exe` then setting the field Roms Directory to be `${srmdir}${/}..${/}Roms` would allow you to move the Games directory somewhere else without breaking your setup.
+
+Function variables can also be used in fields that permit environment variables (e.g. `${os:win|C:\path\to\startdir|${os:linux|/path/to/startdir}}`)
diff --git a/src/lang/zh-TW/markdown/parser-variables.md b/src/lang/zh-TW/markdown/parser-variables.md
index 7e9eb636ff..6de5ddf4cd 100644
--- a/src/lang/zh-TW/markdown/parser-variables.md
+++ b/src/lang/zh-TW/markdown/parser-variables.md
@@ -1,18 +1,18 @@
# Parser variables
-Here are tables of variables that can be used with options that have `[supports variables]`{.noWrap} specified in their descriptions. Variable can be nested.
+Here are tables of variables that can be used with options that have `[supports variables]`{.noWrap} specified in their descriptions. Variable can be nested. Variable can be nested.
## Directory variables
-| Variable (case-insensitive) | Corresponding value |
-| ---------------------------:|:--------------------------------------- |
-| `${exeDir}` | Executable directory |
-| `${romDir}` | ROMs directory |
-| `${steamDir}` | Steam directory |
-| `${startInDir}` | "StartIn" directory |
-| `${fileDir}` | File's, returned by a parser, directory |
+| Variable (case-insensitive) | Corresponding value |
+| ---------------------------:|:----------------------------------------- |
+| `${exeDir}` | Executable directory |
+| `${romDir}` | ROMs directory |
+| `${steamDir}` | Steam directory |
+| `${startInDir}` | "StartIn" directory |
+| `${fileDir}` | Files returned by a parser or a directory |
-In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
+In case executable directory input is left **empty**, `${exeDir}`{.noWrap} is equal to `${fileDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}. Moreover, if "StartIn" directory is left **empty**, `${startInDir}`{.noWrap} is equal to `${exeDir}`{.noWrap}.
## Name variables
@@ -48,23 +48,25 @@ In case executable directory input is left **empty**, `${exePath}`{.noWrap} is e
| `${title}` | Extracted title |
| `${fuzzyTitle}` | Fuzzy matched title |
| `${finalTitle}` | Title which was the end result of title modifier |
+| `${parserTitle}` | The value of the `Parser Title` field |
In case fuzzy matching **fails** or is **disabled**, `${fuzzyTitle}`{.noWrap} is equal to `${title}`{.noWrap}.
## Function variables
-| Variable (case-insensitive) | Corresponding function |
-| -----------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------- |
-| `${regex\|input\|substitution(optional)}` | Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
-| `${uc\|input}` | Uppercase variable. Transforms input to uppercase |
-| `${lc\|input}` | Lowercase variable. Transforms input to lowercase |
-| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
-| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
-| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
+| Variable (case-insensitive) | Corresponding function |
+| -----------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------------------------------------------- |
+| `${regex\|input\|substitution(optional)}` | Executes regex on input. Executes regex on input. Supports `u`, `g` and `i` flags (captured groups are joined, unless substitution is provided) |
+| `${uc\|input}` | Uppercase variable. Uppercase variable. Transforms input to uppercase |
+| `${lc\|input}` | Lowercase variable. Lowercase variable. Transforms input to lowercase |
+| `${cv:group\|input}` | Change input with matched custom variable (group is optional) |
+| `${rdc\|input}` | Replace diacritic input characters with their latin equivalent |
+| `${os:[win\|mac\|linux]\|on match\|no match(optional)}` | If OS matches, uses `on match` value or `no match` otherwise |
### Function variable example
-Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables:
+Let's say that `${title}` variable equals to `Pokémon (USA) (Disc 1).iso`. Then these variables: Then these variables:
+
```
${/.*/|${title}} //Matches everything
${/(.*)/|${title}} //Captures everything
@@ -74,7 +76,9 @@ ${uc|${/(\(Disc\s?[0-9]\))/|${title}}} //Captures "Disc..." part and transfo
${rdc|${title}} //Replace diacritic characters (in this case: é -> e)
file${os:linux|.so|${os:win|.dll}} //Selects correct file extension for OS
```
+
will be replaced with these:
+
```
Pokémon (USA) (Disc 1).iso
Pokémon (USA) (Disc 1).iso
diff --git a/src/lang/zh-TW/markdown/parsers-list.md b/src/lang/zh-TW/markdown/parsers-list.md
index 9dcadb57ff..807b2c143f 100644
--- a/src/lang/zh-TW/markdown/parsers-list.md
+++ b/src/lang/zh-TW/markdown/parsers-list.md
@@ -1,3 +1,3 @@
# Parsers
-In this page you can chose what systems you want to add to your Steam Library. In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Generate Apps** In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Generate Apps** In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Generate Apps** In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Generate Apps** In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Preview** and then on **Generate Apps** Simply toggle them on or off, after that click on **Preview** and then on **Parse**
+In this page you can chose what systems you want to add to your Steam Library. In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**. In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**. In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**. In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**. In this page you can chose what systems you want to add to your Steam Library. Simply toggle them on or off, after that click on **Add Games**. Simply toggle them on or off, after that click on **Add Games** Simply toggle them on or off, after that click on **Add Games**
diff --git a/src/lang/zh-TW/markdown/rom-directory.md b/src/lang/zh-TW/markdown/rom-directory.md
index 555452224f..5b15d2e2b7 100644
--- a/src/lang/zh-TW/markdown/rom-directory.md
+++ b/src/lang/zh-TW/markdown/rom-directory.md
@@ -1,3 +1,3 @@
-# ROMs directory `[supports environment variables]`
+# ROMs directory `[supports env variables]`
Starting directory for game or app files.
diff --git a/src/lang/zh-TW/markdown/settings.md b/src/lang/zh-TW/markdown/settings.md
index c35d49e806..dd35c64609 100644
--- a/src/lang/zh-TW/markdown/settings.md
+++ b/src/lang/zh-TW/markdown/settings.md
@@ -1,31 +1,51 @@
## General Settings
+### Check for updates on start `[Recommend enabled]`
+Check if an update for SRM is available and prompt to update each time SRM launches.
+### Auto kill Steam `[Recommend enabled]`
+SRM will attempt to kill all running instances of Steam whenever it needs to read/write collections information (specifically when saving to steam from `Add Games` and when removing all games from `Settings`).
+### Auto restart Steam `[Recommend enabled]`
+SRM will attempt to restart Steam after killing it and completing whatever collections related task required killing Steam in the first place. Requires `Auto kill Steam` to be enabled.
### Offline mode `[Recommend disabled]`
-
When enabled SRM makes no network requests, useful if you only want to use SRM for local images.
### Automatically clear log before testing parsers `[Recommend enabled]`
When enabled the log is cleared each time a parser is tested.
+## Add Games
### Show current steam images by default `[Recommend enabled]`
When enabled this setting tells SRM to default to whatever artwork is currently in steam for a given app. If it is disabled, then every time SRM is run (and saved) all artwork will be reset.
### Remove shortcuts for disabled parsers `[Recommend disabled]`
When enabled disabling a parser and running SRM will remove all added entries and artwork for the disabled parser. Useful if you want your steam library to be in 1-1 correspondence with enabled parsers.
-
+### Disable saving of steam categories `[Recommend disabled]`
+SRM will not write any collections information when saving to Steam. This allows SRM to perform its tasks while Steam is still running, at the obvious cost that added games will not be categorized.
+### Hide Steam username from Add Games
+Steam does not allow user's to alter their Steam usernames. In some cases (childish names, dead names, etc), users may no longer wish to see their Steam usernames. This setting hides it from `Add Games`.
+### Remove all added games and controllers
+Undo all SRM added changes from Steam.
+### Remove all controllers only
+Undo all SRM added controller settings from Steam.
## Fuzzy Matcher Settings
### Log matching results `[Recommend disabled]`
When enabled more verbose logs appear for the fuzzy title matcher in the `Event log`. Useful for debugging incorrect fuzzy matches.
-
### Reset fuzzy list
Resets the stored list of titles used for fuzzy matching to the list of titles returned by `SteamGridDB` (removes any user added titles).
### Reset fuzzy cache
Clears the cache of titles that fuzzy matching has already seen (try this if changes you make to fuzzy list are not resulting in changes to titles in SRM).
-
## Image provider settings
-### Preload retrieved images `[Recommend disabled]`
-When enabled, SRM will pull all available artwork for every game, rather than pulling one piece of artwork at a time as the user flips through the images. Don't enable this unless you have a good reason and a very small library of games, otherwise it could result in very large (slow) network requests.
+### Artwork loading strategy `[Recommend Load artwork lazily]`
+This is the strategy SRM uses to pull artwork thumbnails for the `Add Games` UI. If you are parsing a lot of games, `Load artwork lazily` is recommended. `Preload first artwork` will try to pull the first piece of artwork for each game in each artwork category, and `Preload all artwork` will try to pull all available artwork for each game in each artwork category. `Preload all artwork` will cause network and performance issues unless the number of games is quite small (less than `30` or so).
### Enabled providers
-Global setting to disable certain providers. Currently the only image provider is `SteamGridDB` since ConsoleGrid and RetroGaming.cloud are defunct.
-
+Global setting to enable/disable particular image providers. Current options are `SteamGridDB` and `Steam Official`.
+### DNS manual override
+Set this if you want SRM to do DNS resolution internally, as opposed to relying on your system's default DNS server. This solves many timeout issues on the Steam Deck.
+### Batch size for image downloads
+Number of images SRM will attempt to download at once when saving to Steam. May help to lower this if you are receiving timeout errors from SGDB.
+### Nuke artwork choice cache
+SRM attempts to remember your artwork choices, this button forcibly forgets all of them.
+### Nuke local artwork backups
+This deletes all artwork backups created for parsers with `Backup artwork locally` enabled.
## Community Variables and Presets
### Force download custom variables.
Resets the custom variables JSON file that is used for certain presets to whatever its current state is on the SRM github. Useful if the custom variables JSON file has been corrupted.
### Force download custom presets.
Resets the JSON files for parser presets to whatever is on the SRM github. Useful if your presets list is not automatically updating for some reason, or has become corrupted.
+### Force download shell scripts
+Re fetches the shell scripts SRM uses to perform certain tasks.
diff --git a/src/lang/zh-TW/markdown/sgdb-api-input.md b/src/lang/zh-TW/markdown/sgdb-api-input.md
index 553f4fda77..7651927a64 100644
--- a/src/lang/zh-TW/markdown/sgdb-api-input.md
+++ b/src/lang/zh-TW/markdown/sgdb-api-input.md
@@ -2,7 +2,7 @@
This set of options are direct inputs into the APIs of image providers, for example SteamGridDB's [API](https://www.steamgriddb.com/api/v2).
-An interesting quirk of these settings is that re-generating the preview (hitting the `Generate App List` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove App List` button in preview before hitting `Generate App List`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the preview with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
+An interesting quirk of these settings is that re-generating the game list in Add Games (hitting the `Refresh` button) *will only add artwork*, not remove it. If one wants to apply a stronger set of filters and remove artwork, one has to hit the `Remove from Steam` button in Add Games before hitting `Refresh`. The reason for this behavior is that it allows for *preferential* artwork selection. For example, one might first generate the game list with the blurred grid filter on and then re-generate it with the blurred grid filter off in order to achieve the effect of *preferring* blurred grids, but still allowing non-blurred grids in the case no blurred grid exists.
## SteamGridDB
diff --git a/src/lang/zh-TW/markdown/special-glob-input.md b/src/lang/zh-TW/markdown/special-glob-input.md
index 3dd543a301..5896cd0608 100644
--- a/src/lang/zh-TW/markdown/special-glob-input.md
+++ b/src/lang/zh-TW/markdown/special-glob-input.md
@@ -3,7 +3,7 @@
## How does it work?
Image paths are resolved in 4 step process:
-1. String is evaluated to see if a glob based parser is used. String is evaluated to see if a glob based parser is used. Depending on the result, further parsing may continue with `2` glob sets. String is evaluated to see if a glob based parser is used. Depending on the result, further parsing may continue with `2` glob sets. String is evaluated to see if a glob based parser is used. Depending on the result, further parsing may continue with `2` glob sets. String is evaluated to see if a glob based parser is used. Depending on the result, further parsing may continue with `2` glob sets. String is evaluated to see if a glob based parser is used. Depending on the result, further parsing may continue with `2` glob sets. String is evaluated to see if a glob based parser is used. Depending on the result, further parsing may continue with `2` glob sets. String is evaluated to see if a glob based parser is used. Depending on the result, further parsing may continue with `2` glob sets.
+1. String is evaluated to see if a glob based parser is used. String is evaluated to see if a glob based parser is used. Depending on the result, further parsing may continue with `2` glob sets. String is evaluated to see if a glob based parser is used. Depending on the result, further parsing may continue with `2` glob sets. String is evaluated to see if a glob based parser is used. Depending on the result, further parsing may continue with `2` glob sets. String is evaluated to see if a glob based parser is used. Depending on the result, further parsing may continue with `2` glob sets. String is evaluated to see if a glob based parser is used. Depending on the result, further parsing may continue with `2` glob sets. String is evaluated to see if a glob based parser is used. Depending on the result, further parsing may continue with `2` glob sets. String is evaluated to see if a glob based parser is used. Depending on the result, further parsing may continue with `2` glob sets. String is evaluated to see if a glob based parser is used. Depending on the result, further parsing may continue with `2` glob sets.
1. All provided variables are replaced with their corresponding values.
1. New string(s) is/are resolved against root directory (root directory is always a configuration's ROMs directory).
1. Final string(s) is/are passed to glob parser which then returns a list of available files.
@@ -12,7 +12,7 @@ Image paths are resolved in 4 step process:
### Absolute paths
-Let's say that the extracted title is `Metroid Fusion [USA]` and fuzzy title is `Metroid Fusion`. You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: Let's say that the extracted title is `Metroid Fusion [USA]` and fuzzy title is `Metroid Fusion`. You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: Let's say that the extracted title is `Metroid Fusion [USA]` and fuzzy title is `Metroid Fusion`. You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: Let's say that the extracted title is `Metroid Fusion [USA]` and fuzzy title is `Metroid Fusion`. You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this:
+Let's say that the extracted title is `Metroid Fusion [USA]` and fuzzy title is `Metroid Fusion`. You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: Let's say that the extracted title is `Metroid Fusion [USA]` and fuzzy title is `Metroid Fusion`. You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: Let's say that the extracted title is `Metroid Fusion [USA]` and fuzzy title is `Metroid Fusion`. You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: Let's say that the extracted title is `Metroid Fusion [USA]` and fuzzy title is `Metroid Fusion`. You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: Let's say that the extracted title is `Metroid Fusion [USA]` and fuzzy title is `Metroid Fusion`. You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this: You can then construct an image path like this:
- `C:/path/to/images/${title}.*`
- `C:/path/to/images/${fuzzyTitle}.*`
diff --git a/src/lang/zh-TW/markdown/start-in-directory.md b/src/lang/zh-TW/markdown/start-in-directory.md
index 86cf962c23..df84a987d5 100644
--- a/src/lang/zh-TW/markdown/start-in-directory.md
+++ b/src/lang/zh-TW/markdown/start-in-directory.md
@@ -1,6 +1,6 @@
-# "Start In" directory (optional) `[supports environment variables]`{.noWrap}
+# "Start In" directory `[supports env variables]`
-By default "Start In" directory is set to executable's directory:
+If `"Start In" Directory` is unset it defaults to the executable's directory. If not executable is set, it defaults to the directory of the ${filePath} variable:
 {.fitImage.center}
@@ -11,4 +11,5 @@ This option allows you to specify any directory you want as a "Start In" directo
It is useful when you're using batch files to start emulator and a game, but emulator requires a specific "Start In" directory to work properly.
## Shortcut Passthrough
+
If you enable "Follow .lnk to destination" and your executable is a ".lnk" file, ie a shortcut, then whatever you put in this field will be overridden with the directory of the target of that shortcut. In the future, it will be overridden with the start in directory of that shortcut.
diff --git a/src/lang/zh-TW/markdown/steam-category.md b/src/lang/zh-TW/markdown/steam-category.md
index 079073dab9..677ea3d0ef 100644
--- a/src/lang/zh-TW/markdown/steam-category.md
+++ b/src/lang/zh-TW/markdown/steam-category.md
@@ -1,21 +1,13 @@
-# Steam category (optional) `[supports variables]`{.noWrap}
+# Steam category`{.noWrap}
+
+Hit the little plus sign to add your first category.
-Also known as "tags", can be used to group apps in Steam. In order to set Steam category, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify categories for "WII" and "GBA" (paired with "ROMS") category:
-```
-${WII}
-```
-```
-${GBA}${ROMS}
-```
This how "WII" category will look like in Steam:

## Emojis and non-Standard Unicode Characters
+
Please not that this field works just fine with emojis like `🎮` work just fine in category names.
You can find a list of them here: [https://copychar.cc/](https://copychar.cc/)
diff --git a/src/lang/zh-TW/markdown/steam-directory.md b/src/lang/zh-TW/markdown/steam-directory.md
index b15010e819..bb82bc6a97 100644
--- a/src/lang/zh-TW/markdown/steam-directory.md
+++ b/src/lang/zh-TW/markdown/steam-directory.md
@@ -1,4 +1,4 @@
-# Steam directory `[supports environment variables]`{.noWrap}
+# Steam directory `[supports env variables]`
Must be a valid Steam directory which contains Steam executable. In order for Steam account to be detected, user must have logged in at least once.
diff --git a/src/lang/zh-TW/markdown/steam-parser-input.md b/src/lang/zh-TW/markdown/steam-parser-input.md
index 75a66e1b21..9adc19535a 100644
--- a/src/lang/zh-TW/markdown/steam-parser-input.md
+++ b/src/lang/zh-TW/markdown/steam-parser-input.md
@@ -1,4 +1,4 @@
-# Steam Parser specific inputs
+# Steam Parser Specific Inputs
## Find artwork for games only
If enabled SRM will filter out any Steam applications that are not full games, such as demos and tools like `3DMark` or `Wallpaper Engine`.
diff --git a/src/lang/zh-TW/markdown/steam-parser.md b/src/lang/zh-TW/markdown/steam-parser.md
index b158f676a8..5b93d8bc77 100644
--- a/src/lang/zh-TW/markdown/steam-parser.md
+++ b/src/lang/zh-TW/markdown/steam-parser.md
@@ -1,40 +1,3 @@
# Steam parser
-This parser imports steam games into SRM. It does not add shortcuts, but it allows you to set the artwork for your steam games. By default the parser will get games from all user accounts in the steam directory specified — if you would prefer to only get the games for a subset of the accounts then specify them in the `User accounts` field.
-
-## Limitations
-Unfortunately for the time being this parser only works for steam games **that are in at least one category**. The reason for this is that Steam only stores your full list of games locally if they are categorized. Sometimes, for unknown reasons, games will be stored locally regardless and the parser will work, but to be safe the easiest thing to do is just **create a Steam Category** that has all of your Steam games in it.
-
-## User accounts (Optional)
-
-Can be used to limit configuration to specific user accounts. In order to set user accounts, the following syntax must be used:
-```
-${...}
-```
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled:
-
- {.fitImage.center}
-
-For example, this is how you specify account for "Banana" and "Apple":
-
-```
-${Banana}${Apple}
-```
-
-In case the [use account credentials](#what-does-use-account-credentials-do) is disabled, you can still limit accounts by specifying their ids directly:
-
-```
-${56489124}${21987424}
-```
-
-## What does "Skip found accounts with missing data directories" do?
-
-Sometimes Steam's file that contains logins, may contain users that do not have data directory created (might have been manually deleted, etc.). You can specify to skip those accounts by enabling this option.
-
-## What does "Use account credentials" do?
-
-Tries to look for account credentials in Steam directory. In other words -- username. Username then can be used to filter accounts without actually having to know their ids.
-
-### Warning!
-
-If Steam has credential saving disabled, this option will prevent finding user accounts.
+This parser imports steam games into SRM so you can manage their artwork. It does not add shortcuts, and as such is an `Artwork Only` parser. This parser requires the `User Accounts` field to be set.
\ No newline at end of file
diff --git a/src/lang/zh-TW/markdown/title-from-variable.md b/src/lang/zh-TW/markdown/title-from-variable.md
index bb6e4a52a2..34a71d1999 100644
--- a/src/lang/zh-TW/markdown/title-from-variable.md
+++ b/src/lang/zh-TW/markdown/title-from-variable.md
@@ -1,43 +1,40 @@
-# Title from custom variable (optional)
+# Title from custom variable
-Allows to overwrite extracted title with a custom variable. This is done right after title extraction, meaning that the replaced title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+Allows one to overwrite the extracted title with a custom variable, pulled from the `json` files described below. This happens right after title extraction, meaning that the new title can be used for fuzzy matching and so on. Allows to overwrite extracted title with a custom variable. This is done right after title extraction, meaning that the replaced title can be used for fuzzy matching and so on. Groups and variables themselves are **case-sensitive**, unless case-insesitive variable option is enabled.
+
+Title matching is limited to specific groups of custom variables. For example, this is how you specify groups "FBN" and "PSN":
-Title matching can be limited to specific groups of custom variables. In order to specify groups, the following syntax must be used:
-```
-${...}
-```
-For example, this is how you specify groups for "RPCS3" and "rpcs3":
```
-${RPCS3}${rpcs3}
+${RPCS3}${PSN}
```
-Make sure you **toggle enable to on**.
-
-
-## Case-insensitive option
-
-If this option is enabled, case-insensitive matching will be done and first matched custom variable will be used.
-
-## Note. This feature is **experimental**
+# How it works
-Basically, it might change in the future release (very unlikelly). Furthermore, currently the only way to add variables is to create/edit `customVariables.json` used by SRM directly.
+There are two variable files, `customVariables.json` which is maintained by SRM (don't change this one, your changes will be overwritten every time SRM restarts) and `userVariables.json` which is where you should put your own variables. Both files are located in SRM's `Config Directory`.
-This file is/shoud be located in SRM's `userData` directory.
-
-SRM will throw error unless the following JSON structure is used:
+Both `customVariables.json` and `userVariables.json` have the same JSON structure. SRM will throw an error unless the following JSON structure is used:
```
{
- "RPCS3": {
+ "Group1": {
"NPUB30698": "Catherine",
"NPUB30024": "1942: Joint Strike",
...
},
- "Custom Stuff": {
- "The Legend Of Zelda": "The Legend Of Link"
+ "Group2": {
+ "The Legend Of Zelda": "The Legend Of Link",
+ ...
},
...
}
```
-Then if your user glob were `MyDir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `MyDir`, you would set the title from custom variable field to `${Custom Stuff}` to obtain a final title of "The Legend of Link".
+Then if your user glob were `romsdir/${title}.wad` and you had a `The Legend of Zelda.wad` located in `romsdir`, you would set the title from custom variable field to `${Group2}` to obtain a title of "The Legend of Link".
+
+## Case-insensitive variables
+
+If enabled, case-insensitive matching will be done and first matched custom variable will be used.
+
+## Skip file if variable not found
+
+If enabled, titles that don't match a variable will be excluded.
diff --git a/src/lang/zh-TW/markdown/title-modifier.md b/src/lang/zh-TW/markdown/title-modifier.md
index 791e000e27..4ecb2d02db 100644
--- a/src/lang/zh-TW/markdown/title-modifier.md
+++ b/src/lang/zh-TW/markdown/title-modifier.md
@@ -1,9 +1,11 @@
# Title modifier `[supports variables]`{.noWrap}
-Default value is `${fuzzyTitle}`{.noWrap}. This setting can be used to prepend or append desired characters to a title which will be added to Steam. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+Defaults to `${fuzzyTitle}`{.noWrap} if field is unset. This setting can be used to prepend or append desired characters to a Steam shortcut's `Title`. For example, given that `${fuzzyTitle}`{.noWrap} is `Zelda 2`, you can add `(1.7.5)` to it by setting value to:
+
```
${fuzzyTitle} (1.7.5)
```
+
You can use `${title}`{.noWrap} or any other variable to construct the final title.
This setting influences Steam's APP ID.
diff --git a/src/lang/zh-TW/markdown/uplay-parser-input.md b/src/lang/zh-TW/markdown/uplay-parser-input.md
index f40bbcd928..3a54e84b1a 100644
--- a/src/lang/zh-TW/markdown/uplay-parser-input.md
+++ b/src/lang/zh-TW/markdown/uplay-parser-input.md
@@ -1,9 +1,9 @@
-# Unique inputs for UPlay Parser
+# UPlay Parser Specific Inputs
+
## Ubisoft Directory Override
By default Steam ROM Manager assumes your UPlay install is located in `C:\Program Files (x86)\Ubisoft`. This field allows you to override that path if your UPlay installation is elsewhere.
## Launch Via UPlay `[Recommend disabled]`
-
What it sounds like, this toggle let's you set whether games will launch via UPlay or directly from the game's executable.
For UPlay this doesn't matter too much as UPlay games will automatically launch UPlay in the background even when launched from the executable. Steam Overlay will not work when `Launch via UPlay` is enabled, whereas both Steam and Ubisoft overlays work when `Launch via UPlay` is disabled.
diff --git a/src/lang/zh-TW/markdown/user-accounts.md b/src/lang/zh-TW/markdown/user-accounts.md
index a3aedfcfff..c0101b5f74 100644
--- a/src/lang/zh-TW/markdown/user-accounts.md
+++ b/src/lang/zh-TW/markdown/user-accounts.md
@@ -1,19 +1,7 @@
-# User accounts (Optional)
+# User accounts
-This field is used to limit SRM's effects to specific user accounts, and takes values of the form:
-
-`${...}`
-
-This will limit SRM's effects to accounts `XXX` and `YYY` (you may specify as many accounts as you like). Here `XXX` and `YYY` stand in for either: Here `XXX` and `YYY` stand in for either: Here `XXX` and `YYY` stand in for either: Here `XXX` and `YYY` stand in for either: Here `XXX` and `YYY` stand in for either: Here `XXX` and `YYY` stand in for either: Here `XXX` and `YYY` stand in for either:
-
-* The account id is the name of the account directory that appears in `/path/to/steam/userdata`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`. For example, you would specify the account directory `userdata/56489124` like `${56489124}`.
-
-* A `Steam Username` (the username you use to actually log in to Steam). A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`. A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`. A `Steam Username` (the username you use to actually log in to Steam). For example you would specify the users `Banana` and `Apple` like `${Banana}${Apple}`.
-
-You can mix and match: `${56489124}${Apple}` is fine.
-
-You can also set this field using the `Accounts Global` environment variable found in settings via `${${accountsglobal}}`.
+This field is used to limit SRM's effects to specific user accounts. It can be set to `Global` or over ridden per parser.
## Warning
-You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. You **must** use the username you use to **log in** into Steam **if** [use account credentials](#what-does-use-account-credentials-do) is enabled: If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Account` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
+If you have `Don't save account credentials on this computer` set in Steam, then there is no way for SRM to know your `Steam Username` and `Choose Accounts` will only be able to pull your `Steam IDs`. If you would like to use `Steam Usernames` here, go to `Steam > Settings > Settings` and disable `Don't save account credentials on this computer`, then restart both Steam and SRM.
diff --git a/src/lang/zh-TW/markdown/user-exceptions.md b/src/lang/zh-TW/markdown/user-exceptions.md
index 52d1ed9630..2a72bd7de2 100644
--- a/src/lang/zh-TW/markdown/user-exceptions.md
+++ b/src/lang/zh-TW/markdown/user-exceptions.md
@@ -3,16 +3,16 @@
This tool can be used to define per app exceptions that over rule the parsers. It should not be used to accomplish bulk tasks. For example, removing the colon character from titles can be accomplished via the title modifier `${/:/|${title}|}` and should not be done here. If a command line argument is common to every parsed app, then use the command line argument field - do not create a bunch of entries here! It should not be used to accomplish bulk tasks. For example, removing the colon character from titles can be accomplished via the title modifier `${/:/|${title}|}` and should not be done here. If a command line argument is common to every parsed app, then use the command line argument field - do not create a bunch of entries here! It should not be used to accomplish bulk tasks. For example, removing the colon character from titles can be accomplished via the title modifier `${/:/|${title}|}` and should not be done here. If a command line argument is common to every parsed app, then use the command line argument field - do not create a bunch of entries here!
## Extracted Title - *Mandatory*
-The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. Once this is specified and the exception is saved, any game whose `Extracted Title` matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. Once this is specified and the exception is saved, any game whose `Extracted Title` matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. Once this is specified and the exception is saved, any game whose `Extracted Title` matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. Once this is specified and the exception is saved, any game whose `Extracted Title` matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. Once this is specified and the exception is saved, any game whose `Extracted Title` matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. Once this is specified and the exception is saved, any game whose `Extracted Title` matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. Once this is specified and the exception is saved, any game whose `Extracted Title` matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing).
+The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. Once this is specified and the exception is saved, any game whose `Extracted Title` matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. Once this is specified and the exception is saved, any game whose `Extracted Title` matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. Once this is specified and the exception is saved, any game whose `Extracted Title` matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. Once this is specified and the exception is saved, any game whose `Extracted Title` matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. Once this is specified and the exception is saved, any game whose `Extracted Title` matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. Once this is specified and the exception is saved, any game whose `Extracted Title` matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. Once this is specified and the exception is saved, any game whose `Extracted Title` matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. The only mandatory exception field is `Extracted Title`. Once this is specified and the exception is saved, any game whose `Extracted Title` matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing). Once this is specified and the exception is saved, any game that matches will have its fields overridden by any non-blank exception fields (if left blank, the exception fields do nothing).
The `Extracted Title` field matches in two ways:
-* Based on the `Exception ID` (found by running test parser). Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. If the `Exception ID` is present then it doesn't matter what label you put in front of it, but for readability and searchability it's nice to put the game's actual name in front of the `Exception ID`. Based on the `Exception ID` (found by running test parser). Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. If the `Exception ID` is present then it doesn't matter what label you put in front of it, but for readability and searchability it's nice to put the game's actual name in front of the `Exception ID`. Based on the `Exception ID` (found by running test parser). Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. If the `Exception ID` is present then it doesn't matter what label you put in front of it, but for readability and searchability it's nice to put the game's actual name in front of the `Exception ID`. Based on the `Exception ID` (found by running test parser). Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. If the `Exception ID` is present then it doesn't matter what label you put in front of it, but for readability and searchability it's nice to put the game's actual name in front of the `Exception ID`. Based on the `Exception ID` (found by running test parser). Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. If the `Exception ID` is present then it doesn't matter what label you put in front of it, but for readability and searchability it's nice to put the game's actual name in front of the `Exception ID`. Based on the `Exception ID` (found by running test parser). Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. If the `Exception ID` is present then it doesn't matter what label you put in front of it, but for readability and searchability it's nice to put the game's actual name in front of the `Exception ID`. Based on the `Exception ID` (found by running test parser). Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. If the `Exception ID` is present then it doesn't matter what label you put in front of it, but for readability and searchability it's nice to put the game's actual name in front of the `Exception ID`. Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. If the `Exception ID` is present then it doesn't matter what label you put in front of it, but for readability and searchability it's nice to put the game's actual name in front of the `Exception ID`.
+* Based on the `Exception ID` (found by running test parser). Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. If the `Exception ID` is present then it doesn't matter what label you put in front of it, but for readability and searchability it's nice to put the game's actual name in front of the `Exception ID`. Based on the `Exception ID` (found by running test parser). Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. If the `Exception ID` is present then it doesn't matter what label you put in front of it, but for readability and searchability it's nice to put the game's actual name in front of the `Exception ID`. Based on the `Exception ID` (found by running test parser). Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. If the `Exception ID` is present then it doesn't matter what label you put in front of it, but for readability and searchability it's nice to put the game's actual name in front of the `Exception ID`. Based on the `Exception ID` (found by running test parser). Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. If the `Exception ID` is present then it doesn't matter what label you put in front of it, but for readability and searchability it's nice to put the game's actual name in front of the `Exception ID`. Based on the `Exception ID` (found by running test parser). Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. If the `Exception ID` is present then it doesn't matter what label you put in front of it, but for readability and searchability it's nice to put the game's actual name in front of the `Exception ID`. Based on the `Exception ID` (found by running test parser). Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. If the `Exception ID` is present then it doesn't matter what label you put in front of it, but for readability and searchability it's nice to put the game's actual name in front of the `Exception ID`. Based on the `Exception ID` (found by running test parser). Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. If the `Exception ID` is present then it doesn't matter what label you put in front of it, but for readability and searchability it's nice to put the game's actual name in front of the `Exception ID`. Based on the `Exception ID` (found by running test parser). Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. If the `Exception ID` is present then it doesn't matter what label you put in front of it, but for readability and searchability it's nice to put the game's actual name in front of the `Exception ID`. Based on the `Exception ID` (found by running test parser). For example if the game were `Portal 1` and its `Exception ID` was `12345` then you might put `Portal 1 ${id:12345}`. If the `Exception ID` is present then it doesn't matter what label you put in front of it, but for readability and searchability it's nice to put the game's actual name in front of the `Exception ID`.
* Based on the `Extracted Title` (found by running test parser). Based on the `Extracted Title` (found by running test parser). For example if the `Extracted Title` were `Portal 2` you would put `Portal 2`. Based on the `Extracted Title` (found by running test parser). For example if the `Extracted Title` were `Portal 2` you would put `Portal 2`. Based on the `Extracted Title` (found by running test parser). For example if the `Extracted Title` were `Portal 2` you would put `Portal 2`. Based on the `Extracted Title` (found by running test parser). For example if the `Extracted Title` were `Portal 2` you would put `Portal 2`. Based on the `Extracted Title` (found by running test parser). For example if the `Extracted Title` were `Portal 2` you would put `Portal 2`. Based on the `Extracted Title` (found by running test parser). For example if the `Extracted Title` were `Portal 2` you would put `Portal 2`. Based on the `Extracted Title` (found by running test parser). For example if the `Extracted Title` were `Portal 2` you would put `Portal 2`. Based on the `Extracted Title` (found by running test parser). For example if the `Extracted Title` were `Portal 2` you would put `Portal 2`.
Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`. The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`. Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`. The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`. The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`. Thus you can either have an exception that applies to all games with the same name or an exception that applies only to an exact game (`Exception ID`s are unique). The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`. The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`. The reason for this is primarily backwards compatibility -- SRM formerly matched only on the `Extracted Title`.
-Exceptions generated from `Preview` will always be in the form `Extracted Title ${id:XXXXXX}`.
+Exceptions generated from `Add Games` will always be in the form `Extracted Title ${id:XXXXXX}`.
## New Display Title
@@ -20,10 +20,10 @@ This is the title that will display in Steam. It will not be used to search for
## New Search Title
-This is the title that will be used to search for images on [SteamGridDB](https://www.steamgriddb.com). There are two options for overriding it: There are two options for overriding it: There are two options for overriding it: There are two options for overriding it: There are two options for overriding it: There are two options for overriding it: There are two options for overriding it: There are two options for overriding it: There are two options for overriding it:
+This is the title that will be used to search for images on [SteamGridDB](https://www.steamgriddb.com). There are two options for overriding it: There are two options for overriding it: There are two options for overriding it: There are two options for overriding it: There are two options for overriding it: There are two options for overriding it: There are two options for overriding it: There are two options for overriding it: There are two options for overriding it: There are two options for overriding it:
* Specify the new search title as whatever text you want.
-* Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`.
+* Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`. Specify the exact game id to pull images from. Specify the exact game id to pull images from. For example to get images for the game [Flow](https://www.steamgriddb.com/game/5254019) which has SteamGridDB url `https://www.steamgriddb.com/game/5254019` you would put `${gameid:5254019}`.
## New Commandline Args
@@ -31,11 +31,11 @@ Custom commandline arguments like `--fullscreen`, etc, that can be applied to a
## Exclude Title
-The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games.
+The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. The ability to exclude individual titles from being added to Steam. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games. This allows you to keep titles that you don't want in Steam in the same folder as the rest of your games.
## Local Artwork Only
Don't fetch artwork from remote providers (e.g. [steamgriddb](https://www.steamgriddb.com)). Useful when SGDB is incorrectly matching the game. Useful when SGDB is incorrectly matching the game. Useful when SGDB is incorrectly matching the game. Useful when SGDB is incorrectly matching the game. Useful when SGDB is incorrectly matching the game. Useful when SGDB is incorrectly matching the game. Useful when SGDB is incorrectly matching the game. Useful when SGDB is incorrectly matching the game. Useful when SGDB is incorrectly matching the game. Useful when SGDB is incorrectly matching the game. Don't fetch artwork from remote providers (e.g. [steamgriddb](https://www.steamgriddb.com)). Useful when SGDB is incorrectly matching the game. Useful when SGDB is incorrectly matching the game. Useful when SGDB is incorrectly matching the game. Useful when SGDB is incorrectly matching the game. Useful when SGDB is incorrectly matching the game. Useful when SGDB is incorrectly matching the game. Useful when SGDB is incorrectly matching the game. Useful when SGDB is incorrectly matching the game. Useful when SGDB is incorrectly matching the game. Useful when SGDB is incorrectly matching the game. Useful when SGDB is incorrectly matching the game or you just don't like any of the artwork available for it.
## Custom Variables
-The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten.
+The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. The task of overriding specific titles can also be accomplished by manually editing the custom variables JSON file and using appropriate variables in the `Title Modifier` parser field. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten. It is recommended, however, that you use this tool instead since the custom variables JSON file will be updated over time and your edits may be overwritten.
|