Commit Graph

90 Commits

Author SHA1 Message Date
Vas Crabb
282fb57c70 Updated copyright years to 2025 2025-01-01 16:36:28 +11:00
Vas Crabb
2dd558b2c0 Update copyright years. 2024-02-26 03:32:36 +11:00
Vas Crabb
19a3f5dea2 srcclean and bump copyright date on language files to 2023 2023-02-19 03:28:47 +11:00
Vas Crabb
d4589e0b29 Input refactoring:
osd/modules/input, emu/inpttype.cpp: Made most default joystick
assignments supplied by input modules.  Input modules take available
controls into consideration when generating default assignments.

emu/inpttype.ipp: Added a separate "Back" UI input separate from Cancel.
You may want an easier to hit combination for moving to the previous
menu than for exiting or cancelling input.  They both default to Escape.

emu/inpttype.ipp: Added a UI Help control.  Currently only used by
analog inputs menu

emu/inpttype.h: Moved I/O port field type enum to its own header and
sorted UI controls so they appear in a more logical order.

ui: Don't use UI Select to restore defaults - people should be getting
used to the UI Clear input by now.  UI Select cycles multi-value items
instead.

ui/inputmap.cpp: Don't use immediate cancel to cycle between clearing
and restoring default assignment (use UI Clear instead).

osd: Reduced the number of files needing to include the dreaded emu.h.
Got some implementation out of headers.
2023-02-18 06:18:45 +11:00
Vas Crabb
2498f2b7cf Miscellaneous fixes and refactoring:
ui/analogipt.cpp: Fixed bar graph display for fields with ranges
that wrap through zero.

emu/inputdev.cpp: Separateed analog axis deadzone and switch threshold
settings, reduced default deadzone, and fixed a potential division by
zero if the deadzone and saturation settings are equal.

emu/ioport.cpp: Fixed behaviour of absolute analog fields where range
passes through zero - it previously only worked for specific
combinations of mask, minimum and default.  Removed a workaround from
universal/getaway.cpp that is no longer necessary.

emu/input.cpp: Fixed unintuitive behaviour when an absolute field is
assigned an OR combination of a relative control folled by an absolute
control (e.g. Mouse X or Joy 1 LSX).  Also fixed reading axis input
sequences where an axis code is followed by a switch code (these can
only be produced by manually editing configuration files, not through
MAME's UI), and fixed the returned type when multiple relative axes sum
to zero.

osd/modules/input_dinput.cpp: Fixed hat switches being stuck in up
position when input is suspended in the background

taito/taitoio_yoke.cpp: Give throttle control a distinct type, and don't
auto-centre.

osd: Added option to select MIDI provider module (currently only
PortMidi and the dummy module are available).  Also put various things
in namespaces, and fixed builds including SDL sound module with native
Windows OSD.

emu/validity.cpp: Added check to catch I/O port fields using UI input
types.

emu/inpttype.ipp: Renamed inputs that were causing confusion.  "Bill"
and "Track" were causing confusion for translators and hence likely
causing confusion for many users, especially those who are not native
English speakers.  "Track" as an abbreviation for "Trackball" was
frequently being mistranslated, e.g. in the sense of a CD track
selection button or even in the sense of a railway track.  There's no
reason to abbreviate it.  "Bill" in the US English sense as a banknote
is too ambiguous and was causing confusion for translators.  It's better
to use the less ambiguous "Banknote".  Corrected Greek translations of
"Trackball".

Don't run GitHub Actions on issue template changes.
2023-01-28 08:16:53 +11:00
Vas Crabb
f920a39de6 Fixed some errors in Brazilian Portuguese translation. [cd4053b, Wellington Uemura] 2022-12-04 03:23:50 +11:00
Vas Crabb
57f6366ccb Updated Brazilian Portuguese UI translation. [Felipe] 2022-10-30 02:34:54 +11:00
Vas Crabb
fdd6b171fe Regenerated UI translation files 2022-10-16 02:31:25 +11:00
Vas Crabb
051c380fd1 Patched up some gaps in functionality and fixed some bugs.
ui: Added some missing functionality:
* Added an option to copy input device IDs to the relevant menus.
* Added an item for setting the software lists files path (-hashpath) to
  the folder setup menu.
* Allow pasting text from clipboard in most places that allow typing
  (searching, entering filenames, entering barcodes).
* Changed the software selection menu heading to be a bit less
  misleading.
* Made barcode menu less eager to rebuild itself unnecessarily, and
  removed some confusing and apparently pointless code.

Exposed more Lua bindings:
* Added low-level palette objects.
* Added indexed bitmap types.
* Added a bitmap method for extracting pixels from a rectangular area as a
  packed binary string.
* Changed screen device pixels method to return width and height in
  addition to the pixels.

osd: Added some functionality and cleaned up a little:
* Added a function for copying text to the clipboard.
* Moved function for converting Windows error codes to standard error
  conditions to winutil.cpp so it can be used from more places.
* Removed duplicate declaration of osd_get_clipboard_text and made the
  function noexcept (including fixing implementations).
* Made macOS implementation of osd_get_clipboard_text skip the encoding
  conversion if it finds UTF-8 text first.
* Changed the default -uimodekey setting so it doesn't lose the "not
  shift" that stops the default from interfering with UI paste.

Various bug fixes:
* util/unicode.cpp: Fixed the version of utf8_from_uchar that returns
  std::string blowing up on invalid codepoints.
* util/bitmap.h: Fixed wrapping constructors for indexed bitmaps taking
  the wrong parameter type (nothing was using them before).
* util/bitmap.cpp: Fixed potential use-after-free issues with bitmap
  palettes.
* emu/input.cpp, emu/inputdev.cpp: Log 1-based device numbers, matching
  what's shown in the internal UI and used in tokens in CFG files.
* emu/emumem.cpp: Added the bank tag to a fatal error message where it
  was missing.

docs: Reworked and expanded documentation on configuring stable
controller IDs.

For translators, the changes are quite minor:
* There's a menu item for copying a device ID to the clipboard, and
  associated success/failure messages.
* There's the menu item for setting the software list file search path.
* One of the lines in the software selection menu heading has changes as
  it could be interpreted as implying it showed a software list name.
2022-09-02 08:55:16 +10:00
Vas Crabb
abc6bd9cba Removed leftover strings from Brazilian Portuguese translation. 2022-07-12 02:20:39 +10:00
Felipe
17a1c74b8f
Updated Brazilian Portuguese translation. (#10066) 2022-07-12 02:15:50 +10:00
Vas Crabb
f47f9c3db3
ui, docs: Added menus to fill a couple of gaps, improved consistency. (#9915)
Added menus for controlling toggle inputs, and showing recognised input
devices and control state.  Moved input menu options off main menu to a
submenu, as there are a lot of them now.

Moved menu heading drawing into base class, added headings to more
menus, and made headings more consistent with the menu items used to
reach them.  Also made terminology more consistent.

Changed the default names for buttons and hat switches/D-pads to use
1-based numbering.  DirectInput still returns 0-based button numbers for
some devices.

Removed local copy of MinGW xaudio2.h as it’s now included in the MSYS2
package.  Also fixed building the DirectSound sound output module with
the SDL OSD on Windows - the Windows headers are sensitive to include
order.

Started adding documentation for menus, to hopefully help people find
menus they remember seeing but can't recall how to access.

For translators, this makes terminology more consistent.  In particular:
* "Settings" is preferred over "configuration" in a number of places, as
  the latter can be construed as referring specifically to settings
  stored in .cfg files in the cfg_directory folder.  Also, references to
  saving machine configuration could be interpreted as relating to the
  settings on the "Machine Configuration" menu.
* The controls on host input devices (e.g. keys, buttons, joystick axes)
  are referred to as "controls", while emulated inputs are referred to
  as "inputs".
* The menus for assigning host controls to emulated inputs are called
  "input assignments" menus to distinguish them from other input
  settings menus.
* Combinations of controls that can be assigned to emulated inputs are
  referred to as "combinations" rather than "sequences".
* The potentially confusing term "ROM set" has been removed altogether.
  Use "short name" to refer to a device or system's identifier.
* "System" is used in almost places to refer to a complete, runnable
  system rather than "Machine".
* "Driver" is now only used to refer to source files where systems or
  devices are defined - it is no longer used to refer to individual
  systems.
* A few more menus have message context for the messages.  This makes it
  a bit easier to guess where the messages are used.  It also means you
  can use different translations in different places if necessary (e.g.
  if the same English text should be translated differently as an item
  in one menu and as a heading in another).
2022-06-11 21:47:19 +10:00
Vas Crabb
7d8c657fad Moved localised I/O port name lookup into I/O port manager.
Added pseudo format specifiers to controller port names: %p for player
and %% for literal percent symbol.  This lets you get the localised
player identifier in overridden input names (see NES and Neo-Geo for
examples), and reduces the number of messages to translate.

For translators, the new messages are mostly previously existing
messages with wording adjusted for clarity (e.g. referring to "media"
rather than "ROMs" in several places, as things like disk and tape
images are included).  It's also possible to localise the "???"
dipslayed for an input without a valid name, but that should never
actually appear in practice.
2021-12-09 07:42:12 +11:00
Vas Crabb
1a6f832faa Updated localisations for UI changes in 0.238 development cycle.
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.
2021-11-19 03:39:16 +11:00
Vas Crabb
dff6c8c103 Removed obsolete messages from Brazilian Portuguese translation. 2021-11-18 02:49:25 +11:00
Vas Crabb
1572236346
Updated Brazilian Portuguese translation [Felipe] (#8836) 2021-11-18 02:44:05 +11:00
Vas Crabb
d64ea5331b
-frontend: Refactored menu event handling and fixed a number of issues. (#8777)
* 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.
2021-10-31 12:31:16 +11:00
Vas Crabb
13d85e3ff9 Filled in Japanese names for a bunch of inputs, fixed issues with localised P10 control names not showing. 2021-10-23 03:14:09 +11:00
Vas Crabb
cd57640deb Regenerate and patch up translation files for latest UI work. 2021-10-17 08:00:51 +11:00
Vas Crabb
c477606b09 Updated translation files for latest changes. 2021-10-16 04:44:39 +11:00
Vas Crabb
751c2806bf Re-generated translations for I/O port names.
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.
2021-10-11 15:02:55 +11:00
Vas Crabb
38082ccbee
Overdue internal UI enhancements (#8674)
* 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.
2021-10-09 12:16:17 +11:00
Felipe
4344fd45e8
Updated Brazilian Portuguese localisation. (#8243) 2021-07-03 02:08:55 +10:00
Vas Crabb
41b1e62e8f Re-generate localisations 2021-05-29 22:32:08 +10:00
Chrystian Rafael Rubio de Melo
9c1d153763
Update strings.po
Changes for a better Portuguese-Brasil.
2021-03-01 21:58:41 -04:00
Masc Guy
28fc639fea Fixed Portuguese_Brazil translation errors noted in issue 7510 2020-11-22 16:44:13 -05:00
katananja
622ebbe207
Update for Brazilian Portuguese (nw) 2019-03-17 02:29:48 -03:00
Vas Crabb
c420cc20d2 regenerate localisation files (nw) 2019-03-17 13:39:30 +11:00
katananja
1be4f08009
Nomenclature fix
* Nomenclature fix.
* Year update.
* Better description of what MAME is really doing.
2019-02-05 18:10:00 -02:00
Wellington Uemura
0728bfaf4f Updated translation for Brazilian Portuguese 2018-05-01 04:42:26 +10:00
Vas Crabb
c41e715d86 well that was dumb (nw) 2018-04-30 14:57:37 +10:00
Vas Crabb
f2568bb918 Make devopt menu localisable.
Make machine_config aware of device being configured so owner doesn't need to be passed everywhere.
2018-04-28 16:34:09 +10:00
Vas Crabb
60c5682899 remove some leftover crud (nw) 2018-03-26 00:28:08 +11:00
Wellington Uemura
fc858e9f92 Update for Brazilian Portuguese
* Added missing translation.
2018-03-26 00:23:13 +11:00
Vas Crabb
08dde5eb0a srcclean and regenerate localisations (nw) 2018-03-25 02:03:24 +11:00
Wellington Uemura
b4513b1f39 Update translation for Brazilian Portuguese
* 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.
2018-02-24 03:24:03 +11:00
Vas Crabb
4e8bb7c7e5 srcclean and regenerate localisations (nw) 2018-01-28 14:25:52 +11:00
Firehawke
9ece34eb21 Revert "Revert "Merge branch 'master' of https://github.com/mamedev/mame""
This reverts commit 54155441e9.
2017-12-13 21:31:27 -07:00
Firehawke
54155441e9 Revert "Merge branch 'master' of https://github.com/mamedev/mame"
This reverts commit f537428e5a, reversing
changes made to 0d70d79810.
2017-12-13 21:01:10 -07:00
Wellington Uemura
60aaa0bb85
Update for Brazilian Portuguese
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.
2017-11-30 08:26:12 -02:00
Wellington Uemura
6df9c15fc4 Update for Brazilian Portuguese
- 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/ErrosFrequentes
http://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.
2017-10-08 16:10:13 -03:00
Vas Crabb
2851d7d6cd (nw) Improve localisation:
* 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"
2017-10-03 10:49:30 +11:00
cracyc
8ca63912a2 add lua translation to makefile and update translations 2017-09-29 01:49:22 +10:00
Vas Crabb
30d0fb9f94 Swedish translation [Edstrom]
Regenerate translations, patch up some oversights in Swedish translation (nw)
2017-08-25 23:57:03 +10:00
Vas Crabb
779fb78d09 try to appease GCC, update language files (nw) 2017-08-21 22:24:28 +10:00
Vas Crabb
028452a386 Improve Brazilian Portuguese translation [Felipe Sanches] 2017-08-20 12:40:32 +10:00
Ashura-X
646d4b0580 PT_BR language updated 2017-08-20 11:53:58 +10:00
Vas Crabb
96c90e3c4d patch up translations (nw) 2017-08-19 17:52:38 +10:00
Vas Crabb
3853bf1331 update language files (nw) 2017-08-19 17:40:57 +10:00
Vas Crabb
a79d0971e7 patch up translations a bit (nw) 2017-08-10 01:46:01 +10:00