more translations

This commit is contained in:
Eric Froemling 2025-01-20 08:49:51 -08:00
parent b2fbfb17c8
commit 08866586e4
No known key found for this signature in database
9 changed files with 63 additions and 112 deletions

64
.efrocachemap generated
View File

@ -432,7 +432,7 @@
"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": "6aef1475393f3bf472dfb2dbd4f1af5a",
"build/assets/ba_data/data/langdata.json": "ba264ce70e370aed4815cc59692e66ef",
"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": "5363a79f843e6be7ef47a840f47cc17d",
@ -441,12 +441,12 @@
"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": "75f12b47493e373a1c5b807f9f52f1ff",
"build/assets/ba_data/data/languages/english.json": "cde7a60508100173973a16293ff79077",
"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": "ec52fa37ee2bfaf4dd74ee69602ddd49",
"build/assets/ba_data/data/languages/gibberish.json": "ac45c86b24a676d7936929ba8801f75f",
"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",
@ -462,7 +462,7 @@
"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": "95442f88ee4c5c524f8399b4f5099447",
"build/assets/ba_data/data/languages/spanish.json": "cca1358d25e8e71ba9eec54341e8df6f",
"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",
@ -1838,10 +1838,10 @@
"build/assets/ba_data/textures/lightSoft.pvr": "32c69e9d5adc013769d97da7d60f40e6",
"build/assets/ba_data/textures/lightSoft_preview.png": "81cd90a59c4e3f6d594421d4a23ac855",
"build/assets/ba_data/textures/light_preview.png": "024f02fb79cffcca6cbbfb616cb9c16f",
"build/assets/ba_data/textures/lock.dds": "e0dafe9055d1b5385e6bf944d6af010c",
"build/assets/ba_data/textures/lock.ktx": "e1d480e7d01a3636f83da11d477ad71e",
"build/assets/ba_data/textures/lock.pvr": "200394ca9d7aefb4de9236ecc8af42a6",
"build/assets/ba_data/textures/lock_preview.png": "ee2e716bac338386b49cee25e53c0fc6",
"build/assets/ba_data/textures/lock.dds": "e5e4c7b1ab02202ffb7430d670c58a08",
"build/assets/ba_data/textures/lock.ktx": "9401b3c624fa853d649374320a7dd012",
"build/assets/ba_data/textures/lock.pvr": "10325fd3c40d8c794b09123dda3ce109",
"build/assets/ba_data/textures/lock_preview.png": "2f8f8bd6bba8d1baed19c4419ed92a91",
"build/assets/ba_data/textures/logIcon.dds": "5c1e6f828f8edde2ec68cb2a35eb8c2e",
"build/assets/ba_data/textures/logIcon.ktx": "67f801f1b6e8192a8a22b29a03007795",
"build/assets/ba_data/textures/logIcon.pvr": "e16534c4133b0807f15ff9af2dbf2ddd",
@ -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": "8dfb41981dedb1bbe9d2bcfcb40cafe1",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "9c577fe2ce8d1874cdefe4cf8b9bf2d8",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "379feebe179c3154e252702159c6340d",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "4c9068a3b2683bb1b3394869c0662874",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "8635b274e2e6ca8cdf526e7917367db9",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "b43a1da791fdbbea45e1be57b23dcfca",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "241933b7af6880af3f5eeb4c98ae6c07",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "e08d943c1945f28ffcebc21e32fec9ae",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "b7803b0a131b3764beaf7464dc8a2c30",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "c73087aeba6badf3ed04511a74932d58",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "846db38a77262d54ee685fe9169b45f2",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "9c7103ff8762c6822c866c1ad2f1a1e5",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "951470bd9a9a727ed8abc833bfa9d810",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "a4cf3ea0e3748413ee80431ab599c47a",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "207b35dab3bb4ac4410f90efc89276c7",
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "bbfc83a8121b9f6db4fa355ae8db581a",
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "9fe0194ff2f6b7363a5d3a06dd06b37f",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "f2a795a990f0dfaea9134af9407badd1",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "c61a560de21247175261d223de16d403",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "1c0274bb083949b05930b1ab4e3c1b7b",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "62e1861d5a129636d91f2e95441ecf02",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "db087754b233d353187b30c4cb93806e",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "b7ffe69fefbfd2b4b30e702c4d3db1fc",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "a01d54acf558ad4b8a68ad4bb73e2d3a",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "9f4fb98a5cbab26e36979b3aa7f26981",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "0637fd3a40a5220bf68c030c32c0c94d",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "97df23a219f5c9ff4f1e7fea3a821a1f",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "40e15078db0b1c993b9d164459ffcd92",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "1798bdc143986033a723bea929afb076",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "e61a718c983d2b880d24a23633a0eafa",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "a7354e98bcbe4e87f8e1729f71b6407c",
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "1a51d072caf08d89147446841e838273",
"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": "3de95bd13f619ac4918cc19b56330981",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "ae8b2b57a5330845c2815cd4335b315c",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "9ca059e82234aa41ffab66325da41536",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "549b4f304d960aed9e83dba6d572c46e",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "71271092c8e0db2ad940bf29fe787f5b",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "259ef4b74759673126d82fd7ccd3a12c",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "d80b53bc55451c31a17b1cc15522d420",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "d8a3ca0bca519510d7a1ad66ff3ca8b7",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "52d5d23f1c4f1d8f3f444d84e7c6eedd",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "8516053e839fac9c014669555c16552e",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "96ed1d3dac7a1a961c727a1697feb122",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "b28963810cca19f3ec32bdf1ba39852f",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "5fd9bd7df2be3347fd686df6c6017214",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "e2215b2837db9ee041c6fc215110f807",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "1c2319c70a9e7dee3f56dcc030f1ad84",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "51bd82b3cea8c35ba8df869f4d2ab686",
"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 22213, api 9, 2025-01-19)
### 1.7.37 (build 22216, api 9, 2025-01-20)
- 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

@ -45,7 +45,6 @@ class ClassicAppSubsystem(babase.AppSubsystem):
# pylint: disable=too-many-public-methods
# noinspection PyUnresolvedReferences
from baclassic._music import MusicPlayMode
def __init__(self) -> None:
@ -96,17 +95,17 @@ class ClassicAppSubsystem(babase.AppSubsystem):
# We include this extra hash with shared input-mapping names so
# that we don't share mappings between differently-configured
# systems. For instance, different android devices may give different
# key values for the same controller type so we keep their mappings
# distinct.
# systems. For instance, different android devices may give
# different key values for the same controller type so we keep
# their mappings distinct.
self.input_map_hash: str | None = None
# Maps.
self.maps: dict[str, type[bascenev1.Map]] = {}
# Gameplay.
self.teams_series_length = 7 # deprecated, left for old mods
self.ffa_series_length = 24 # deprecated, left for old mods
self.teams_series_length = 7 # Deprecated, left for old mods.
self.ffa_series_length = 24 # Deprecated, left for old mods.
self.coop_session_args: dict = {}
# UI.
@ -176,8 +175,9 @@ class ClassicAppSubsystem(babase.AppSubsystem):
self.music.on_app_loading()
# Non-test, non-debug builds should generally be blessed; warn if not.
# (so I don't accidentally release a build that can't play tourneys)
# Non-test, non-debug builds should generally be blessed; warn
# if not (so I don't accidentally release a build that can't
# play tourneys).
if not env.debug and not env.test and not plus.is_blessed():
babase.screenmessage('WARNING: NON-BLESSED BUILD', color=(1, 0, 0))
@ -233,8 +233,8 @@ class ClassicAppSubsystem(babase.AppSubsystem):
from babase import Lstr
from bascenev1 import NodeActor
# FIXME: Shouldn't be touching scene stuff here;
# should just pass the request on to the host-session.
# FIXME: Shouldn't be touching scene stuff here; should just
# pass the request on to the host-session.
with activity.context:
globs = activity.globalsnode
if not globs.paused:
@ -261,8 +261,8 @@ class ClassicAppSubsystem(babase.AppSubsystem):
to resume.
"""
# FIXME: Shouldn't be touching scene stuff here;
# should just pass the request on to the host-session.
# FIXME: Shouldn't be touching scene stuff here; should just
# pass the request on to the host-session.
activity = bascenev1.get_foreground_host_activity()
if activity is not None:
with activity.context:
@ -352,21 +352,21 @@ class ClassicAppSubsystem(babase.AppSubsystem):
babase.app.ui_v1.clear_main_window()
if isinstance(bascenev1.get_foreground_host_session(), MainMenuSession):
# It may be possible we're on the main menu but the screen is faded
# so fade back in.
# It may be possible we're on the main menu but the screen
# is faded so fade back in.
babase.fade_screen(True)
return
_benchmark.stop_stress_test() # Stop stress-test if in progress.
# If we're in a host-session, tell them to end.
# This lets them tear themselves down gracefully.
# If we're in a host-session, tell them to end. This lets them
# tear themselves down gracefully.
host_session: bascenev1.Session | None = (
bascenev1.get_foreground_host_session()
)
if host_session is not None:
# Kick off a little transaction so we'll hopefully have all the
# latest account state when we get back to the menu.
# Kick off a little transaction so we'll hopefully have all
# the latest account state when we get back to the menu.
plus.add_v1_account_transaction(
{'type': 'END_SESSION', 'sType': str(type(host_session))}
)
@ -679,14 +679,6 @@ class ClassicAppSubsystem(babase.AppSubsystem):
babase.Call(ServerDialogWindow, sddata),
)
# def root_ui_ticket_icon_press(self) -> None:
# """(internal)"""
# from bauiv1lib.resourcetypeinfo import ResourceTypeInfoWindow
# ResourceTypeInfoWindow(
# origin_widget=bauiv1.get_special_widget('tickets_meter')
# )
def show_url_window(self, address: str) -> None:
"""(internal)"""
from bauiv1lib.url import ShowURLWindow
@ -733,7 +725,6 @@ class ClassicAppSubsystem(babase.AppSubsystem):
self,
transition: str = 'in_right',
origin_widget: bauiv1.Widget | None = None,
# in_main_menu: bool = True,
selected_profile: str | None = None,
) -> None:
"""(internal)"""
@ -831,7 +822,6 @@ class ClassicAppSubsystem(babase.AppSubsystem):
app = bauiv1.app
env = app.env
with bascenev1.ContextRef.empty():
# from bauiv1lib import specialoffer
assert app.classic is not None
if app.env.headless:
@ -969,4 +959,6 @@ class ClassicAppSubsystem(babase.AppSubsystem):
if purchase is None:
return True
return plus.get_v1_account_product_purchased(purchase)
out = plus.get_v1_account_product_purchased(purchase)
assert isinstance(out, bool)
return out

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 = 22213
TARGET_BALLISTICA_BUILD = 22216
TARGET_BALLISTICA_VERSION = '1.7.37'

View File

@ -205,8 +205,7 @@ class ChestWindow(bui.MainWindow):
if isinstance(response, Exception):
self._error(
# bui.Lstr(resource='internal.unavailableNoConnectionText')
'Unable to complete this right now.\nPlease try again.',
bui.Lstr(resource='internal.unableToCompleteTryAgainText'),
minor=True,
)
return
@ -227,8 +226,7 @@ class ChestWindow(bui.MainWindow):
# Communication/local error:
if isinstance(response, Exception):
self._error(
# bui.Lstr(resource='internal.unavailableNoConnectionText')
'Unable to complete this right now.\nPlease try again.',
bui.Lstr(resource='internal.unableToCompleteTryAgainText'),
minor=True,
)
return

View File

@ -82,8 +82,8 @@ class TournamentButton:
self.lock_image = bui.imagewidget(
parent=parent,
draw_controller=btn,
position=(x + 21 + sclx * 0.5 - image_width * 0.25, y + scly - 150),
size=(image_width * 0.5, image_width * 0.5),
position=(x + 21 + sclx * 0.5 - image_width * 0.15, y + scly - 130),
size=(image_width * 0.3, image_width * 0.3),
texture=bui.gettexture('lock'),
opacity=0.0,
)

View File

@ -733,14 +733,6 @@ class InboxWindow(bui.MainWindow):
section = _TextSection(
sub_width=sub_width,
# text=bui.Lstr(
# translate=(
# 'serverResponses',
# 'You placed #${RANK}' ' in a tournament!',
# # 'You placed in a tournament!',
# ),
# subs=[('${RANK}', str(component.rank))],
# ),
text=bui.Lstr(
value='${P}${V}',
subs=[
@ -752,7 +744,6 @@ class InboxWindow(bui.MainWindow):
'serverResponses',
'You placed #${RANK}'
' in a tournament!',
# 'You placed in a tournament!',
),
subs=[
('${RANK}', str(component.rank))
@ -769,13 +760,6 @@ class InboxWindow(bui.MainWindow):
section = _TextSection(
sub_width=sub_width,
# text=bui.Lstr(
# value='${P}${V}',
# subs=[
# ('${P}', trophy_prefix),
# ('${V}', tourney_name),
# ],
# ),
text=tourney_name,
spacing_top=5,
color=(0.7, 0.7, 1.0, 1.0),
@ -784,20 +768,6 @@ class InboxWindow(bui.MainWindow):
total_height += section.get_height()
sections.append(section)
# rank_trophy_str = f'#{component.rank}'
# if component.trophy is not None:
# rank_trophy_str = get_trophy_string(
# component.trophy
# )
# section = _TextSection(
# sub_width=sub_width,
# text=rank_trophy_str,
# spacing_top=10,
# scale=1.0,
# )
# total_height += section.get_height()
# sections.append(section)
def _do_tourney_scores(
tournament_id: str, sec: _ButtonSection
) -> None:
@ -818,7 +788,7 @@ class InboxWindow(bui.MainWindow):
section = _ButtonSection(
sub_width=sub_width,
label=bui.Lstr(
translate=('serverResponses', 'Final Standings')
resource='tournamentFinalStandingsText'
),
color=color,
call=partial(
@ -834,12 +804,7 @@ class InboxWindow(bui.MainWindow):
if component.prizes:
section = _TextSection(
sub_width=sub_width,
text=bui.Lstr(
translate=(
'serverResponses',
'Your prize:',
)
),
text=bui.Lstr(resource='yourPrizeText'),
spacing_top=6,
color=(1.0, 1.0, 1.0, 0.4),
scale=0.35,

View File

@ -227,10 +227,6 @@ class ProfileBrowserWindow(bui.MainWindow):
if not self.main_window_has_control():
return
# no-op if our underlying widget is dead or on its way out.
# if not self._root_widget or self._root_widget.transitioning_out:
# return
plus = bui.app.plus
assert plus is not None
@ -315,7 +311,7 @@ class ProfileBrowserWindow(bui.MainWindow):
# pylint: disable=cyclic-import
from bauiv1lib.profile.edit import EditProfileWindow
# no-op if we're not in control.
# No-op if we're not in control.
if not self.main_window_has_control():
return

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 = 22213;
const int kEngineBuildNumber = 22216;
const char* kEngineVersion = "1.7.37";
const int kEngineApiVersion = 9;