Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions docs/development/cores/core-options-translation.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ Uploads happen, whenever `libretro_core_options.h` of that branch is changed.
- the name of the core (or repo)

And for crowdin_translate.yml:

- <0-59> <0-23>
- Minute and hour at which the sync will happen.
The script will generate a random time for this, to avoid
Expand Down Expand Up @@ -87,13 +88,13 @@ To create an access token, navigate to the account settings via your profile pic
Name the token after the core/repository, which will receive it. The following permissions should be set:

- Projects
- read
- read
- Source files & strings
- read & write
- read & write
- Translations
- read & write
- read & write
- (optional) Translation status
- read
- read

> Please provide these access tokens to the core developers in a private message and delete those after successful setup. Do not share tokens publicly or store them in plain text long term!

Expand All @@ -110,4 +111,4 @@ Adding a language to RetroArch does not automatically enable it for the core opt
### Example

- mgba:
- [Enable Indonesian, Swedish and Ukrainian localisations](https://github.com/libretro/mgba/commit/b0cdccc9ad2e5a8cd40ad4b9a3db1587d6f1560b)
- [Enable Indonesian, Swedish and Ukrainian localisations](https://github.com/libretro/mgba/commit/b0cdccc9ad2e5a8cd40ad4b9a3db1587d6f1560b)
2 changes: 2 additions & 0 deletions docs/development/cores/core-specific/mame-2003-plus.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ _Note: This first half of this section is written for users who cannot submit co
[As part of mame2003 we have an 'automated port' of the MAME 0.141 controls.dat project information](https://github.com/libretro/mame2003-plus-libretro/blob/master/src/controls.c). It address many, but not all games supported by mame2003-plus.

Therefore in many cases adding new control labels can be as simple as adding the existing controls.dat metadata to a driver declaration. However as part of that process the controls.dat metadata needs to be checked in two ways before it can be added:

1. From the user perspective: are the control names actually correct
2. From the coder perspective: does the switch logic in the controls.dat naming function work as intended

Expand Down Expand Up @@ -149,6 +150,7 @@ GAMEC( 1994, stoneba2, stonebal, stonebal, stonebal, stonebal, ROT0, "Art and Ma
The purpose of the NVRAM bootstrap functionality is to create a good user experience the first time a game is booted. When the behavior of a game on its first boot is impossible for a new user to tell from a crash, then a bootstrap is in order.

More specifically, the conditions for adding a bootstrap are:

* It is not clear what the user needs to do to get into the game **or**
* It is not reasonably possible for the user to get into the game using a SNES controller or arcade control panel

Expand Down
3 changes: 3 additions & 0 deletions docs/development/retroarch/netplay.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,18 +172,21 @@ are running the same software and brings the client to synchronization, and
then an exchange of input packets.

The handshake procedure (this part is done by both server and client):

1. Send connection header
2. Receive and verify connection header
3. Send nickname
4. Receive nickname

For the client:

5. Send PASSWORD if applicable
4. Receive INFO
5. Send INFO
6. Receive SYNC

For the server:

5. Receive PASSWORD if applicable
6. Send INFO
7. Receive INFO
Expand Down
18 changes: 9 additions & 9 deletions docs/development/retroarch/network-control-interface.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,15 +71,15 @@ Queries a configuration parameter value.
- **Arguments:** `<param name>`
- **Response:** `GET_CONFIG_PARAM <param name> <value>`
- **Supported parameters:**
- `video_fullscreen` - Whether fullscreen is active (`true`/`false`)
- `savefile_directory` - Save file directory path
- `savestate_directory` - Save state directory path
- `runtime_log_directory` - Runtime log directory path
- `log_dir` - Log directory path
- `cache_directory` - Cache directory path
- `system_directory` - System/BIOS directory path
- `netplay_nickname` - Current netplay username
- `active_replay` - Active replay info as `identifier flags frame_counter` (requires BSV movie support)
- `video_fullscreen` - Whether fullscreen is active (`true`/`false`)
- `savefile_directory` - Save file directory path
- `savestate_directory` - Save state directory path
- `runtime_log_directory` - Runtime log directory path
- `log_dir` - Log directory path
- `cache_directory` - Cache directory path
- `system_directory` - System/BIOS directory path
- `netplay_nickname` - Current netplay username
- `active_replay` - Active replay info as `identifier flags frame_counter` (requires BSV movie support)

```bash
retroarch --command "GET_CONFIG_PARAM savefile_directory"
Expand Down
9 changes: 9 additions & 0 deletions docs/development/retroarch/new-translations.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ To add a language with the English name `XXXXX` and two-letter code `xx` (be sur
1. Open `libretro-common/include/libretro.h`.
1. Add a `RETRO_LANGUAGE_XXXXX` item to the `retro_language` enum just above `RETRO_LANGUAGE_LAST`, using the next available integer value.
> Do not rearrange the elements of this list! This would break the language association for the cores!

2. Open `msg_hash.h`.
1. Check if a `MENU_ENUM_LABEL_VALUE_LANG_XXXXX` item for your language is present in the `msg_hash_enums` enum; if not, add it.
3. Open `msg_hash.c`.
Expand Down Expand Up @@ -53,6 +54,7 @@ static const char *msg_hash_to_str_xx(enum msg_hash_enums msg)
return "null";
}
```

4. Decide if `intl/msg_hash_xx.h` should use UTF-8 + BOM encoding. See the section below.
5. Open `intl/msg_hash_us.h`.
1. Check if the following block is present, where `Yyyyy` is the native name of the language and if not, add it:
Expand All @@ -62,6 +64,7 @@ MSG_HASH(
"Xxxxx - Yyyyy"
)
```

6. Open `menu/menu_setting.c`.
1. Add the following assignment to the `setting_get_string_representation_uint_user_language()` function, before `if (*msg_hash_get_uint(MSG_HASH_USER_LANGUAGE) == RETRO_LANGUAGE_ENGLISH)` statement:
```c
Expand All @@ -73,17 +76,20 @@ case TRANSLATION_LANG_XX:
enum_idx = MENU_ENUM_LABEL_VALUE_LANG_XXXXX;
break;
```

7. Open `retroarch.c`.
1. Add your language to `enum retro_language retroarch_get_language_from_iso(const char *iso639)`:
```c
{"xx", RETRO_LANGUAGE_XXXXX},
```

8. Open `tasks/task_translation.c`.
1. Add the following block inside the `ai_service_get_str(enum translation_lang id)` function:
```c
case TRANSLATION_LANG_XX:
return "xx";
```

9. Open `translation_defines.h`.
1. Add your language to the `translation_lang` enum between `TRANSLATION_LANG_DONT_CARE` and `TRANSLATION_LANG_LAST`items:
```c
Expand Down Expand Up @@ -183,13 +189,15 @@ To make the new language usable with the RGUI menu driver:
else if (string_is_equal(language,"xx"))
return "Yyyyy";
```

2. For Linux. (compatible with **[espeak](https://github.com/espeak-ng/espeak-ng)**)
1. Open `frontend/drivers/platform_unix.c`.
2. Go to `accessibility_unix_language_code(const char* language)` function. Check if the following block is present, where `yyy` is the [Identifier](https://github.com/espeak-ng/espeak-ng/blob/master/docs/languages.md) for the language and if not, add it before `/* default voice as fallback */`:
```c
else if (string_is_equal(language, "xx"))
return "yyy";
```

3. For Windows. (OS compatible)
1. Open `frontend/drivers/platform_win32.c`.
2. Go to `accessibility_win_language_code(const char* language)` function. Check if the following block is present, where `Yyyyy` is the [voice name](https://support.microsoft.com/en-us/windows/appendix-a-supported-languages-and-voices-4486e345-7730-53da-fcfe-55cc64300f01#WindowsVersion=Windows_10) for the language and if not, add it before `return ""`:
Expand Down Expand Up @@ -236,6 +244,7 @@ Instructions and recommended reading for that can be found [here](https://docs.l
> Please **do not change** the `intl/msg_hash_xx.h` files directly!

Starting from early 2023, the help texts that were located in `intl/msg_hash_xx.c` files are also included on Crowdin. If you have translation efforts in `msg_hash_xx.c` file from an earlier date, you can copy them to Crowdin, with following caveats:

* Individual line breaks (\n) at the end of each line are not required, current menu drivers will break lines automatically. Line break may be used as a paragraph separator, if text is long.
* Make sure translations still matches the current source text, as several of those were updated during the refactor.
* Do not exceed maximum line length (500 characters).
Expand Down
Loading
Loading