wesnoth/data/schema/core/config.cfg
Celtic Minstrel 0c42cdc038
Enable translation mark validation by the schema (#5800)
- The t_string type is now a schema built-in type and no longer attempts a regex match.
- You can also specify that non-t_string types may be optionally-translatable; this case supports a regex match on the string (but note that the translation mark is not part of the match).
- Error messages involving keys with very large values ( > 128 characters) will now truncate the value.
- To account for occasional cases where the schema is intentionally violated, the --validate command-line option now automatically defines the SCHEMA_VALIDATION preprocessor define.

A key validates as type t_string if one of the following is true:
- The key is not present
- The key has at least one segment with a translation mark
- The key is blank (an empty string)

Any type other than t_string is not allowed to be translatable by default, unless you specify allow_translatable=yes in the [type] tag.

An optionally-translatable string could also be defined as a union of t_string and some other type.
2021-06-14 23:59:52 -04:00

245 lines
5.7 KiB
INI

[tag]
name="binary_path"
max=infinite
{REQUIRED_KEY path string}
[/tag]
[tag]
name="textdomain"
max=infinite
{SIMPLE_KEY name string}
[/tag]
[tag]
name="color_range"
min=1
max=infinite
{REQUIRED_KEY id string}
{SIMPLE_KEY name t_string}
{SIMPLE_KEY rgb hex_list}
{DEFAULT_KEY default bool no}
[/tag]
[tag]
name="color_palette"
min=1
{ANY_KEY hex_list}
[/tag]
[tag]
name="game_config"
min=1
{SIMPLE_KEY base_income int}
{SIMPLE_KEY village_income int}
{SIMPLE_KEY village_support int}
{SIMPLE_KEY poison_amount int}
{SIMPLE_KEY rest_heal_amount int}
{SIMPLE_KEY recall_cost int}
{SIMPLE_KEY kill_experience int}
{SIMPLE_KEY default_terrain terrain_code}
{SIMPLE_KEY title_music string}
{SIMPLE_KEY lobby_music string}
{SIMPLE_KEY default_victory_music string}
{SIMPLE_KEY default_defeat_music string}
{SIMPLE_KEY lobby_refresh int}
{SIMPLE_KEY hp_bar_scaling real}
{SIMPLE_KEY xp_bar_scaling real}
{SIMPLE_KEY zoom_levels real_list}
{SIMPLE_KEY hex_brightening real}
{SIMPLE_KEY flag_rgb string}
{SIMPLE_KEY unit_rgb string}
{SIMPLE_KEY red_green_scale hex_list}
{SIMPLE_KEY red_green_scale_text hex_list}
{SIMPLE_KEY blue_white_scale hex_list}
{SIMPLE_KEY blue_white_scale_text hex_list}
{SIMPLE_KEY footprint_prefix string}
{SIMPLE_KEY footprint_teleport_enter string}
{SIMPLE_KEY footprint_teleport_exit string}
{SIMPLE_KEY fog_prefix string}
{SIMPLE_KEY shroud_prefix string}
[tag]
name="server"
max=infinite
{SIMPLE_KEY name t_string}
{SIMPLE_KEY address server_address}
[/tag]
[tag]
name="colors"
min=1
{SIMPLE_KEY ally_orb_color string}
{SIMPLE_KEY disengaged_orb_color string}
{SIMPLE_KEY enemy_orb_color string}
{SIMPLE_KEY moved_orb_color string}
{SIMPLE_KEY partial_orb_color string}
{SIMPLE_KEY unmoved_orb_color string}
[/tag]
[tag]
name="images"
min=1
{SIMPLE_KEY game_title string}
{SIMPLE_KEY game_title_background string}
{SIMPLE_KEY game_logo string}
{SIMPLE_KEY game_logo_background string}
{SIMPLE_KEY victory_laurel string}
{SIMPLE_KEY victory_laurel_hardest string}
{SIMPLE_KEY victory_laurel_easy string}
{SIMPLE_KEY orb string}
{SIMPLE_KEY orb_two_color string}
{SIMPLE_KEY energy string}
{SIMPLE_KEY flag string}
{SIMPLE_KEY flag_icon string}
{SIMPLE_KEY terrain_mask string}
{SIMPLE_KEY grid_top string}
{SIMPLE_KEY grid_bottom string}
{SIMPLE_KEY mouseover string}
{SIMPLE_KEY selected string}
{SIMPLE_KEY editor_brush string}
{SIMPLE_KEY unreachable string}
{SIMPLE_KEY linger string}
{SIMPLE_KEY observer string}
{SIMPLE_KEY tod_bright string}
{SIMPLE_KEY tod_dark string}
{SIMPLE_KEY level string}
{SIMPLE_KEY ellipsis string}
{SIMPLE_KEY missing string}
{SIMPLE_KEY battery_icon string}
{SIMPLE_KEY time_icon string}
[/tag]
[tag]
name="sounds"
min=1
{SIMPLE_KEY turn_bell string}
{SIMPLE_KEY timer_bell string}
{SIMPLE_KEY public_message string}
{SIMPLE_KEY private_message string}
{SIMPLE_KEY friend_message string}
{SIMPLE_KEY server_message string}
{SIMPLE_KEY player_joins string}
{SIMPLE_KEY player_leaves string}
{SIMPLE_KEY game_user_arrive string}
{SIMPLE_KEY game_user_leave string}
{SIMPLE_KEY ready_for_start string}
{SIMPLE_KEY game_has_begun string}
{SIMPLE_KEY game_created string}
[tag]
name="status"
min=1
{ANY_KEY string}
[/tag]
[/tag]
{LINK_TAG "color_range"}
{LINK_TAG "color_palette"}
[/tag]
[tag]
name="titlescreen_music"
min=1
[tag]
name="music"
max=infinite
{SIMPLE_KEY name string}
{SIMPLE_KEY title t_string}
{SIMPLE_KEY ms_before int}
{SIMPLE_KEY ms_after int}
{SIMPLE_KEY append bool}
{SIMPLE_KEY play_once bool}
{SIMPLE_KEY immediate bool}
{SIMPLE_KEY shuffle bool}
[/tag]
[/tag]
[tag]
name="lobby_music"
{LINK_TAG "titlescreen_music/music"}
[/tag]
[tag]
name="editor_music"
{LINK_TAG "titlescreen_music/music"}
[/tag]
[tag]
name="advanced_preference"
max=infinite
{SIMPLE_KEY field string}
{SIMPLE_KEY name t_string}
{SIMPLE_KEY description t_string}
{SIMPLE_KEY type string}
{SIMPLE_KEY default string}
{SIMPLE_KEY min int}
{SIMPLE_KEY max int}
{SIMPLE_KEY step int}
[tag]
name="option"
max=infinite
{REQUIRED_KEY id string}
{SIMPLE_KEY name t_string}
{SIMPLE_KEY description t_string}
[/tag]
[/tag]
[tag]
name="fonts"
min=1
[/tag]
[tag]
name="language"
min=1
{ANY_KEY t_string}
[/tag]
[tag]
name="naming"
min=1
{DEPRECATED_KEY male_names t_string}
{SIMPLE_KEY base_names t_string}
{SIMPLE_KEY base_name_generator t_string}
{SIMPLE_KEY bridge_name_generator t_string}
{SIMPLE_KEY road_name_generator t_string}
{SIMPLE_KEY river_name_generator t_string}
{SIMPLE_KEY forest_name_generator t_string}
{SIMPLE_KEY lake_name_generator t_string}
{SIMPLE_KEY mountain_name_generator t_string}
{SIMPLE_KEY swamp_name_generator t_string}
[/tag]
[tag]
name="village_naming"
min=1
super="naming"
{SIMPLE_KEY name_generator t_string}
{SIMPLE_KEY grassland_name_generator t_string}
{SIMPLE_KEY hill_name_generator t_string}
{SIMPLE_KEY mountain_anon_name_generator t_string}
[/tag]
[tag]
name="about"
min=1
max=infinite
{SIMPLE_KEY title t_string}
{SIMPLE_KEY text string}
{SIMPLE_KEY images string_list}
[tag]
name="entry"
max=infinite
{SIMPLE_KEY name any}
{SIMPLE_KEY comment string}
{SIMPLE_KEY email string}
{SIMPLE_KEY wikiuser string}
{SIMPLE_KEY ircuser string}
{SIMPLE_KEY discorduser string}
[/tag]
[/tag]
[tag]
name="credits_group"
max=infinite
{SIMPLE_KEY sort bool}
{LINK_TAG "about"}
[/tag]
[tag]
name="hotkey"
max=infinite
{SIMPLE_KEY command string}
{SIMPLE_KEY key string}
{SIMPLE_KEY button string}
{SIMPLE_KEY mouse string}
{DEFAULT_KEY ctrl bool no}
{DEFAULT_KEY alt bool no}
{DEFAULT_KEY cmd bool no}
{DEFAULT_KEY shift bool no}
[/tag]