For tranlators, the main changes are:
* The former "device mapping" menu is now "input device options" and
includes the input provider module options.
* The analog controls menu (where sensitivity, auto-centre, etc. is
configured) is now localisable.
* The timecode logging features (used when making gameplay videos) have
been moved to a plugin, and display messages are localisable.
* There are a few extra messages for the autofire and input macro
plugins to handle cases where a configured input is not present.
* The timer plugin has options to show wall clock time (real time
elapsed according to host OS clock) or emulated time.
* Moved common code for drawing about box, info viewer, and other text box menus to a base class; removed the last of the info viewer logic and the multi-line item hack from the base menu class.
* Added previous/next group navigation for general inputs and plugin input selection menus.
* Moved message catalog logic to lib/util, allowing osd and emu to use localised messages.
* Made the base menu class use the UI manager’s feature for holding session state rather than a static map and mutex.
* Improved menu event handling model, and fixed many issues, particularly with menus behaving badly when hidden/shown.
* Added better support for menus that don’t participate in the usual menu stack, like the menuless sliders and the save/load state menus.
* Made a number of menus refresh state when being shown after being hidden (fixes MT08121 among other issues).
* Fixed indication of mounted slot option in the slot option details menu.
* Improved appearance of background menus when emulation isn't running - draw all menus in the stack, and darken the background menus to make the edges of the active menu clearer.
* Fixed locale issues in -listxml.
-debugger: Made GUI debuggers more uniform.
* Added new memory view features to Win32 debugger.
* Fixed spelling of hexadecimal in Cocoa debugger and added decimal address option.
* Fixed duplicate keyboard shortcut in Cocoa debugger (Shift-Cmd-D was both new device window and 64-bit float format).
* Made keyboard shortcuts slightly more consistent across debuggers.
-plugins: Moved input selection menu and sequence polling code to a common library. Fixed the issue that prevented keyboard inputs being mapped with -steadykey on.
-docs: Started adding some documentation for MAME's internal UI, and updated the list of example front-ends.
-Regenerated message catalog sources. For translators, the new strings are mostly:
* The names of the inputs provided by the OS-dependent layer for things like fullscreen and video features. These show up in the user interface inputs menu.
* The names for automatically generated views. These show up in the video options menu - test with a system with a lot of screens to see more variants.
* The input macro plugin UI.
* A few format strings for analog input assignments.
* A few strings for the about box header.
* autofire, inputmacro: Made left/right repeat when held (makes setting
long delays/durations easier).
* autofire, inputmacro: Added headings for devices in input selection
menus (helps when controller buttons have identical names, e.g. AES)
* autofire: Made intial selection when moving between menus intuitive,
log some errors on saving/loading configuration.
* autofire: Fixed two errors in Chinese localisations.
Put the description for systems in the info box - it's useful for the
fruit machines with very long names that are truncated in the list.
Also stopped truncating manufactuer and parent name in the info box.
Made the text layout class capable of handling lines containing
combinatations of left/centre/right-justified text and got rid of the
legacy UI manager text wrapping function. Made the system/software
selection menus and the info viewer share the same code for formatting
info text. This means the multi-column layout works properly in the
info viewer now, and the code is a lot simpler. Also the
system/software selection menus don't have to redo the text layout every
frame now.
Made the info viewer update the text layout if the output aspect ratio
changes, and cleaned up more legacy code. The lines in the info viewer
are no longer bogus "menu items", and there's a lot less special-case
code to support it in the base menu class.
This commit includes an update to the Chinese translations from YuiFAN.
Extended the memory access prefixes in debugger expressions to support
address space names.
Made the debugger history command aware of how much history it has
collected, and added a help topic for it to the built-in debugger help.
Started updating the documentation for the web site, and corrected some
of the more misleading built-in debugger help.
Made some corrections to Chinese localisation after discussion with
YuiFAN.
Darkened the UI red colour a little.
cpu/m6502/st2205u.h: Marked sound imperfect.
Trying to collect messages from everything at once hits some limit in
xgettext and causes messages to be lost no, so I've split it up by the
second-level source directories.
For some reason xgettext thinks overloaded Lua functions are blasphemy,
so that has to be worked around, too.
* frontend: Added support for message context to localisations.
* frontend: Added string_view versions of the message lookup functions.
* frontend: Added a few more folder options to the internal UI.
* emu/softlist.cpp: Use more appropriate containers.
* Switched to Python 3 by default - this will become a requirement.
* Updated msgfmt.py for message context support.
* frontend: Show all software item info in the internal UI.
* frontend: Search alternate titles in software selection menu.
* 3rdparty/utf8proc: Updated to v2.6.1 (has several fixes).
* frontend: Added software filters for common info fields.
* frontend: Allow UI manager to hold onto persistent session data.
* frontend: Cache software lists for eight machines.
* frontend: Added support for loading localised system names.
* frontend: Add UI for selecting localised system names.
This effectively reverts b380514764 and
c24473ddff, restoring the state at
598cd52272.
Before pushing, please check that what you're about to push is sane.
Check your local commit log and ensure there isn't anything out-of-place
before pushing to mainline. When things like this happen, it wastes
everyone's time. I really don't need this in a week when real work™ is
busting my balls and I'm behind where I want to be with preparing for
MAME release.
* New translations added, fixed
* Minor typo fix
* In Brazilian Portuguese we don't "audit" objects, we "audit" process, accounts, etc. This is why the term "Auditoria" as a function was changed to the verb "Aferir" that means "to assess", "julgar por meio de comparação; avaliar." or to estimate or judge the condition, that is what the software is doing, evaluating a file against a list to "assess" its condition, good or bad. The "Audit results" was set as "Condição" as a result of "Aferir" that reflect better the ROM state, BOA or RUIM.
TODO
* Deal with the "Parent" thing properly, that could be translated to "Principal" or something of that nature. The literal translation "Driver é Pai" doesn't help, this is the same as "Driver is the Father". We understand the meaning but it doesn't reflect the reality of it in our language.
Minor fixes and typos.
Added @felipesanches requests
Shorted some strings as @felipesanches requests, not all "IU" was changed because it breaks the interface or is too big.
We will have to deal with the "parent" and "clone" thing later, maybe the use of RAMIFICAÇÃO (RAMIFICATION OF) that will better reflect with our Language.
- All translation updated to follow GNOME Translation Rules for Brazilian Portuguese, this are the same rules for other Linux Distributions, Manuals, etc. Now we can avoid translation conflicts.
http://br.gnome.org/GNOMEBR/ErrosFrequenteshttp://br.gnome.org/GNOMEBR/GuiaDoTradutor
- Brazilian Portuguese REQUIRE context, it doesn't matter what a word say, we need to see what the program is doing instead of what the word/phrase is saying to construct the phrase correctly.
- That ROM AUDITION functions means nothing in Brazilian Portuguese, so the translation was adapted to "Condição", this reflects better if the ROM is GOOD/BAD, etc.
- OK has different meanings in Brazilian Portuguese, if you ask someone if the food was good and you reply "OK", it means that the food are between good and bad or more or less. Since "Ok" doesn't reflect if the ROM is good or not, the translation was changed to "BOA" witch means "GOOD" following Brazilian Portuguese concordance rules "Estado dA ROM" this "A" tell us to use "boA" (female) instead of "BOM"(male).
- Some parts of the translation was also adapted to fit the screen or the space the phrase is at.
- To our language, the correct translation to plugin is plug-in.
- A few more mistakes were fixed like Enter (to type in) = Digite not "Entre" (to get inside of) or Search = Pesquisa not "Busca", etc.
* Change makefile rules to treat mame.pot as a target so rules can depend on it
* Put mame.pot inside the build directory so it will get cleaned
* Couldn't get xgettext to scrape lua and C++ in the same command and still remove stale strings
* Use larger strings and format specifiers to fix some localisation issues
- Issue with "None" lacking context in Russian and Turkish translations
- Issue with "Not implemented" changing depending on the noun in Serbian
- Issues with lua plugins not allowing for languages with different grammar/punctuation
Strings that need to be translated after this change - most of these are existing text that's been made into larger chunks or reworded slightly:
"Mechanical Machine\tYes\n"
"Mechanical Machine\tNo\n"
"Requires Artwork\tYes\n"
"Requires Artwork\tNo\n"
"Requires Clickable Artwork\tYes\n"
"Requires Clickable Artwork\tNo\n"
"Support Cocktail\tYes\n"
"Support Cocktail\tNo\n"
"Driver is BIOS\tYes\n"
"Driver is BIOS\tNo\n"
"Support Save\tYes\n"
"Support Save\tNo\n"
"Screen Orientation\tVertical\n"
"Screen Orientation\tHorizontal\n"
"Requires CHD\tYes\n"
"Requires CHD\tNo\n"
"ROM Audit Result\tOK\n"
"ROM Audit Result\tBAD\n"
"Samples Audit Result\tNone Needed\n"
"Samples Audit Result\tOK\n"
"Samples Audit Result\tBAD\n"
"ROM Audit Disabled\t\n"
"Samples Audit Disabled\t\n"
"Activated: %s = %s"
"Activated: %s"
"Enabled: %s"
"Disabled: %s"
"%s added"
"Default name is %s"
"Cheat written to %s and added to cheat.simple"
"Unable to write file\n"
"Ensure that cheatpath folder exists"