diff --git a/entities/ui/main_menu/scenes/MainMenu.tscn b/entities/ui/main_menu/scenes/MainMenu.tscn index be8732e..09333da 100644 --- a/entities/ui/main_menu/scenes/MainMenu.tscn +++ b/entities/ui/main_menu/scenes/MainMenu.tscn @@ -35,6 +35,7 @@ [ext_resource type="Script" uid="uid://cbevbiicfyjvm" path="res://entities/ui/special_event_area/scripts/SpecialEvent.gd" id="32_v1oo8"] [ext_resource type="Resource" uid="uid://ran18u8hj7hb" path="res://entities/ui/special_event_area/events/SamuelBirthdayEvent.tres" id="33_bpb6p"] [ext_resource type="Resource" uid="uid://n7irgub8gja5" path="res://entities/ui/special_event_area/events/SamoryBirthdayEvent.tres" id="34_bpb6p"] +[ext_resource type="Resource" uid="uid://jh7sgg0s0bjs" path="res://entities/ui/special_event_area/events/EasternEvent.tres" id="36_igcei"] [sub_resource type="Resource" id="Resource_exu4r"] script = ExtResource("4_psgpi") @@ -378,7 +379,7 @@ theme_override_constants/margin_bottom = 10 [node name="SpecialEventArea" parent="BottomLeftDock" unique_id=1164238996 instance=ExtResource("31_seyqs")] layout_mode = 2 -all_events = Array[ExtResource("32_v1oo8")]([ExtResource("33_bpb6p"), ExtResource("34_bpb6p")]) +all_events = Array[ExtResource("32_v1oo8")]([ExtResource("33_bpb6p"), ExtResource("34_bpb6p"), ExtResource("36_igcei")]) [connection signal="pressed" from="CenterMainMenu/MainMenuButtonContainer/MainMenuMarginContainer/MainMenuBox/Quick Game AI" to="AvailableAiModes" method="toggle_menu"] [connection signal="enter_animation_done" from="CenterMainMenu/MainMenuButtonContainer/MainMenuMarginContainer/MainMenuBox/Quit/ControlAnimationComponent" to="CenterMainMenu/MainMenuButtonContainer/MainMenuMarginContainer/MainMenuBox" method="enable_mouse_input"] diff --git a/entities/ui/special_event_area/events/EasternEvent.tres b/entities/ui/special_event_area/events/EasternEvent.tres new file mode 100644 index 0000000..6ded2c0 --- /dev/null +++ b/entities/ui/special_event_area/events/EasternEvent.tres @@ -0,0 +1,18 @@ +[gd_resource type="Resource" script_class="SpecialEvent" format=3 uid="uid://jh7sgg0s0bjs"] + +[ext_resource type="Script" uid="uid://cbevbiicfyjvm" path="res://entities/ui/special_event_area/scripts/SpecialEvent.gd" id="1_vb34f"] +[ext_resource type="Resource" uid="uid://dfmjcesfyd2bc" path="res://shared/resources/translations/assets/EasternEventHeadline.tres" id="1_wim2f"] +[ext_resource type="Resource" uid="uid://5h1jddv6fiha" path="res://shared/resources/translations/assets/EasternEventBody.tres" id="2_5pghi"] +[ext_resource type="Script" uid="uid://bs1e8fpwn6ibn" path="res://entities/ui/special_event_area/scripts/validations/EasternDateValidation.gd" id="2_yddd5"] + +[sub_resource type="Resource" id="Resource_yddd5"] +script = ExtResource("2_yddd5") +process_text = true +metadata/_custom_type_script = "uid://bs1e8fpwn6ibn" + +[resource] +script = ExtResource("1_vb34f") +event_name = ExtResource("1_wim2f") +event_text = ExtResource("2_5pghi") +validation = SubResource("Resource_yddd5") +metadata/_custom_type_script = "uid://cbevbiicfyjvm" diff --git a/entities/ui/special_event_area/events/SamoryBirthdayEvent.tres b/entities/ui/special_event_area/events/SamoryBirthdayEvent.tres index dd4692f..7e9edea 100644 --- a/entities/ui/special_event_area/events/SamoryBirthdayEvent.tres +++ b/entities/ui/special_event_area/events/SamoryBirthdayEvent.tres @@ -3,12 +3,19 @@ [ext_resource type="Script" uid="uid://cbevbiicfyjvm" path="res://entities/ui/special_event_area/scripts/SpecialEvent.gd" id="1_bedju"] [ext_resource type="Resource" uid="uid://bg2bjo5tx1kuf" path="res://shared/resources/translations/assets/BirthdayEventHeadline.tres" id="1_wcubf"] [ext_resource type="Resource" uid="uid://01yj14dlfdyg" path="res://shared/resources/translations/assets/SamoryBirthDayText.tres" id="2_uw6gj"] +[ext_resource type="Script" uid="uid://h56nmivkqfys" path="res://entities/ui/special_event_area/scripts/validations/FixedDateValidation.gd" id="4_k6m12"] + +[sub_resource type="Resource" id="Resource_lb4pf"] +script = ExtResource("4_k6m12") +valid_year = 2024 +valid_month = 10 +valid_day = 4 +process_text = true +metadata/_custom_type_script = "uid://h56nmivkqfys" [resource] script = ExtResource("1_bedju") event_name = ExtResource("1_wcubf") event_text = ExtResource("2_uw6gj") -valid_month = 10 -valid_day = 4 -year = 2024 +validation = SubResource("Resource_lb4pf") metadata/_custom_type_script = "uid://cbevbiicfyjvm" diff --git a/entities/ui/special_event_area/events/SamuelBirthdayEvent.tres b/entities/ui/special_event_area/events/SamuelBirthdayEvent.tres index 99a471e..ea66f66 100644 --- a/entities/ui/special_event_area/events/SamuelBirthdayEvent.tres +++ b/entities/ui/special_event_area/events/SamuelBirthdayEvent.tres @@ -3,12 +3,19 @@ [ext_resource type="Resource" uid="uid://bg2bjo5tx1kuf" path="res://shared/resources/translations/assets/BirthdayEventHeadline.tres" id="1_4v6lf"] [ext_resource type="Resource" uid="uid://ipxe810ybd0w" path="res://shared/resources/translations/assets/SamuelBirthdayEventBody.tres" id="2_lb4pf"] [ext_resource type="Script" uid="uid://cbevbiicfyjvm" path="res://entities/ui/special_event_area/scripts/SpecialEvent.gd" id="3_vt4fd"] +[ext_resource type="Script" uid="uid://h56nmivkqfys" path="res://entities/ui/special_event_area/scripts/validations/FixedDateValidation.gd" id="4_lb4pf"] + +[sub_resource type="Resource" id="Resource_8rpam"] +script = ExtResource("4_lb4pf") +valid_year = 2021 +valid_month = 7 +valid_day = 31 +process_text = true +metadata/_custom_type_script = "uid://h56nmivkqfys" [resource] script = ExtResource("3_vt4fd") event_name = ExtResource("1_4v6lf") event_text = ExtResource("2_lb4pf") -valid_month = 7 -valid_day = 31 -year = 2021 +validation = SubResource("Resource_8rpam") metadata/_custom_type_script = "uid://cbevbiicfyjvm" diff --git a/entities/ui/special_event_area/scripts/SpecialEvent.gd b/entities/ui/special_event_area/scripts/SpecialEvent.gd index f9cc39f..88da24b 100644 --- a/entities/ui/special_event_area/scripts/SpecialEvent.gd +++ b/entities/ui/special_event_area/scripts/SpecialEvent.gd @@ -2,36 +2,18 @@ class_name SpecialEvent extends Resource @export var event_name: TextTranslation = null @export var event_text: TextTranslation = null -@export_group("Valid Date") -@export_enum("January:1", - "February:2", - "March:3", - "April:4", - "Mai:5", - "June:6", - "July:7", - "August:8", - "September:9", - "October:10", - "November:11", - "December:12") var valid_month: int = 1 -@export_range(1, 31, 1.0) var valid_day: int = 1 ## This value is getting used to calculate the difference between the current year and the year provided -@export var year: int = 2026 +@export var validation: SpecialEventValidation +func is_valid_today(year: int, month: int, day: int) -> bool: + return _content_valid() and validation.validate(year, month, day) -func is_valid_today(day: int, month: int ) -> bool: - var content_present: bool = event_name != null and event_text != null - return content_present and valid_month == month and valid_day == day +func _content_valid() -> bool: + return event_name != null and event_text != null and validation != null -func get_text() -> String: +func get_text(year: int, month: int, day: int) -> String: var text: String = tr(event_text.key) - text = text.replace("%DATE%", _get_date_template()) - text = text.replace("%DIFFERENCE%", str(Time.get_date_dict_from_system()["year"] - year)) - return "[center]%s[/center][hr][br]%s" % [_get_headline(), text] + return "[center]%s[/center][hr][br]%s" % [_get_headline(), validation.text_processor(text, year, month, day)] func _get_headline() -> String: return tr(event_name.key) - -func _get_date_template() -> String: - return "%02d.%02d" % [valid_day, valid_month] diff --git a/entities/ui/special_event_area/scripts/SpecialEventArea.gd b/entities/ui/special_event_area/scripts/SpecialEventArea.gd index 7447f1f..5f58a8b 100644 --- a/entities/ui/special_event_area/scripts/SpecialEventArea.gd +++ b/entities/ui/special_event_area/scripts/SpecialEventArea.gd @@ -20,10 +20,12 @@ func _ready() -> void: func get_valid_events() -> Array[SpecialEvent]: var valid: Array[SpecialEvent] = [] var date_dictionary: Dictionary = Time.get_date_dict_from_system() + var year: int = date_dictionary.get("year") var month: int = date_dictionary.get("month") var day: int = date_dictionary.get("day") for event: SpecialEvent in all_events: - if event.is_valid_today(day, month): + if event.is_valid_today(year, month, day): valid.append(event) return valid + diff --git a/entities/ui/special_event_area/scripts/SpecialEventBox.gd b/entities/ui/special_event_area/scripts/SpecialEventBox.gd index 42a8ae1..eba7272 100644 --- a/entities/ui/special_event_area/scripts/SpecialEventBox.gd +++ b/entities/ui/special_event_area/scripts/SpecialEventBox.gd @@ -10,5 +10,8 @@ func set_event(event: SpecialEvent) -> void: func _ready() -> void: if _event == null: queue_free() - - text_changed.emit(_event.get_text()) \ No newline at end of file + var date_dictionary: Dictionary = Time.get_date_dict_from_system() + var year: int = date_dictionary.get("year") + var month: int = date_dictionary.get("month") + var day: int = date_dictionary.get("day") + text_changed.emit(_event.get_text(year, month, day)) \ No newline at end of file diff --git a/entities/ui/special_event_area/scripts/validations/EasternDateValidation.gd b/entities/ui/special_event_area/scripts/validations/EasternDateValidation.gd new file mode 100644 index 0000000..8f3713e --- /dev/null +++ b/entities/ui/special_event_area/scripts/validations/EasternDateValidation.gd @@ -0,0 +1,35 @@ +class_name EasternDateValidation extends SpecialEventValidation +## Calculation is based on https://www.scientificamerican.com/article/the-mathematical-formula-that-reveals-when-easter-is-every-year/ + +const MARCH_MONTH_NUMBER: int = 3 +const MARCH_NUMBER_OF_DAYS: int = 31 + +func validate(year: int, month: int, day: int) -> bool: + var a: int = year % 19 + var b: int = year % 4 + var c: int = year % 7 + + var k: int = floori(year / 100) + var p: int = floori(k / 3) + var q: int = floori(k / 4) + + var m: int = 15 + k - p - q + var d: int = (m + 19 * a) % 30 + + var n: int = (4 + k - q) % 7 + var e: int = (2 * b +4 * c + 6 * d + n) % 7 + var day_of_month: int = 22 + d + e + if d == 29 and e == 6: + day_of_month = 50 + if d == 28 and e == 6 and a > 10: + day_of_month = 49 + + var eastern_month: int = MARCH_MONTH_NUMBER + if day_of_month > MARCH_NUMBER_OF_DAYS: + day_of_month -= MARCH_NUMBER_OF_DAYS + eastern_month += 1 + + return eastern_month == month and day_of_month == day + +func _process_text(translated_text: String, year: int, _month: int, _day: int) -> String: + return translated_text.replace("%YEAR%", str(year)) \ No newline at end of file diff --git a/entities/ui/special_event_area/scripts/validations/EasternDateValidation.gd.uid b/entities/ui/special_event_area/scripts/validations/EasternDateValidation.gd.uid new file mode 100644 index 0000000..d2423b8 --- /dev/null +++ b/entities/ui/special_event_area/scripts/validations/EasternDateValidation.gd.uid @@ -0,0 +1 @@ +uid://bs1e8fpwn6ibn diff --git a/entities/ui/special_event_area/scripts/validations/FixedDateValidation.gd b/entities/ui/special_event_area/scripts/validations/FixedDateValidation.gd new file mode 100644 index 0000000..ce7f20e --- /dev/null +++ b/entities/ui/special_event_area/scripts/validations/FixedDateValidation.gd @@ -0,0 +1,31 @@ +class_name FixedDateValidation extends SpecialEventValidation + +@export_group("Valid year") +## If this is set to true, you need to enter a year. This event will only be active if the provided year is set +@export var single_event: bool = false +## The time this event appear the first time, if single event is set the event will only be shown in that year and never again +## This will also be used to calculate the difference between the actual year and this value +@export_range(2000, 3000, 1) var valid_year: int = 2000 +@export_group("Valid Date") +@export_enum("January:1", + "February:2", + "March:3", + "April:4", + "Mai:5", + "June:6", + "July:7", + "August:8", + "September:9", + "October:10", + "November:11", + "December:12") var valid_month: int = 1 +@export_range(1, 31, 1.0) var valid_day: int = 1 + +func validate(year: int, month: int, day: int) -> bool: + var year_check: bool = not single_event or year == valid_year + return year_check and month == valid_month and valid_day == day + +func _process_text(translated_text: String, year: int, month: int, day: int) -> String: + translated_text = translated_text.replace("%DATE%", _get_date_template(year, month, day)) + translated_text = translated_text.replace("%DIFFERENCE%", str(year - valid_year)) + return translated_text diff --git a/entities/ui/special_event_area/scripts/validations/FixedDateValidation.gd.uid b/entities/ui/special_event_area/scripts/validations/FixedDateValidation.gd.uid new file mode 100644 index 0000000..612df46 --- /dev/null +++ b/entities/ui/special_event_area/scripts/validations/FixedDateValidation.gd.uid @@ -0,0 +1 @@ +uid://h56nmivkqfys diff --git a/entities/ui/special_event_area/scripts/validations/SpecialEventValidation.gd b/entities/ui/special_event_area/scripts/validations/SpecialEventValidation.gd new file mode 100644 index 0000000..926cf41 --- /dev/null +++ b/entities/ui/special_event_area/scripts/validations/SpecialEventValidation.gd @@ -0,0 +1,16 @@ +@abstract class_name SpecialEventValidation extends Resource + +## Should the text be changed by adding date related information to it? +@export var process_text: bool = false + +func text_processor(translated_text: String, year: int, month: int, day: int) -> String: + if process_text: + return _process_text(translated_text, year, month, day) + return translated_text + +func _get_date_template(year: int, month: int, day: int) -> String: + return "%02d.%02d.%04d" % [day, month, year] + +@abstract func validate(year: int, month: int, day: int) -> bool + +@abstract func _process_text(translated_text: String, year: int, month: int, day: int) -> String \ No newline at end of file diff --git a/entities/ui/special_event_area/scripts/validations/SpecialEventValidation.gd.uid b/entities/ui/special_event_area/scripts/validations/SpecialEventValidation.gd.uid new file mode 100644 index 0000000..e959d8a --- /dev/null +++ b/entities/ui/special_event_area/scripts/validations/SpecialEventValidation.gd.uid @@ -0,0 +1 @@ +uid://civk7f0npvw2f diff --git a/locale/de.po b/locale/de.po index b11561e..377dcc9 100644 --- a/locale/de.po +++ b/locale/de.po @@ -100,14 +100,6 @@ msgstr "" msgid "GAME_STATISTIC" msgstr "[center]Spiele Statistik[/center]" -#: entities/game/finish_game/scenes/FinishGame.tscn -msgid "PLAYER_TITLE" -msgstr "Spielername" - -#: entities/game/finish_game/scenes/FinishGame.tscn -msgid "PLAYER_SCORE" -msgstr "[right]Punktzahl[/right]" - #: entities/game/finish_game/scenes/FinishGame.tscn msgid "REPLAY" msgstr "Erneut spielen" @@ -1500,9 +1492,24 @@ msgstr "" "Der Tag an dem dieses Spiel erstellt worden ist. Samory wird heute also [b]" "%DIFFERENCE% Jahre[/b] alt." +#. TRANSLATORS: Can contain a "%YEAR%" variable, getting replaced by the current year +#: shared/resources/translations/assets/EasternEventBody.tres +msgid "EASTERN_EVENT_BODY" +msgstr "Ich wünsche dir frohe Ostern %YEAR%" + +#: shared/resources/translations/assets/EasternEventHeadline.tres +msgid "EASTERN_EVENT_HEADLINE" +msgstr "Frohe Ostern" + msgid "Samory" msgstr "" +#~ msgid "PLAYER_TITLE" +#~ msgstr "Spielername" + +#~ msgid "PLAYER_SCORE" +#~ msgstr "[right]Punktzahl[/right]" + #~ msgid "BODY" #~ msgstr "Körper" diff --git a/locale/en.po b/locale/en.po index 29cb01b..355d3c5 100644 --- a/locale/en.po +++ b/locale/en.po @@ -54,14 +54,6 @@ msgstr "" msgid "GAME_STATISTIC" msgstr "[center]Game Statistic[/center]" -#: entities/game/finish_game/scenes/FinishGame.tscn -msgid "PLAYER_TITLE" -msgstr "Player name" - -#: entities/game/finish_game/scenes/FinishGame.tscn -msgid "PLAYER_SCORE" -msgstr "[right]Player Score[/right]" - #: entities/game/finish_game/scenes/FinishGame.tscn msgid "REPLAY" msgstr "Replay" @@ -1407,9 +1399,24 @@ msgstr "" "The day this game was created initially. Samory is [b]%DIFFERENCE% years[/b] " "old today." +#. TRANSLATORS: Can contain a "%YEAR%" variable, getting replaced by the current year +#: shared/resources/translations/assets/EasternEventBody.tres +msgid "EASTERN_EVENT_BODY" +msgstr "Wishing you a very happy Easter %YEAR%" + +#: shared/resources/translations/assets/EasternEventHeadline.tres +msgid "EASTERN_EVENT_HEADLINE" +msgstr "Eastern" + msgid "Samory" msgstr "" +#~ msgid "PLAYER_TITLE" +#~ msgstr "Player name" + +#~ msgid "PLAYER_SCORE" +#~ msgstr "[right]Player Score[/right]" + #~ msgid "BODY" #~ msgstr "Body" diff --git a/project.godot b/project.godot index e3095b0..8779b60 100644 --- a/project.godot +++ b/project.godot @@ -206,7 +206,7 @@ pointing/android/enable_pan_and_scale_gestures=true [internationalization] locale/translations=PackedStringArray("res://locale/de.po", "res://locale/en.po") -locale/translations_pot_files=PackedStringArray("res://entities/game/auto_close_popup/scenes/AutoClosePopup.tscn", "res://entities/game/bottom_message_banner/scenes/BottomMessageBanner.tscn", "res://entities/game/finish_game/scenes/FinishGame.tscn", "res://entities/game/game_pause_menu/scenes/GamePauseMenu.tscn", "res://entities/game/memory_game/scenes/MemoryGame.tscn", "res://entities/game/players_overlay/scenes/PlayersOverlay.tscn", "res://entities/game/tutorial_window/scenes/TutorialWindow.tscn", "res://entities/ui/card_preview/scenes/CardPreview.tscn", "res://entities/ui/credits/scenes/Credits.tscn", "res://entities/ui/deck_preview/scenes/DeckPreview.tscn", "res://entities/ui/deck_viewer/scenes/DeckViewer.tscn", "res://entities/ui/falling_card/scenes/FallingCard.tscn", "res://entities/ui/game_lobby/scenes/GameLobby.tscn", "res://entities/ui/game_version/scenes/GameVersion.tscn", "res://entities/ui/loading_screen/scenes/LoadingScreen.tscn", "res://entities/ui/loading_spinner/assets/spinners/ControllerSpinner.tres", "res://entities/ui/main_menu/scenes/MainMenu.tscn", "res://entities/ui/menu_background/scenes/MenuBackground.tscn", "res://entities/ui/multiplayer_chat/scenes/MultiplayerChat.tscn", "res://entities/ui/multiplayer_connection_state_message/scenes/MultiplayerConnectionStateMessage.tscn", "res://entities/ui/multiplayer_lobby/scenes/MultiplayerLobby.tscn", "res://entities/ui/multiplayer_server_browser/scenes/MultiplayerServerBrowser.tscn", "res://entities/ui/multiplayer_server_entry/scenes/MultiplayerServerEntry.tscn", "res://entities/ui/new_player/scenes/NewPlayer.tscn", "res://entities/ui/player_card/scenes/PlayerCard.tscn", "res://entities/ui/quick_game_selection/scenes/QuickGameSelection.tscn", "res://entities/ui/select_ai_player/scenes/SelectAiPlayer.tscn", "res://entities/ui/settings_menu/scenes/SettingsMenu.tscn", "res://shared/resources/cards/assets/animals/ElephantCard.tres", "res://shared/resources/cards/assets/animals/GiraffeCard.tres", "res://shared/resources/cards/assets/animals/HippoCard.tres", "res://shared/resources/cards/assets/animals/MonkeyCard.tres", "res://shared/resources/cards/assets/animals/PandaCard.tres", "res://shared/resources/cards/assets/animals/ParrotCard.tres", "res://shared/resources/cards/assets/animals/PenguinCard.tres", "res://shared/resources/cards/assets/animals/PigCard.tres", "res://shared/resources/cards/assets/animals/RabbitCard.tres", "res://shared/resources/cards/assets/animals/SnakeCard.tres", "res://shared/resources/cards/assets/generic_items/BriefcaseCard.tres", "res://shared/resources/cards/assets/generic_items/BrushCard.tres", "res://shared/resources/cards/assets/generic_items/CameraCard.tres", "res://shared/resources/cards/assets/generic_items/CdCard.tres", "res://shared/resources/cards/assets/generic_items/ComputerCard.tres", "res://shared/resources/cards/assets/generic_items/HeadphoneCard.tres", "res://shared/resources/cards/assets/generic_items/MicrophoneCard.tres", "res://shared/resources/cards/assets/generic_items/MicroscopeCard.tres", "res://shared/resources/cards/assets/generic_items/ModernControllerCard.tres", "res://shared/resources/cards/assets/generic_items/MoneyCard.tres", "res://shared/resources/cards/assets/generic_items/MortarAndPestleCard.tres", "res://shared/resources/cards/assets/generic_items/NotebookCard.tres", "res://shared/resources/cards/assets/generic_items/PanCard.tres", "res://shared/resources/cards/assets/generic_items/PhoneCard.tres", "res://shared/resources/cards/assets/generic_items/PickaxeCard.tres", "res://shared/resources/cards/assets/generic_items/PotCard.tres", "res://shared/resources/cards/assets/generic_items/SawCard.tres", "res://shared/resources/cards/assets/generic_items/ShovleCard.tres", "res://shared/resources/cards/assets/generic_items/SledgehammerCard.tres", "res://shared/resources/cards/assets/generic_items/TeaPotCard.tres", "res://shared/resources/cards/assets/generic_items/ThoothbrushCard.tres", "res://shared/resources/cards/assets/hardware/Calculator.tres", "res://shared/resources/cards/assets/hardware/ComputerMonitor.tres", "res://shared/resources/cards/assets/hardware/GraphicCard.tres", "res://shared/resources/cards/assets/hardware/Keyboard.tres", "res://shared/resources/cards/assets/hardware/Ram.tres", "res://shared/resources/cards/assets/hardware/UsbStick.tres", "res://shared/resources/decks/assets/AnimalDeck.tres", "res://shared/resources/decks/assets/GenericItemDeckFull.tres", "res://shared/resources/decks/assets/HardwareDeck.tres", "res://shared/resources/translations/assets/ErrorNoNameWasEntered.tres", "res://shared/resources/translations/assets/LoadDecks.tres", "res://shared/resources/translations/assets/MultiplayerConnectingToServer.tres", "res://shared/resources/translations/assets/MultiplayerConnectionFailed.tres", "res://shared/resources/translations/assets/MultiplayerDeckHasBeenChanged.tres", "res://shared/resources/translations/assets/MultiplayerPlayerJoined.tres", "res://shared/resources/translations/assets/MultiplayerPlayerKicked.tres", "res://shared/resources/translations/assets/MultiplayerPlayerLeft.tres", "res://shared/resources/translations/assets/MultiplayerServerKicked.tres", "res://shared/resources/translations/assets/MultiplayerWrongVersion.tres", "res://shared/resources/translations/assets/No.tres", "res://shared/resources/translations/assets/TimeForCompletion.tres", "res://shared/resources/translations/assets/TurnEndBannerMessage.tres", "res://shared/resources/translations/assets/TurnEndBannerMessageNoAutoComplete.tres", "res://shared/resources/translations/assets/Version.tres", "res://shared/resources/translations/assets/Yes.tres", "res://entities/game/tutorial_window/assets/FirstCardTurnedTutorial.tres", "res://entities/game/tutorial_window/assets/PlayerFirstMatchFound.tres", "res://entities/game/tutorial_window/assets/PlayerFirstRoundEnd.tres", "res://entities/game/tutorial_window/assets/PlayerTurnTutorial.tres", "res://shared/resources/translations/assets/MaxSizeTranslation.tres", "res://shared/resources/translations/assets/MinSizeTranslation.tres", "res://shared/resources/translations/assets/RegexValidationError.tres", "res://shared/resources/translations/assets/RegexOnlyLettersAndNumbers.tres", "res://entities/ui/custom_deck_create/scenes/CreateCustomDeck.tscn", "res://entities/ui/custom_deck_edit_card/scenes/CustomDeckEditCard.tscn", "res://entities/ui/custom_deck_card_entry/scenes/CustomDeckCardEntry.tscn", "res://entities/ui/edit_custom_deck/scenes/EditCustomDeck.tscn", "res://entities/ui/links/scenes/links.tscn", "res://entities/ui/initial_game_start/scenes/InitialGameStart.tscn", "res://entities/ui/audio_panel/scenes/AudioControl.tscn", "res://entities/ui/gameplay_settings/scenes/GameplaySettings.tscn", "res://entities/ui/audio_settings/scene/AudioScene.tscn", "res://entities/ui/graphic_settings/scenes/GraphicSettings.tscn", "res://shared/resources/translations/assets/SamuelBirthdayEventBody.tres", "res://shared/resources/translations/assets/BirthdayEventHeadline.tres", "res://shared/resources/translations/assets/SamoryBirthDayText.tres") +locale/translations_pot_files=PackedStringArray("res://entities/game/auto_close_popup/scenes/AutoClosePopup.tscn", "res://entities/game/bottom_message_banner/scenes/BottomMessageBanner.tscn", "res://entities/game/finish_game/scenes/FinishGame.tscn", "res://entities/game/game_pause_menu/scenes/GamePauseMenu.tscn", "res://entities/game/memory_game/scenes/MemoryGame.tscn", "res://entities/game/players_overlay/scenes/PlayersOverlay.tscn", "res://entities/game/tutorial_window/scenes/TutorialWindow.tscn", "res://entities/ui/card_preview/scenes/CardPreview.tscn", "res://entities/ui/credits/scenes/Credits.tscn", "res://entities/ui/deck_preview/scenes/DeckPreview.tscn", "res://entities/ui/deck_viewer/scenes/DeckViewer.tscn", "res://entities/ui/falling_card/scenes/FallingCard.tscn", "res://entities/ui/game_lobby/scenes/GameLobby.tscn", "res://entities/ui/game_version/scenes/GameVersion.tscn", "res://entities/ui/loading_screen/scenes/LoadingScreen.tscn", "res://entities/ui/loading_spinner/assets/spinners/ControllerSpinner.tres", "res://entities/ui/main_menu/scenes/MainMenu.tscn", "res://entities/ui/menu_background/scenes/MenuBackground.tscn", "res://entities/ui/multiplayer_chat/scenes/MultiplayerChat.tscn", "res://entities/ui/multiplayer_connection_state_message/scenes/MultiplayerConnectionStateMessage.tscn", "res://entities/ui/multiplayer_lobby/scenes/MultiplayerLobby.tscn", "res://entities/ui/multiplayer_server_browser/scenes/MultiplayerServerBrowser.tscn", "res://entities/ui/multiplayer_server_entry/scenes/MultiplayerServerEntry.tscn", "res://entities/ui/new_player/scenes/NewPlayer.tscn", "res://entities/ui/player_card/scenes/PlayerCard.tscn", "res://entities/ui/quick_game_selection/scenes/QuickGameSelection.tscn", "res://entities/ui/select_ai_player/scenes/SelectAiPlayer.tscn", "res://entities/ui/settings_menu/scenes/SettingsMenu.tscn", "res://shared/resources/cards/assets/animals/ElephantCard.tres", "res://shared/resources/cards/assets/animals/GiraffeCard.tres", "res://shared/resources/cards/assets/animals/HippoCard.tres", "res://shared/resources/cards/assets/animals/MonkeyCard.tres", "res://shared/resources/cards/assets/animals/PandaCard.tres", "res://shared/resources/cards/assets/animals/ParrotCard.tres", "res://shared/resources/cards/assets/animals/PenguinCard.tres", "res://shared/resources/cards/assets/animals/PigCard.tres", "res://shared/resources/cards/assets/animals/RabbitCard.tres", "res://shared/resources/cards/assets/animals/SnakeCard.tres", "res://shared/resources/cards/assets/generic_items/BriefcaseCard.tres", "res://shared/resources/cards/assets/generic_items/BrushCard.tres", "res://shared/resources/cards/assets/generic_items/CameraCard.tres", "res://shared/resources/cards/assets/generic_items/CdCard.tres", "res://shared/resources/cards/assets/generic_items/ComputerCard.tres", "res://shared/resources/cards/assets/generic_items/HeadphoneCard.tres", "res://shared/resources/cards/assets/generic_items/MicrophoneCard.tres", "res://shared/resources/cards/assets/generic_items/MicroscopeCard.tres", "res://shared/resources/cards/assets/generic_items/ModernControllerCard.tres", "res://shared/resources/cards/assets/generic_items/MoneyCard.tres", "res://shared/resources/cards/assets/generic_items/MortarAndPestleCard.tres", "res://shared/resources/cards/assets/generic_items/NotebookCard.tres", "res://shared/resources/cards/assets/generic_items/PanCard.tres", "res://shared/resources/cards/assets/generic_items/PhoneCard.tres", "res://shared/resources/cards/assets/generic_items/PickaxeCard.tres", "res://shared/resources/cards/assets/generic_items/PotCard.tres", "res://shared/resources/cards/assets/generic_items/SawCard.tres", "res://shared/resources/cards/assets/generic_items/ShovleCard.tres", "res://shared/resources/cards/assets/generic_items/SledgehammerCard.tres", "res://shared/resources/cards/assets/generic_items/TeaPotCard.tres", "res://shared/resources/cards/assets/generic_items/ThoothbrushCard.tres", "res://shared/resources/cards/assets/hardware/Calculator.tres", "res://shared/resources/cards/assets/hardware/ComputerMonitor.tres", "res://shared/resources/cards/assets/hardware/GraphicCard.tres", "res://shared/resources/cards/assets/hardware/Keyboard.tres", "res://shared/resources/cards/assets/hardware/Ram.tres", "res://shared/resources/cards/assets/hardware/UsbStick.tres", "res://shared/resources/decks/assets/AnimalDeck.tres", "res://shared/resources/decks/assets/GenericItemDeckFull.tres", "res://shared/resources/decks/assets/HardwareDeck.tres", "res://shared/resources/translations/assets/ErrorNoNameWasEntered.tres", "res://shared/resources/translations/assets/LoadDecks.tres", "res://shared/resources/translations/assets/MultiplayerConnectingToServer.tres", "res://shared/resources/translations/assets/MultiplayerConnectionFailed.tres", "res://shared/resources/translations/assets/MultiplayerDeckHasBeenChanged.tres", "res://shared/resources/translations/assets/MultiplayerPlayerJoined.tres", "res://shared/resources/translations/assets/MultiplayerPlayerKicked.tres", "res://shared/resources/translations/assets/MultiplayerPlayerLeft.tres", "res://shared/resources/translations/assets/MultiplayerServerKicked.tres", "res://shared/resources/translations/assets/MultiplayerWrongVersion.tres", "res://shared/resources/translations/assets/No.tres", "res://shared/resources/translations/assets/TimeForCompletion.tres", "res://shared/resources/translations/assets/TurnEndBannerMessage.tres", "res://shared/resources/translations/assets/TurnEndBannerMessageNoAutoComplete.tres", "res://shared/resources/translations/assets/Version.tres", "res://shared/resources/translations/assets/Yes.tres", "res://entities/game/tutorial_window/assets/FirstCardTurnedTutorial.tres", "res://entities/game/tutorial_window/assets/PlayerFirstMatchFound.tres", "res://entities/game/tutorial_window/assets/PlayerFirstRoundEnd.tres", "res://entities/game/tutorial_window/assets/PlayerTurnTutorial.tres", "res://shared/resources/translations/assets/MaxSizeTranslation.tres", "res://shared/resources/translations/assets/MinSizeTranslation.tres", "res://shared/resources/translations/assets/RegexValidationError.tres", "res://shared/resources/translations/assets/RegexOnlyLettersAndNumbers.tres", "res://entities/ui/custom_deck_create/scenes/CreateCustomDeck.tscn", "res://entities/ui/custom_deck_edit_card/scenes/CustomDeckEditCard.tscn", "res://entities/ui/custom_deck_card_entry/scenes/CustomDeckCardEntry.tscn", "res://entities/ui/edit_custom_deck/scenes/EditCustomDeck.tscn", "res://entities/ui/links/scenes/links.tscn", "res://entities/ui/initial_game_start/scenes/InitialGameStart.tscn", "res://entities/ui/audio_panel/scenes/AudioControl.tscn", "res://entities/ui/gameplay_settings/scenes/GameplaySettings.tscn", "res://entities/ui/audio_settings/scene/AudioScene.tscn", "res://entities/ui/graphic_settings/scenes/GraphicSettings.tscn", "res://shared/resources/translations/assets/SamuelBirthdayEventBody.tres", "res://shared/resources/translations/assets/BirthdayEventHeadline.tres", "res://shared/resources/translations/assets/SamoryBirthDayText.tres", "res://shared/resources/translations/assets/EasternEventBody.tres", "res://shared/resources/translations/assets/EasternEventHeadline.tres") locale/test="en" [rendering] diff --git a/shared/resources/translations/assets/EasternEventBody.tres b/shared/resources/translations/assets/EasternEventBody.tres new file mode 100644 index 0000000..1144359 --- /dev/null +++ b/shared/resources/translations/assets/EasternEventBody.tres @@ -0,0 +1,9 @@ +[gd_resource type="Resource" script_class="TextTranslation" format=3 uid="uid://5h1jddv6fiha"] + +[ext_resource type="Script" uid="uid://b3ccmsvxi5x8x" path="res://shared/resources/translations/TextTranslation.gd" id="1_ote1s"] + +[resource] +script = ExtResource("1_ote1s") +key = "EASTERN_EVENT_BODY" +comment = "Can contain a \"%YEAR%\" variable, getting replaced by the current year" +metadata/_custom_type_script = "uid://b3ccmsvxi5x8x" diff --git a/shared/resources/translations/assets/EasternEventHeadline.tres b/shared/resources/translations/assets/EasternEventHeadline.tres new file mode 100644 index 0000000..e11096f --- /dev/null +++ b/shared/resources/translations/assets/EasternEventHeadline.tres @@ -0,0 +1,8 @@ +[gd_resource type="Resource" script_class="TextTranslation" format=3 uid="uid://dfmjcesfyd2bc"] + +[ext_resource type="Script" uid="uid://b3ccmsvxi5x8x" path="res://shared/resources/translations/TextTranslation.gd" id="1_44ufm"] + +[resource] +script = ExtResource("1_44ufm") +key = "EASTERN_EVENT_HEADLINE" +metadata/_custom_type_script = "uid://b3ccmsvxi5x8x" diff --git a/translations.pot b/translations.pot index b4f5d5c..24c9ece 100644 --- a/translations.pot +++ b/translations.pot @@ -104,6 +104,8 @@ # res://shared/resources/translations/assets/SamuelBirthdayEventBody.tres # res://shared/resources/translations/assets/BirthdayEventHeadline.tres # res://shared/resources/translations/assets/SamoryBirthDayText.tres +# res://shared/resources/translations/assets/EasternEventBody.tres +# res://shared/resources/translations/assets/EasternEventHeadline.tres # # FIRST AUTHOR , YEAR. # @@ -140,14 +142,6 @@ msgstr "" msgid "GAME_STATISTIC" msgstr "" -#: entities/game/finish_game/scenes/FinishGame.tscn -msgid "PLAYER_TITLE" -msgstr "" - -#: entities/game/finish_game/scenes/FinishGame.tscn -msgid "PLAYER_SCORE" -msgstr "" - #: entities/game/finish_game/scenes/FinishGame.tscn msgid "REPLAY" msgstr "" @@ -1333,5 +1327,14 @@ msgstr "" msgid "SAMORY_BIRTHDAY_EVENT_TEXT" msgstr "" +#. TRANSLATORS: Can contain a "%YEAR%" variable, getting replaced by the current year +#: shared/resources/translations/assets/EasternEventBody.tres +msgid "EASTERN_EVENT_BODY" +msgstr "" + +#: shared/resources/translations/assets/EasternEventHeadline.tres +msgid "EASTERN_EVENT_HEADLINE" +msgstr "" + msgid "Samory" msgstr ""