adding translations for recent additions

This commit is contained in:
Eric Froemling 2025-01-19 16:41:55 -08:00
parent 30effa611a
commit b52a4dd87e
No known key found for this signature in database
10 changed files with 83 additions and 67 deletions

64
.efrocachemap generated
View File

@ -432,21 +432,21 @@
"build/assets/ba_data/audio/zoeOw.ogg": "b2d705c31c9dcc1efdc71394764c3beb",
"build/assets/ba_data/audio/zoePickup01.ogg": "e9366dc2d2b8ab8b0c4e2c14c02d0789",
"build/assets/ba_data/audio/zoeScream01.ogg": "903e0e45ee9b3373e9d9ce20c814374e",
"build/assets/ba_data/data/langdata.json": "5e1dccd1106faa1a8b0d2c1cb15429dd",
"build/assets/ba_data/data/langdata.json": "b0b6a98af716f2f7eff47f9994b05525",
"build/assets/ba_data/data/languages/arabic.json": "32b9849fb8389b8c7798f0b744620318",
"build/assets/ba_data/data/languages/belarussian.json": "009b452aa308bf2b2f7e92d9b78ba5ff",
"build/assets/ba_data/data/languages/chinese.json": "168b529f2d55d714886be57f162f6842",
"build/assets/ba_data/data/languages/chinese.json": "1fba8375ac387218fcebfc46d067f437",
"build/assets/ba_data/data/languages/chinesetraditional.json": "32f53581b80ce723edbe8aa7956e6727",
"build/assets/ba_data/data/languages/croatian.json": "66be7ada024c5d5cf813a07b75217e48",
"build/assets/ba_data/data/languages/czech.json": "3418bee44e69be13b7f72996abe96921",
"build/assets/ba_data/data/languages/danish.json": "8e57db30c5250df2abff14a822f83ea7",
"build/assets/ba_data/data/languages/dutch.json": "4ba5bbcc0fecddd0aac6ee2c165d1e40",
"build/assets/ba_data/data/languages/english.json": "739c318260ddd4cff781cba50d5cab1c",
"build/assets/ba_data/data/languages/english.json": "75f12b47493e373a1c5b807f9f52f1ff",
"build/assets/ba_data/data/languages/esperanto.json": "0e397cfa5f3fb8cef5f4a64f21cda880",
"build/assets/ba_data/data/languages/filipino.json": "1894fc331dcad7ce9cf4c180843f548f",
"build/assets/ba_data/data/languages/french.json": "6d20655730b1017ef187fd828b91d43c",
"build/assets/ba_data/data/languages/german.json": "bc656f1ada467161c23546f48d0dacc5",
"build/assets/ba_data/data/languages/gibberish.json": "067479eeefd6508bc4d1019b7ff92017",
"build/assets/ba_data/data/languages/gibberish.json": "ec52fa37ee2bfaf4dd74ee69602ddd49",
"build/assets/ba_data/data/languages/greek.json": "d28d1092fbb00ed857cbd53124c0dc78",
"build/assets/ba_data/data/languages/hindi.json": "567e6976b3c72f891431ad7fcc62ab16",
"build/assets/ba_data/data/languages/hungarian.json": "af801baffb2c06460635dfb04c34bb3e",
@ -459,16 +459,16 @@
"build/assets/ba_data/data/languages/polish.json": "993b612c5854fc42a78726ed09c65251",
"build/assets/ba_data/data/languages/portuguese.json": "66fbf94a6ee7b2bc0d9efd6056302078",
"build/assets/ba_data/data/languages/romanian.json": "b04345d8c7631d657a69c73eb7be755a",
"build/assets/ba_data/data/languages/russian.json": "eca8fe1ef8343aee559e49c49805b850",
"build/assets/ba_data/data/languages/russian.json": "70cd57440e4cbb49f2fa0c79dedcafbe",
"build/assets/ba_data/data/languages/serbian.json": "623fa4129a1154c2f32ed7867e56ff6a",
"build/assets/ba_data/data/languages/slovak.json": "c11c29708b3742cdc2a92b4fa0d6d29f",
"build/assets/ba_data/data/languages/spanish.json": "c59f1f14083037b1ba48ffa0f12678ab",
"build/assets/ba_data/data/languages/spanish.json": "4233f57a07b9900dd1a7ac471964c36b",
"build/assets/ba_data/data/languages/swedish.json": "3b179e7333183c70adb0811246b09959",
"build/assets/ba_data/data/languages/tamil.json": "ead39b864228696a9b0d19344bc4b5ec",
"build/assets/ba_data/data/languages/thai.json": "383540a1e9c7c131ac579f51afc87471",
"build/assets/ba_data/data/languages/turkish.json": "974f54f3d2b4c4e8613de177e5d401f7",
"build/assets/ba_data/data/languages/turkish.json": "8a406f0fd91b55e3f8e57cd92aea5a52",
"build/assets/ba_data/data/languages/ukrainian.json": "0db55824759119aca74d2ee8ffe6daae",
"build/assets/ba_data/data/languages/venetian.json": "e0666c6a1db1792d895fcb250e59861b",
"build/assets/ba_data/data/languages/venetian.json": "c7facf9fe1d6d9d4a4130d7e5caa3ee7",
"build/assets/ba_data/data/languages/vietnamese.json": "017d8aa346d0c23a229a8a9acccf79a1",
"build/assets/ba_data/data/maps/big_g.json": "1dd301d490643088a435ce75df971054",
"build/assets/ba_data/data/maps/bridgit.json": "6aea74805f4880cc11237c5734a24422",
@ -4174,22 +4174,22 @@
"build/assets/windows/Win32/ucrtbased.dll": "bfd1180c269d3950b76f35a63655e9e1",
"build/assets/windows/Win32/vc_redist.x86.exe": "15a5f1f876503885adbdf5b3989b3718",
"build/assets/windows/Win32/vcruntime140d.dll": "865b2af4d1e26a1a8073c89acb06e599",
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "2a98e8537d1be14b704320178401dcb0",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "b2912201caff5a99e2d529996f9acd13",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "7850d4b60c26d9f7ec15d114300da092",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "f372e8a06b3a9db75a7af166ee880961",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "4c5a477096ea81f7a45462d5902c50f0",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "c043a1d836f859030df99f81743a3ee9",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "9837a541f38e3c9a1a17153d24b160fb",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "657d984e5180b9559100cfed1deb2459",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "7448454d0fe27f15b100611f9b4adbc2",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "9f2c90595bb7b11c19d7ced2ac317722",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "0788dd8c40d6588ec0ae6fc8aa1da45a",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "8371b2a3e5e4362c07bbb230993fb56d",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "ef1a6c563c6dd20f50957616d5146dd0",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "0a0f773208a8345af40394be223e7c85",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "bb2808447069e408315fbbf71e521626",
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "bae7dd80f8ebdc6868a7245e67b8b2b5",
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "8164b5b953657132b7c39c9f13227f48",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "ee3d26f5f11fb6354c42ae5be5aa0fef",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "df2bf5407a47a4df198e0b59d524e8c2",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "9aaab1a917b42cded055807c71862cee",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "a38f59eb016e3eb4daa684fa62d6c5ac",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "c97cf08a9eb43d9b81b8ad32514d1385",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "4b65319473ddcabe0ae96d64339f7b6e",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "738c7c46996451bccd6911029d2608c9",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "ef609dbbdd0a3fca8029fa1a92d2ad51",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "5521a866644a6bc4b5cf8fb028c19c18",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "b54c86bfefaa1745261026f7f5fdbbc8",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "edaba5cad75c49b44cc65afa94e7bdaa",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "7663795a2ddcbb3cf1489f7ce1e20949",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "c5ded9ae8d323701c6ecc54c067bc0ed",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "91bf2031f53cf66431665057d4401e78",
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "2e2277f0135bf625457bb1d002cfa074",
"build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "7497894d2943b75b6ac830cdba8481af",
"build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "273a6f64cac5a233694223b85cd0f22b",
"build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "7497894d2943b75b6ac830cdba8481af",
@ -4202,14 +4202,14 @@
"build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "7e071962108a8d1727525fb331b70ee4",
"build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "55a2b0c2d1db4d70627c901471d05fc7",
"build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "7e071962108a8d1727525fb331b70ee4",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "0d01609a856da6282e6b20608a9b4c54",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "abb08d747d8dce0bd300968c3c2e6d99",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "49e83bb1bb015500ead9551aea47c307",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "1c18c16ad0d3e02fb59ecee8a4c3ce28",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "dac816f68625b79380d2e55f54bb7578",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "544c697490194d58369e3065f676b52c",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "a0f96dccb1fd507a93f9de3fb653a1ac",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "61353b2caae64f70a4d3ee491a05b7cb",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "6ed435002883f39fddce160aa35ca275",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "4e4c08848e0045b11faa5b02cca613c1",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "9a5ae878b0734490c671a0be15645efd",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "8b4b1eea99d3f10efc096f3db83fc049",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "b40ecd37983d0e1cad60a2f924b01c6e",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "42731489fc3085e3cd8c4e732b3eaf6f",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "4592e6a2a94a0f6c355520b7167235a5",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "29ed912c6c6e5ae290ddbd45403900de",
"src/assets/ba_data/python/babase/_mgen/__init__.py": "f885fed7f2ed98ff2ba271f9dbe3391c",
"src/assets/ba_data/python/babase/_mgen/enums.py": "794d258d59fd17a61752843a9a0551ad",
"src/ballistica/base/mgen/pyembed/binding_base.inc": "06042d31df0ff9af96b99477162e2a91",

View File

@ -1,4 +1,4 @@
### 1.7.37 (build 22209, api 9, 2025-01-18)
### 1.7.37 (build 22210, api 9, 2025-01-19)
- Bumping api version to 9. As you'll see below, there's some UI changes that
will require a bit of work for any UI mods to adapt to. If your mods don't
touch UI stuff at all you can simply bump your api version and call it a day.

View File

@ -99,7 +99,7 @@ def show_display_item(
scale=width * 0.006,
size=(0, 0),
text=bauiv1.Lstr(
translate=('serverResponses', itemwrapper.description),
translate=('displayItemNames', itemwrapper.description),
subs=pairs_from_flat(subs),
),
maxwidth=width * 0.9,

View File

@ -53,7 +53,7 @@ if TYPE_CHECKING:
# Build number and version of the ballistica binary we expect to be
# using.
TARGET_BALLISTICA_BUILD = 22209
TARGET_BALLISTICA_BUILD = 22210
TARGET_BALLISTICA_VERSION = '1.7.37'

View File

@ -294,7 +294,10 @@ class ChestWindow(bui.MainWindow):
)
bui.textwidget(
edit=self._title_text, text=f'{chest.appearance.name} Chest'
edit=self._title_text,
text=bui.Lstr(
translate=('displayItemNames', chest.appearance.pretty_name)
),
)
imgsize = 145
@ -387,7 +390,7 @@ class ChestWindow(bui.MainWindow):
self._open_now_texts.append(
bui.textwidget(
parent=self._root_widget,
text='Open',
text=bui.Lstr(resource='openText'),
position=(
self._width * 0.5 + boffsx,
self._height + bposy + self._yoffs + bheight * 0.5,
@ -405,7 +408,7 @@ class ChestWindow(bui.MainWindow):
self._open_now_texts.append(
bui.textwidget(
parent=self._root_widget,
text='Open Now',
text=bui.Lstr(resource='openNowText'),
position=(
self._width * 0.5 + boffsx,
self._height + bposy + self._yoffs + bheight * 1.15,
@ -562,7 +565,7 @@ class ChestWindow(bui.MainWindow):
# Title.
bui.textwidget(
parent=self._root_widget,
text='Prize Odds',
text=bui.Lstr(resource='chests.prizeOddsText'),
color=(0.7, 0.65, 1, 0.5),
flatness=1.0,
shadow=1.0,
@ -625,10 +628,12 @@ class ChestWindow(bui.MainWindow):
# Show decimals only if we get very small percentages (looks
# better than rounding as '0%').
percenttxt = (
f'{percent:.2f}'
if percent < 0.1
f'{percent:.2f}%:'
if percent < 0.095
else (
f'{percent:.1f}' if percent < 1.0 else f'{round(percent)}%:'
f'{percent:.1f}%:'
if percent < 0.95
else f'{round(percent)}%:'
)
)

View File

@ -58,7 +58,7 @@ class InventoryWindow(bui.MainWindow):
parent=self._root_widget,
position=(0, height - 45 + yoffs),
size=(width, 25),
text='INVENTORY',
text=bui.Lstr(resource='inventoryText'),
color=bui.app.ui_v1.title_color,
h_align='center',
v_align='center',

View File

@ -58,25 +58,14 @@ class ResourceTypeInfoWindow(PopupWindow):
max_rdesc_height = 160
rdesc: bui.Lstr | str
if resource_type == 'tickets':
yoffs -= 20
rdesc = (
'Tickets can be used to unlock characters,\n'
'maps, minigames, and more in the store.\n'
'\n'
'Tickets can be found in chests won through\n'
'campaigns, tournaments, and achievements.'
)
rdesc = bui.Lstr(resource='ticketsDescriptionText')
texname = 'tickets'
elif resource_type == 'tokens':
rdesc = (
'Tokens are used to speed up chest unlocks\n'
'and for other game and account features.\n'
'\n'
'You can win tokens in the game or buy them\n'
'in packs. Or buy a Gold Pass for infinite\n'
'tokens and never hear about them again.'
)
rdesc = bui.Lstr(resource='tokens.tokensDescriptionText')
texname = 'coin'
bwidth = 200
bheight = 50

View File

@ -917,11 +917,7 @@ class StoreBrowserWindow(bui.MainWindow):
subs=[
(
'${SETTINGS}',
bui.Lstr(
resource=(
'accountSettingsWindow.titleText'
)
),
bui.Lstr(resource='inventoryText'),
),
(
'${PLAYER_PROFILES}',

View File

@ -39,7 +39,7 @@ auto main(int argc, char** argv) -> int {
namespace ballistica {
// These are set automatically via script; don't modify them here.
const int kEngineBuildNumber = 22209;
const int kEngineBuildNumber = 22210;
const char* kEngineVersion = "1.7.37";
const int kEngineApiVersion = 9;

View File

@ -50,6 +50,31 @@ class ClassicChestAppearance(Enum):
L5 = 'l5'
L6 = 'l6'
@property
def pretty_name(self) -> str:
"""Pretty name for the chest in English."""
# pylint: disable=too-many-return-statements
cls = type(self)
if self is cls.UNKNOWN:
return 'Unknown Chest'
if self is cls.DEFAULT:
return 'Chest'
if self is cls.L1:
return 'L1 Chest'
if self is cls.L2:
return 'L2 Chest'
if self is cls.L3:
return 'L3 Chest'
if self is cls.L4:
return 'L4 Chest'
if self is cls.L5:
return 'L5 Chest'
if self is cls.L6:
return 'L6 Chest'
assert_never(self)
@ioprepped
@dataclass
@ -147,8 +172,9 @@ class DisplayItem(IOMultiType[DisplayItemTypeID]):
"""Return a string description and subs for the item.
These decriptions are baked into the DisplayItemWrapper and
should be accessed from there by the client. This should only be
called on the server side when doing said baking.
should be accessed from there when available. This allows
clients to give descriptions even for newer display items they
don't recognize.
"""
raise NotImplementedError()
@ -246,7 +272,7 @@ class ChestDisplayItem(DisplayItem):
@override
def get_description(self) -> tuple[str, list[tuple[str, str]]]:
return '${TYPE} Chest', [('${TYPE}', self.appearance.name.capitalize())]
return self.appearance.pretty_name, []
@ioprepped