1
0
mirror of https://github.com/TerryCavanagh/VVVVVV.git synced 2024-06-26 06:28:30 +02:00
VVVVVV/desktop_version/src
Dav999 f4bdea7d6d Add a system for selecting between wordy/wordy2
Some languages have different spellings of wordy numbers based on the
gender of the things they're counting (uno crewmate versus una trinket)
or what a number's role is in the sentence (e.g. twenta out of twentu).
We've always had the idea we couldn't support such complex differences
though, because the game can't be adapted to know what gender each
object will have and what word classes might exist in other languages,
so translators would in those cases just have to forgo the wordy
numbers and just let the game use "20 out of 20".

A solution we came up semi-recently though (after all translations were
finished except for Arabic), was to allow the translator to define
however many classes of wordy numbers they need, and fill them all out.
This would not need the game to be *adapted* for every language's
specific grammar and word genders/classes. Instead, the translator
would just choose their correct self-defined class at the time they use
`wordy` in the VFormat placeholder. Something like
{n|wordy|class=feminine}, or {n|wordy_feminine}.

So this would benefit several languages, but we came up with the
solution a little late for all languages to benefit from it. The Arabic
translators asked for two separate classes of wordy numbers though, so
my plan is to first just have a second list of wordy numbers
(translation2 in numbers.xml), which can be accessed by passing the
`wordy2` flag to VFormat, instead of `wordy`.

Once 2.4 is released, we can take our time to do it properly. This
would involve the ability for translators to define however many
classes they need, to name them what they want, and this name would
then be useable in VFormat placeholders. We can convert all existing
translations to have one class defined by default, such as "wordy", or
"translation" depending on implementation, but there's not so much
concern for maintaining backwards compatibility here, so we can do a
mass-switchover for all language files. That said, it wouldn't be too
hard to add a special case for "translation" being "wordy" either.
We can then ask translators if they would like to change anything with
the new system in place.

For now, we can use this system for Arabic, maybe Spanish since there
were complaints about uno/una, and *maybe* Dutch (it has a thing where
the number "one" is often capitalized differently, but it's not
mandatory per se)
2024-01-06 14:11:40 -08:00
..
ActionSets.h Add controller button layout mappings 2023-03-21 19:59:48 -07:00
Alloc.h Replace all free calls with VVV_free[func] 2022-11-30 22:50:08 -08:00
BinaryBlob.cpp Replace all free calls with VVV_free[func] 2022-11-30 22:50:08 -08:00
BinaryBlob.h Use fixed-size int types for resourceheader 2021-09-23 22:21:49 -07:00
BlockV.cpp Make activity zone prompts loc::gettext'ed at display time 2023-09-20 16:20:24 -07:00
BlockV.h Make activity zone prompts loc::gettext'ed at display time 2023-09-20 16:20:24 -07:00
ButtonGlyphs.cpp Steam now shares device info with SDL! 2023-12-20 23:17:28 -05:00
ButtonGlyphs.h Add "type:" override check for virtual Sony gamepads. 2023-12-01 12:08:26 -05:00
Constants.h Fix SCREEN_HEIGHT_PIXELS being wrong constant 2021-10-01 09:35:28 -07:00
Credits.h updated credits to include the Eternal Dream Arabization team 2024-01-04 16:29:01 +01:00
CustomLevels.cpp Remove NO_EDITOR/NO_CUSTOM_LEVELS, disable editor on Steam Deck 2023-08-25 09:50:27 -07:00
CustomLevels.h Remove NO_EDITOR/NO_CUSTOM_LEVELS, disable editor on Steam Deck 2023-08-25 09:50:27 -07:00
CWrappers.cpp Add a system for selecting between wordy/wordy2 2024-01-06 14:11:40 -08:00
CWrappers.h Add a system for selecting between wordy/wordy2 2024-01-06 14:11:40 -08:00
DeferCallbacks.c Add deferred callbacks to game loop 2021-03-21 02:55:42 -04:00
DeferCallbacks.h Add deferred callbacks to game loop 2021-03-21 02:55:42 -04:00
Editor.cpp Fix another incorrect tile in autotiler 2023-12-24 12:39:22 -08:00
Editor.h Make outside background tiles ignore solid walls 2023-12-15 19:40:07 -08:00
Ent.cpp Disable more flashing elements if a11y is on 2023-04-05 20:02:29 -07:00
Ent.h Use SDL_Color for colors instead of colourTransform 2023-01-01 16:36:43 -08:00
Entity.cpp Make activity zone prompts loc::gettext'ed at display time 2023-09-20 16:20:24 -07:00
Entity.h Remove x-position from setactivityposition 2023-02-17 20:47:32 -08:00
Enums.h Remove unused game-gamestates 2021-12-18 00:01:32 -08:00
Exit.h Use SDL_NORETURN 2021-09-27 10:32:23 -07:00
FileSystemUtils.cpp Fix compiler warnings on Android 2023-10-25 14:44:34 -07:00
FileSystemUtils.h Add warning messages for missing fonts/lang folders 2023-09-20 16:20:24 -07:00
Finalclass.cpp Strip out old special roomname system 2023-03-02 22:58:12 -08:00
Finalclass.h Indicate what special roomnames are in the levels 2022-12-31 20:04:56 -08:00
Font.cpp Fix loading plain font.png Unicode indexing out of bounds 2023-12-29 11:55:09 -08:00
Font.h PR_BOR8 -> PR_FULLBOR, border8 -> full_border 2023-11-19 15:59:27 -08:00
Game.cpp Add a fast-forward keybind to level debugger 2023-12-29 13:56:30 -08:00
Game.h Add localisation credits to main menu credits 2023-12-05 16:14:06 -08:00
GlitchrunnerMode.c Split glitchrunner mode into multiple versions 2021-08-05 13:35:21 -04:00
GlitchrunnerMode.h Split glitchrunner mode into multiple versions 2021-08-05 13:35:21 -04:00
GOGNetwork.c Axe NETWORK_[set/get]AchievementProgress() 2021-09-19 21:49:54 -07:00
Graphics.cpp Fix regression: Tower BG lerps in reverse direction 2023-12-29 14:11:08 -08:00
Graphics.h Add textimage for levelcomplete and gamecomplete 2023-11-19 15:07:25 -08:00
GraphicsResources.cpp Add support for translatable sprites 2023-10-31 22:31:41 -07:00
GraphicsResources.h Add support for translatable sprites 2023-10-31 22:31:41 -07:00
GraphicsUtil.cpp Add inbounds pixel assertion to DrawPixel/ReadPixel 2023-12-29 11:54:19 -08:00
GraphicsUtil.h Fix memory leak with ApplyFilter 2023-10-27 10:25:42 -07:00
Input.cpp Fix current_credits_list_index not always being reset 2023-12-15 20:00:05 -08:00
Input.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
InterimVersion.h Use PR_RIGHT for interim version info in main menu 2023-02-13 23:27:00 -08:00
InterimVersion.in.c Use PR_RIGHT for interim version info in main menu 2023-02-13 23:27:00 -08:00
KeyPoll.cpp Add "type:" override check for virtual Sony gamepads. 2023-12-01 12:08:26 -05:00
KeyPoll.h Generalize stretch mode mouse scaling fix 2023-08-17 19:57:54 -07:00
Labclass.cpp Add level exploring menu for translators 2022-12-31 20:04:56 -08:00
Labclass.h Indicate what special roomnames are in the levels 2022-12-31 20:04:56 -08:00
LevelDebugger.cpp Unhardcode TAB in translation strings 2023-11-19 17:34:23 -08:00
LevelDebugger.h Fix moving entities flashing in over 30fps mode 2023-11-19 17:34:23 -08:00
Localization.cpp Add a system for selecting between wordy/wordy2 2024-01-06 14:11:40 -08:00
Localization.h Add a system for selecting between wordy/wordy2 2024-01-06 14:11:40 -08:00
LocalizationMaint.cpp Make language sync support creating blank language files 2023-12-15 19:48:55 -08:00
LocalizationMaint.h Add cutscene test menu 2022-12-31 20:04:56 -08:00
LocalizationStorage.cpp Add a system for selecting between wordy/wordy2 2024-01-06 14:11:40 -08:00
LocalizationStorage.h Add a system for selecting between wordy/wordy2 2024-01-06 14:11:40 -08:00
lodepng_wrapper.c Migrate LodePNG to submodule 2022-03-13 23:50:37 -07:00
Logic.cpp Fix moving entities flashing in over 30fps mode 2023-11-19 17:34:23 -08:00
Logic.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
main.cpp Enable SDL_HINT_IME_SHOW_UI to make typing CJK not guesswork 2024-01-05 15:24:27 -08:00
MakeAndPlay.h Use multiline comments in C files 2021-04-17 00:50:04 -04:00
Map.cpp Change saved <summary> tag back to English 2023-11-19 13:49:59 -08:00
Map.h Simplify mapclass::currentarea() 2023-11-19 13:49:59 -08:00
Maths.h Use SDL_Point instead of rolling our own point struct 2023-01-28 23:32:14 -08:00
Music.cpp Fix remaining audio speedup/slowdown bug 2023-11-28 20:16:38 -05:00
Music.h Implement haltedsong 2023-06-08 15:38:26 -07:00
Network.c Axe NETWORK_[set/get]AchievementProgress() 2021-09-19 21:49:54 -07:00
Network.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
Otherlevel.cpp Indicate what special roomnames are in the levels 2022-12-31 20:04:56 -08:00
Otherlevel.h Indicate what special roomnames are in the levels 2022-12-31 20:04:56 -08:00
preloader.cpp Migrate more prints and graphics.len calls to font:: 2023-02-13 23:27:00 -08:00
preloader.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
ReleaseVersion.h De-duplicate release version 2022-08-23 00:00:39 -07:00
Render.cpp Minor indentation style fix in Render.cpp 2023-12-15 20:00:05 -08:00
Render.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
RenderFixed.cpp Remove NO_EDITOR/NO_CUSTOM_LEVELS, disable editor on Steam Deck 2023-08-25 09:50:27 -07:00
RenderFixed.h Show skip prompt during credits and ending picture 2023-06-05 17:57:23 -07:00
RoomnameTranslator.cpp Fix TAB bind conflict with translator & debugger 2024-01-05 11:42:10 -08:00
RoomnameTranslator.h Migrate more prints to font::, determine font for most textboxes 2023-02-13 23:27:00 -08:00
Screen.cpp Address review 2023-10-25 14:44:34 -07:00
Screen.h Store display index of window to settings 2023-03-21 00:23:42 -07:00
ScreenSettings.h Store display index of window to settings 2023-03-21 00:23:42 -07:00
Script.cpp Translate hardest room at display time instead of at time of death 2023-11-19 16:47:52 -08:00
Script.h Add textimage for levelcomplete and gamecomplete 2023-11-19 15:07:25 -08:00
Scripts.cpp Fix "he'd be a a big help" typo 2023-11-30 08:38:40 -08:00
Spacestation2.cpp Use enums for time trial indexes 2023-06-05 17:57:23 -07:00
Spacestation2.h Indicate what special roomnames are in the levels 2022-12-31 20:04:56 -08:00
SteamNetwork.c Silence GCC warnings about void*-to-function-pointer casts 2021-10-21 01:00:06 -07:00
TerminalScripts.cpp Add textcase(n) commands to scripts 2022-12-31 20:04:56 -08:00
Textbook.c VS2010 buildfixes. 2023-11-27 12:09:42 -05:00
Textbook.h Add Textbook 2022-12-31 20:04:56 -08:00
Textbox.cpp Add textimage for levelcomplete and gamecomplete 2023-11-19 15:07:25 -08:00
Textbox.h Add textimage for levelcomplete and gamecomplete 2023-11-19 15:07:25 -08:00
ThirdPartyDeps.c Replace all free calls with VVV_free[func] 2022-11-30 22:50:08 -08:00
Tower.cpp Add POS_MOD macro and use for all positive modulos 2021-09-24 17:48:15 -07:00
Tower.h Remove vmult lookup tables 2021-09-24 16:37:27 -07:00
TowerBG.h Move from surfaces to the SDL render system 2023-01-28 14:36:28 -08:00
Unreachable.h Use _SDL_HAS_BUILTIN 2022-12-29 16:13:54 -08:00
Unused.h Factor out UNUSED macro to header file 2021-05-25 15:23:34 -04:00
UTF8.c Add UTF8.c 2023-02-27 23:00:41 -08:00
UTF8.h Add UTF8.c 2023-02-27 23:00:41 -08:00
UtilityClass.cpp Add a system for selecting between wordy/wordy2 2024-01-06 14:11:40 -08:00
UtilityClass.h Add a system for selecting between wordy/wordy2 2024-01-06 14:11:40 -08:00
VFormat.c Add a system for selecting between wordy/wordy2 2024-01-06 14:11:40 -08:00
VFormat.h Add support for button glyph display 2023-03-21 19:59:48 -07:00
Vlogging.c VS2010 buildfixes. 2023-11-27 12:09:42 -05:00
Vlogging.h Add -console option on Windows 2022-11-14 19:40:23 -08:00
WarpClass.cpp Add level exploring menu for translators 2022-12-31 20:04:56 -08:00
WarpClass.h Indicate what special roomnames are in the levels 2022-12-31 20:04:56 -08:00
XMLUtils.cpp Move all settings to settings.vvv 2020-11-04 12:06:57 -05:00
XMLUtils.h Add localization "foundation" (many code changes) 2022-12-31 20:04:56 -08:00
Xoshiro.c VS2010 buildfixes. 2023-11-27 12:09:42 -05:00
Xoshiro.h Replace Gravitron RNG with seeded Xoshiro 2021-08-27 12:28:35 -07:00