Commit graph

82 commits

Author SHA1 Message Date
ShadowOfHassen
ea34e4e18a Added ruins 2026-08-13 14:31:01 -04:00
Dunedan
f4c52e49a7
Fix string extraction of new game settings
5741f77c6e and b5256ce014 added new translatable strings for game
settings, but missed adding them to
binaries/data/mods/public/l10n/messages.json to get them properly
extracted into the PO-templates for translation. This commit fixes that.
2026-01-14 22:02:02 +01:00
Vantha
44984699f1 Remove some invalid entries from messages.json
'StatusName', 'ApplierTooltip' and 'ReceiverTooltip' are attributes of status
effects, which are defined in JSON files (and already extracted
correctly from there), not XMLs.
2025-11-18 11:34:10 +01:00
Vantha
aec5bf42da Layout and code improvements on the welcome screen
Move the lines from the .txt to the .xml .
Add separate objects for each paragraph and icon.
Position the icons depending on the paragraph length in the current
language.

This eliminates potential for breakage during translation.

Fixes #7484
2025-02-20 11:15:57 +01:00
Dunedan
9d4fa75f8e
Fix picking up of translations for game settings
Fixes #6912
2024-12-06 17:03:47 +01:00
Vantha
eb3f0f4cc1 Fix translation of tips
The tip text files were moved to a new location in 38b71c1bac.
This patch updates the translation extractor accordingly.
2024-09-30 17:03:51 +02:00
Dunedan
2c2099fea6 Revert "Custom context for specific names"
dd65a4e32e had some unintended consequences. Some specific names
apparently
are indeed supposed to be translated. Also using the message context
the translator hint isn't the right place and changes the primary key
used for these strings on Transifex. Instead comments should be used.
To avoid more interruption to translators, we revert the changes for
now and come up with a better patch.

This was SVN commit r28162.
2024-07-26 09:18:43 +00:00
Dunedan
dd65a4e32e Custom context for specific names
Make it clear that strings for specific names usually don't have to be
translated.

Patch by: @Dunedan
Accepted by: @Stan
Fixes #5563

Differential Revision: https://code.wildfiregames.com/D5310
This was SVN commit r28160.
2024-07-26 03:43:47 +00:00
Dunedan
32b9a27e9b Fix references in portable object templates
Up to now the references (lines starting with `#:`) in the portable
object templates generated by `updateTemplates.py` didn't comply with
the PO file format specification. They violated the specification in two
ways:

- White spaces in file names got replaced by non-breaking spaces
  (U+00A0), instead of the file names being enclosed by First Strong
  Isolate (U+2068) and Pop Directional Isolate (U+2069)
- the references didn't just include the filename and optionally the
  line number of the string, as defined in the specification, but also a
  non-standard "breadcrumb" component, which made them unnecessary
  hard to read in certain cases and difficult to use with tools
  expecting properly formatted references

This commit fixes both of these issues by properly encoding white
spaces and removing the breadcrumb component.

Patch by: @Dunedan
Accepted by: @Stan
Differential Revision: https://code.wildfiregames.com/D5309
This was SVN commit r28159.
2024-07-25 08:53:04 +00:00
Dunedan
1fa6184d17 Make language names in credits translatable
Up to now the languages and their names shown in the credits came from a
static mapping in `creditTranslators.py`. The language names noted in
there weren't consistent: some where present just in English, some in
their native language and some in both. This also required adjusting the
mapping manually, whenever a new language got added on Transifex,
otherwise its translators wouldn't be credited properly.

This commit resolves both issues, by making the language names
translatable and removing the need for the static mapping in
`creditTranslators.py`.

There is one minor nuisance with this implementation: As the languages
get listed in the credits in the same order as in `translators.json` and
they are ordered by there English name in there, the order might not be
alphabetical in other languages.

Running `creditTranslators.py` for the first time with these changes
will produce a rather large diff for `translators.json`, as not just the
language names will be changed to the English name of the language in
many cases, but the order of languages in the file as well. The first
run of `updateTemplates.py` after that will then add the languages as
new translatable strings.

Patch by: @Dunedan
Accepted by: @Itms
Differential Revision: https://code.wildfiregames.com/D5300
This was SVN commit r28158.
2024-07-24 15:37:05 +00:00
bb
157c6af18e Make the space in 0 A.D. non-breaking throughout the codebase.
Avoid cases of filenames
Update years in terms and other legal(ish) documents
Don't update years in license headers, since change is not meaningful

Will add linter rule in seperate commit

Happy recompiling everyone!

Original Patch By: Nescio
Comment By: Gallaecio
Differential Revision: D2620
This was SVN commit r27786.
2023-07-27 20:54:46 +00:00
Freagarach
b778caf146 Move FormationName and Icon from cmpFormation to cmpIdentity.
Reduces duplication across components.
Allows to provide specific names and history for formations.

Differential revision: https://code.wildfiregames.com/D4476
Comments by: @bb, @Stan
Fixes #6400

This was SVN commit r26476.
2022-02-24 06:51:07 +00:00
bb
0f07c368ed Allow more general contexts in json translatable strings
While at it fix the messages.json from ea72437739 (missing excludeMask
and make the keywords objects not arrays)
Comments By: Freagarach
Differential Revision: D4483
This was SVN commit r26422.
2022-02-19 17:21:23 +00:00
Freagarach
63fcd8c559 Fix syntax in messages.json.
Noticed by @bb (and the linter), after ea72437739.

This was SVN commit r26340.
2022-02-11 06:14:53 +00:00
Freagarach
ea72437739 Move GenericName, History and Icon from the civ-JSON to cmpIdentity.
Since the players/civs already have cmpIdentity, use it.
This forces civs to have corresponding XML in the `special/players/`
folder.

Also moves the files from `special/player/` to `special/players/`
consistent with other folders. And moves the generic `player.xml` one
level up.

Differential revision: https://code.wildfiregames.com/D4473
Help and comments by: @Stan, @wraitii
This was SVN commit r26298.
2022-02-05 06:24:45 +00:00
wraitii
cbd91ca999 Translation fixes.
- Fix in tooltip context for healing 'Health'
- Fix in tooltip for splash shape.
- Translate locale_advanced
- Translate specific name in the structure truee
- Translate player name in gamesetup.

Patch by: nwtour
Differential Revision: https://code.wildfiregames.com/D3889
This was SVN commit r25332.
2021-04-28 08:04:13 +00:00
Freagarach
6f1644aac3 Some translation fixes.
Patch by: @nwtour
Differential revision: https://code.wildfiregames.com/D3875
Comment by: @vladislavbelov
This was SVN commit r25301.
2021-04-22 07:41:56 +00:00
Freagarach
b74ab54cf7 Fix translation of damage types.
Broken in d28a91b83d.
Due to not checking for `template_helpers` in the game's files.

Patch by: @nwtour
Differential revision: https://code.wildfiregames.com/D3850
This was SVN commit r25265.
2021-04-15 05:47:54 +00:00
wraitii
8c2ab4df62 Improve & translate hotkey name/descriptions.
Improve the hotkey translations. This adds them to messages.json for
translation, closing the work from 09ad8bfbe5

Refs #5867, refs #5996

Differential Revision: https://code.wildfiregames.com/D3641
This was SVN commit r25097.
2021-03-21 14:23:57 +00:00
wraitii
1c9efa6fb5 Implement Single-Player campaigns - Barebones tutorial campaign included.
This implements necessary tooling to create a simple SP campaign.
The architecture is intended to be easily extensible in the future.

'Campaign Run' contains the metadata of a campaign, e.g. maps
played/won. It's saved in the user folder under
saves/campaigns/*.0adcampaign
Campaign templates are JSON files in campaigns/

Campaigns can specify which Menu interface they will use. This is
intended to allow more complex layouts/presentation.
For now, a simple list interface is provided. This allows making
campaigns without any fancy art required (and effectively mimics AoE1's
campaign interface).

The behaviour on game end is also intended to be extensible, supporting
things such as carrying over units between scenarios - for now, it
simply records won games.

GameSetup is not available for now - scenarios are triggered with the
settings defined in the map/default settings. Improving on this requires
refactoring the gamesetup further.

The load/save game page has been extended slightly to support
showing/hiding campaign games (campaign gamed are saved under saves/
directly, there is no strong motivation to do otherwise at this point)

Closes #4387

Differential Revision: https://code.wildfiregames.com/D11
This was SVN commit r24979.
2021-03-02 15:43:44 +00:00
wraitii
e839fc29c7 Fix i18n for common map trigger scripts.
Patch by: nwtour
Differential Revision: https://code.wildfiregames.com/D3570
This was SVN commit r24947.
2021-02-27 10:34:11 +00:00
wraitii
c3f74494b4 Fix GUI hotkey/map/reference strings not being translated.
Fixes ae9ea5b859, a4852c4c01, bbd808349f

Differential Revision: https://code.wildfiregames.com/D3535
This was SVN commit r24946.
2021-02-27 10:27:26 +00:00
Freagarach
7f7a3edfae Get attack effects from JSON.
Reads attack effects from JSON files to allow easier introduction (one
still needs to modify other components).

Differential revision: D2661
Comments by: @Angen, @bb, @Stan, @wraitii
This was SVN commit r24500.
2021-01-02 07:09:08 +00:00
s0600204
7cde8a9df4 Rewrite the civinfo page to use OOP principles
Tested by: Nescio, Freagarach
Refs: #5387
Differential Revision: https://code.wildfiregames.com/D2822
This was SVN commit r24289.
2020-11-29 04:20:17 +00:00
bb
85c9a48db0 Generalize to arbitrary translatable attacknames in the GUI
Reviewed By: Nescio, Freagarach
Comments By: wraitii, elexis
Differential Revision: D2995
refs: #252

This was SVN commit r24209.
2020-11-18 21:34:33 +00:00
Freagarach
876b035336 Allow resistances to StatusEffects.
Differential Revision: D2908
Reviewed by: @wraitii
Comments by: @bb.
This was SVN commit r24162.
2020-11-11 20:07:30 +00:00
wraitii
ea67b79667 Handle stacking status effects, modifiers, some related fixes.
Continuation of work on status effects, following 82a5ab6d19.

Allow techs to modify properties.
Enable different behaviour when status effects would stack, such as
extending the duration or stacking the effects.
Fix GUI issue with more than 5 status effects.
Improve tooltips.
Let status effects show a different tooltip for the attacker and the
receiver.

Patch by: Freagarach
Reviewed By: wraitii, Angen (on an older differential).
Differential Revision: https://code.wildfiregames.com/D2296
This was SVN commit r23757.
2020-06-09 11:47:16 +00:00
wraitii
c1ddc0c4b9 Internationalise Damage Types and Status Effects using (optional) JSON files.
.json files in simulation/data/template/helpers/damage_types and
status_effects will be used to internationalise damage types and status
effects, as well as share common text.
Fixes the order of damage types being inconsistent.

Add the possibility for i10n xml extractor to set a custom context.

Fixes #4801
Related to D2296.

Featuring work from: Freagarach

Differential Revision: https://code.wildfiregames.com/D2337
This was SVN commit r23681.
2020-05-20 17:26:37 +00:00
elexis
5ca68a38ef Rewrite Gamesetup AIConfig page to use class syntax, decouple settings and move it to the Gamesetup subfolder context, refs #5322, #5387.
This establishes a code architecture where only one class and only one
page is responsible per AI setting,
removes the hardcodings from the XML and JS file,
allowing future patches and mods to insert, remove and edit independent
AI settings without having to overwrite the existing code.

Differential Revision: https://code.wildfiregames.com/D2577
See also 0550315161/D2581 and comments linked there.

This was SVN commit r23419.
2020-01-20 09:29:43 +00:00
elexis
bdc6a7d3fd Unify loadgame and savegame dialog following e0ea53a8ee, refs #2030.
This way the save dialog gains the sortable list and details section
feature from 10b49f9c18 / D246 by removing a folder of code, refs #4413.
Fixes a style warning about the old dialog using a style for an 'olist'
type for a 'list' type, refs be963ec9b7 / D2232.

Subsequently move the gui/common/ helper file to the page code, meaning
it's not loaded for every GUI page needlessly anymore.
Fix map preview aspect ratio.
Use object-oriented code for the moved savegame code, refs #5387, but
conserve the rest of the code to limit the changes for auditability.

Differential Revision: https://code.wildfiregames.com/D2290
Tested on: Jenkins

This was SVN commit r22923.
2019-09-18 02:33:43 +00:00
Gallaecio
91ff208e1d Do not generate duplicate biome strings for translation
Patch By: Gallaecio
Differential Revision: https://code.wildfiregames.com/D1579
This was SVN commit r22121.
2019-03-17 14:07:56 +00:00
Itms
577671f92e Complete 5561327d3f by removing an obsolete reference.
Reviewed By: elexis
Differential Revision: https://code.wildfiregames.com/D1714
This was SVN commit r21967.
2018-12-28 19:16:11 +00:00
Itms
5561327d3f Fix some untranslated strings, fixes #5155.
Patch By: Stan
Differential Revision: https://code.wildfiregames.com/D1560
This was SVN commit r21960.
2018-12-28 13:07:22 +00:00
elexis
54e5ad2ae9 Lobby Privacy Policy.
Restricts the previous Terms of Service clauses that asked for a
universal grant for personal data processing without explicitly
mentioning chatlogs or IP address logs (possibly in violation of the
Data Protection Directive).
Hopefully establishes GDPR compliance for the lobby by mentioning all
data procsessed, purposes and new user rights, fixes #5257.
Explain why the service is not directed to children < 13 and a COPPA
compliance note.
Add severability clause.
Add licensing note for terms.

Differential Revision: https://code.wildfiregames.com/D1590
Accepted By: Itms
refs https://wildfiregames.com/forum/index.php?/topic/24325-gdpr/

This was SVN commit r21908.
2018-10-16 13:46:18 +00:00
elexis
5a95ee0406 Create UserReporter translation resource for 209bab0255 / D1598.
Differential Revision: https://code.wildfiregames.com/D1647
Reviewed By: Itms
This was SVN commit r21905.
2018-10-13 00:06:52 +00:00
elexis
209bab0255 New UserReporter Terms and Conditions, hopefully GDPR compliant, refs #5257.
Require SSL for the UserReporter clientside.

Differential Revision: https://code.wildfiregames.com/D1598
Includes contributions by bb and Itms

This was SVN commit r21898.
2018-10-05 22:19:28 +00:00
elexis
80dbd1f2a3 Rewrite the prelobby pages and add the Terms of Service, Terms of Use and the agreement checkbox to the login page.
Ensure lobby players cannot join without acceptance of the terms in case
they change, fixes #5218, as agreed in last staff meeting.

Separate lobby entrance, lobby login and lobby register GUI page.
Since bffe917914 they were squashed into a single GUI page;
 Adding lots of hardcode to set the visibility of GUI objects;
 Reinventing a GUI page manager in JS;
 Unintentionally persisting data between pages;
 Requiring lots of errorprone case distinctions which are unneeded once
relevant GUI objects and code is loaded exclusively.

Add the remember-password checkbox from b6b547d5f8 / D822 to the
registration page too.

Revert the revert of ccb534259d in 9f9db45a03 and continue to prefer
objects with separate functions per C++ GUI message type,
reducing the nesting of conditionals per function and reveal codeflow by
making input and output variables explicit.

Fix oversight in 0940db3fc0 by moving the registrationrate string from
0e2d2610c9 from the "disconnect" to the "error" case.

Differential Revision: https://code.wildfiregames.com/D1568
Few comments by: Vladislav, Imarok, gallaecio
This was SVN commit r21847.
2018-06-11 15:59:22 +00:00
Itms
364eaa34c6 Move some utility functions from the public mod to the mod mod in preparation for upcoming commit.
Small fixes and improvement while I'm at it, by temple and elexis.

This was SVN commit r21754.
2018-04-22 12:03:51 +00:00
elexis
c69b5688bc Revert 8684e06ce0 / D1083 since the translated strings are only accessible while the public mod is enabled.
Reported By: leper
Reviewed By: Vladislav
Alternatively one might consider mod label and description translations
contained in the mod.json.

This was SVN commit r21341.
2018-02-24 00:33:30 +00:00
s0600204
c8fda40b02 Implement an in-game Template Details Viewer
Right-click on icons of units, structures, technologies, flora, fauna,
etc. and view additional details.


Reviewed By: elexis
Fixes: #3212
Differential Revision: https://code.wildfiregames.com/D297
This was SVN commit r21310.
2018-02-21 21:39:00 +00:00
elexis
7723256248 Fix obligatorily broken translation of the new map-specific biome directory structure in 626d89a726, refs #4954.
This was SVN commit r21089.
2018-01-31 19:47:45 +00:00
Itms
b79b783a36 Fix the translation updates by removing a typo in e50beaedc0.
Reviewed By: elexis
Differential Revision: https://code.wildfiregames.com/D1259
This was SVN commit r21031.
2018-01-27 11:52:23 +00:00
elexis
8cd117d489 Fix berries on Danubius following 921850cdef and remove unused translation entry following following 74bfe5fd55.
This was SVN commit r21009.
2018-01-25 04:42:12 +00:00
mimo
e50beaedc0 Fix trigger difficulty level (9daa7520ef) for translation
Discussed with elexis

Trac Tickets: #4931

Differential Revision: https://code.wildfiregames.com/D1207
This was SVN commit r20790.
2018-01-07 17:37:17 +00:00
mimo
9daa7520ef Allows trigger script with different difficulty levels
Reviewed By: elexis
Differential Revision: https://code.wildfiregames.com/D1189
This was SVN commit r20760.
2018-01-03 11:21:37 +00:00
elexis
8684e06ce0 Support translation of mod labels and description.
Differential Revision: https://code.wildfiregames.com/D1083
Reviewed By: Vladislav
This was SVN commit r20614.
2017-12-08 20:51:36 +00:00
elexis
74bfe5fd55 Add biome descriptions.
Display biomes in the objectives dialog and gamesetup map description
panel.
Complete the mod support of 871ed04521 by leaving the code
biome-agnostic.
Fix an oversight in unknown nomad in 2c5a6052ea.

Differential Revision: https://code.wildfiregames.com/D884
Strings By: Hannibal_Barca
This was SVN commit r20139.
2017-09-09 00:10:08 +00:00
elexis
f2550705d3 Select the biome of the random map in the gamesetup.
Differential Revision: https://code.wildfiregames.com/D852
Based on patch by: Grugnas
This was SVN commit r20115.
2017-09-05 12:57:22 +00:00
elexis
b3d1d02e53 Move prelobby files to a separate directory (to prepare splitting the lobby code into several files).
Refs #4106, D817

This was SVN commit r20110.
2017-09-04 19:41:40 +00:00
s0600204
cdf6109713 Relocate and Rearrange the structree codebase
Makes it possible to reuse the more generic parts of the `structree`
codebase in other pages without including `structree`-specific logic.
This sets the stage for further reference/encyclopedia-type pages.

Reviewed By: fatherbushido, elexis
Differential Revision: https://code.wildfiregames.com/D295
This was SVN commit r19940.
2017-07-31 12:49:00 +00:00