refactor(strings): split strings by owner into core, UO and Rust files
PLAN.md M20 step 1. strings.xml keeps the core strings; strings_uo.xml and strings_rust.xml take the strings only that game's screens use. Android merges the three into one R.string, so no key changes and no Kotlin changes. Each string was classified by the screens that reference it, traced in code, not by its key: a string any deployment's screen can show stays core. error_shard_offline and error_feature_unavailable are the shared error-view texts, so they stay core. All seven legacy push streams, server.status included, are declared only by module-uo, so their titles are UO. No text changes: all 578 elements are moved byte for byte (checked by comparing name → element before and after). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
256
app/src/main/res/values/strings_uo.xml
Normal file
256
app/src/main/res/values/strings_uo.xml
Normal file
@@ -0,0 +1,256 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- SPDX-License-Identifier: GPL-3.0-or-later -->
|
||||
<!--
|
||||
The Ultima Online module's screens (PLAN.md M20): the shard hub and its pages, the
|
||||
player's characters / vendors / houses, staff moderation and the support queue, and
|
||||
the module's push streams. Every row that reaches these is gated on the shard
|
||||
capability, so UO's words are right here. Core strings live in strings.xml.
|
||||
-->
|
||||
<resources>
|
||||
<!-- ── Navigation menu (§5) ────────────────────────────────────────── -->
|
||||
<string name="menu_shard">Shard</string>
|
||||
<string name="menu_rules">Rules</string>
|
||||
<string name="menu_atlas">Atlas</string>
|
||||
<string name="menu_leaderboards">Leaderboards</string>
|
||||
<string name="menu_market">Market</string>
|
||||
<string name="menu_my_characters">My characters</string>
|
||||
<string name="menu_my_vendors">My vendors</string>
|
||||
<string name="menu_my_houses">My houses</string>
|
||||
<string name="menu_admin_moderation">Moderation</string>
|
||||
<string name="menu_admin_support">Support queue</string>
|
||||
|
||||
<!-- ── Staff operations (§1, M10) ──────────────────────────────────── -->
|
||||
<!-- Staff moderation (shard write plane) -->
|
||||
<string name="admin_mod_account_action">Account action</string>
|
||||
<string name="admin_mod_account">Account</string>
|
||||
<string name="admin_mod_serial">Serial (0x…)</string>
|
||||
<string name="admin_mod_reason">Reason (ban)</string>
|
||||
<string name="admin_mod_duration">Ban duration (seconds; blank = indefinite)</string>
|
||||
<string name="admin_mod_kick">Kick</string>
|
||||
<string name="admin_mod_ban">Ban</string>
|
||||
<string name="admin_mod_unban">Unban</string>
|
||||
<string name="admin_mod_broadcast_section">Broadcast</string>
|
||||
<string name="admin_mod_broadcast_text">Message to everyone online</string>
|
||||
<string name="admin_mod_broadcast">Broadcast</string>
|
||||
<string name="admin_mod_kicked">Account kicked.</string>
|
||||
<string name="admin_mod_banned">Account banned.</string>
|
||||
<string name="admin_mod_unbanned">Ban cleared.</string>
|
||||
<string name="admin_mod_broadcasted">Message broadcast.</string>
|
||||
<string name="admin_mod_target_required">Enter an account or serial.</string>
|
||||
<string name="admin_mod_text_required">Enter a message to broadcast.</string>
|
||||
<string name="admin_mod_shard_offline">The shard is offline — the action couldn\'t be delivered.</string>
|
||||
|
||||
<!-- Staff support queue -->
|
||||
<string name="admin_support_empty">No open help pages.</string>
|
||||
<string name="admin_support_reply">Reply</string>
|
||||
<string name="admin_support_close">Close</string>
|
||||
<string name="admin_support_send">Send</string>
|
||||
<string name="admin_support_message">Reply message</string>
|
||||
<string name="admin_support_close_after">Close the page after replying</string>
|
||||
<string name="admin_support_responded">Reply sent.</string>
|
||||
<string name="admin_support_closed">Page closed.</string>
|
||||
<string name="admin_support_message_required">Enter a reply message.</string>
|
||||
<string name="admin_support_unknown_page">That page is no longer in the queue.</string>
|
||||
|
||||
<!-- ── Player: game-account linking (§6.3) ─────────────────────────── -->
|
||||
<string name="player_link_title">Link your game account</string>
|
||||
<string name="player_link_hint">In game, type [link to get a one-time code, then enter it here to see your characters, vendors and houses.</string>
|
||||
<string name="player_link_code">Link code</string>
|
||||
<string name="player_link_action">Link account</string>
|
||||
<string name="player_link_ok">Account linked.</string>
|
||||
<string name="player_link_bad_code">That code is unknown or has expired. Run [link in game for a new one.</string>
|
||||
<string name="player_link_error">Couldn\'t link that code. Please try again.</string>
|
||||
|
||||
<string name="player_create_title">Create a game account</string>
|
||||
<string name="player_create_account">Account name</string>
|
||||
<string name="player_create_password">Password</string>
|
||||
<string name="player_create_action">Create account</string>
|
||||
<string name="player_create_ok">Game account created and linked.</string>
|
||||
<string name="player_create_taken">That account name is already taken.</string>
|
||||
<string name="player_create_capped">The account limit for your network has been reached.</string>
|
||||
<string name="player_create_unavailable">Game-account signup isn\'t available right now.</string>
|
||||
<string name="player_create_rejected">That account name or password wasn\'t accepted.</string>
|
||||
<string name="player_create_error">Couldn\'t create that account. Please try again.</string>
|
||||
|
||||
<!-- ── Player: characters (§6.3) ───────────────────────────────────── -->
|
||||
<string name="player_characters_empty">Link a game account above to see your characters.</string>
|
||||
<string name="player_roster_loading">Loading…</string>
|
||||
<string name="player_roster_empty">No characters on this account.</string>
|
||||
<string name="player_char_unknown">Unknown</string>
|
||||
<string name="player_char_online">Online</string>
|
||||
<string name="player_char_offline">Offline</string>
|
||||
|
||||
<!-- Character sheet -->
|
||||
<string name="player_char_governor">Governor of %1$s</string>
|
||||
<string name="player_char_guildmaster">Guildmaster, %1$s</string>
|
||||
<string name="player_char_attributes">Attributes</string>
|
||||
<string name="player_char_vitals">Vitals</string>
|
||||
<string name="player_char_str">STR</string>
|
||||
<string name="player_char_dex">DEX</string>
|
||||
<string name="player_char_int">INT</string>
|
||||
<string name="player_char_hits">Hits</string>
|
||||
<string name="player_char_mana">Mana</string>
|
||||
<string name="player_char_stam">Stamina</string>
|
||||
<string name="player_char_resistances">Resistances</string>
|
||||
<string name="player_char_phys">Physical</string>
|
||||
<string name="player_char_fire">Fire</string>
|
||||
<string name="player_char_cold">Cold</string>
|
||||
<string name="player_char_pois">Poison</string>
|
||||
<string name="player_char_energy">Energy</string>
|
||||
<string name="player_char_skills">Skills</string>
|
||||
<string name="player_char_points">Loyalty & Points</string>
|
||||
<!-- A point system's name followed by the character's rank on that board, e.g. "Queens Loyalty · #3". -->
|
||||
<string name="player_char_points_ranked">%1$s · #%2$d</string>
|
||||
<!-- A score against its cap. Only shown for capped systems; an uncapped score shows the number alone. -->
|
||||
<string name="player_char_points_of">%1$d / %2$d</string>
|
||||
<string name="player_char_equipment">Equipment</string>
|
||||
<string name="player_char_item">Item</string>
|
||||
<string name="player_char_item_id">id %1$d</string>
|
||||
<string name="player_char_item_hue">hue %1$d</string>
|
||||
|
||||
<!-- ── Player: vendors & sales (§6.3) ──────────────────────────── -->
|
||||
<string name="player_sales_title">Recent sales</string>
|
||||
<string name="player_sales_empty">No recent sales.</string>
|
||||
<string name="player_gold_amount">%1$s gp</string>
|
||||
<string name="player_vendors_no_accounts">Link a game account to see your vendors.</string>
|
||||
<string name="player_vendors_empty">No vendors on this account.</string>
|
||||
<string name="player_vendor_fallback">Player vendor</string>
|
||||
<string name="player_vendor_hold">Holding %1$s gp</string>
|
||||
<string name="player_vendor_no_listings">No items listed.</string>
|
||||
<string name="player_listing_item">Item %1$d ×%2$d</string>
|
||||
|
||||
<!-- ── Player: houses (§6.3) ───────────────────────────────────────── -->
|
||||
<string name="player_houses_empty">You don\'t have any houses on your linked accounts.</string>
|
||||
<string name="player_house_fallback">A house</string>
|
||||
<string name="player_house_stage">Status: %1$s</string>
|
||||
|
||||
<!-- ── Shard hub & live feed (§6.2) ─────────────────────────────── -->
|
||||
<string name="shard_live">Live</string>
|
||||
<string name="shard_offline">Offline</string>
|
||||
<string name="shard_status_online">Shard online</string>
|
||||
<string name="shard_status_offline">Shard offline</string>
|
||||
<string name="shard_online_count">%1$d players online</string>
|
||||
<string name="shard_economy_gold">Gold supply: %1$s</string>
|
||||
<string name="shard_section_staff">Staff online</string>
|
||||
<string name="shard_section_activity">Live activity</string>
|
||||
<string name="shard_feed_empty">No recent activity.</string>
|
||||
<string name="shard_nav_champs">Champion spawns</string>
|
||||
<string name="shard_nav_guilds">Guilds</string>
|
||||
<string name="shard_nav_governors">Governors</string>
|
||||
<string name="shard_nav_houses">Falling houses</string>
|
||||
|
||||
<!-- ── Champion spawns (§6.2) ──────────────────────────────────────── -->
|
||||
<string name="champs_empty">No champion spawns are being tracked right now.</string>
|
||||
<string name="champs_fallback_name">Champion spawn</string>
|
||||
<string name="champ_level">Level %1$d</string>
|
||||
<string name="champ_cooldown">Restarting</string>
|
||||
|
||||
<!-- ── Guilds (§6.2) ───────────────────────────────────────────────── -->
|
||||
<string name="guilds_empty">No guilds are being tracked right now.</string>
|
||||
<string name="guilds_fallback_name">Guild</string>
|
||||
<string name="guilds_members">%1$d members</string>
|
||||
<string name="guilds_leader">Led by %1$s</string>
|
||||
<string name="guilds_alliance">Alliance: %1$s</string>
|
||||
|
||||
<!-- ── Rules / ruleset (Protocol 3.0 §5, M11) ──────────────────────── -->
|
||||
<!-- A successful read of a shard that has never published its ruleset — NOT the same
|
||||
as the feature being switched off, which renders as an error state. -->
|
||||
<string name="rules_unpublished">This shard hasn\'t published its ruleset yet.</string>
|
||||
<string name="rules_section_shard">Shard</string>
|
||||
<string name="rules_section_systems">Systems</string>
|
||||
<string name="rules_section_caps">Skill & stat caps</string>
|
||||
<string name="rules_section_accounts">Accounts & housing</string>
|
||||
<string name="rules_section_vendors">Vendors</string>
|
||||
<string name="rules_section_schedule">Saves & restarts</string>
|
||||
<string name="rules_name">Name</string>
|
||||
<string name="rules_expansion">Expansion</string>
|
||||
<string name="rules_connect">Connect</string>
|
||||
<string name="rules_skill_cap">Individual skill cap</string>
|
||||
<string name="rules_total_skill_cap">Total skill cap</string>
|
||||
<string name="rules_stat_cap">Total stat cap</string>
|
||||
<string name="rules_str_cap">Strength cap</string>
|
||||
<string name="rules_dex_cap">Dexterity cap</string>
|
||||
<string name="rules_int_cap">Intelligence cap</string>
|
||||
<string name="rules_char_slots">Character slots</string>
|
||||
<string name="rules_per_ip">Accounts per IP</string>
|
||||
<string name="rules_house_limit">Houses per account</string>
|
||||
<string name="rules_restock_delay">Vendor restock delay</string>
|
||||
<string name="rules_max_sell">Max sell quantity</string>
|
||||
<string name="rules_autosave">Auto-save every</string>
|
||||
<string name="rules_autorestart">Auto-restart at</string>
|
||||
<string name="rules_minutes">%1$d min</string>
|
||||
|
||||
<!-- ── Leaderboards (Protocol 3.0 §7, M11) ─────────────────────────── -->
|
||||
<string name="leaderboards_empty">This shard isn\'t publishing any leaderboards yet.</string>
|
||||
<string name="leaderboards_board_empty">Nobody has scored here yet.</string>
|
||||
<!-- Where a score would sit on the placeholder row of an unscored board. An em
|
||||
dash, not "0" — nobody has scored zero, nobody has scored at all. -->
|
||||
<string name="leaderboards_no_score">—</string>
|
||||
<string name="leaderboards_players">%1$d players</string>
|
||||
<!-- Only shown for capped systems; most systems on a real shard are uncapped. -->
|
||||
<string name="leaderboards_cap">Cap: %1$d</string>
|
||||
<string name="leaderboards_rank_name">#%1$d %2$s</string>
|
||||
<!-- A shard may publish standings without naming who holds them (the board's one
|
||||
admin-configurable field). -->
|
||||
<string name="leaderboards_hidden_name">Someone</string>
|
||||
|
||||
<!-- ── Market (Protocol 3.0 §8, M11) ───────────────────────────────── -->
|
||||
<string name="market_search_label">Search every shop</string>
|
||||
<string name="market_empty">No listings match that search.</string>
|
||||
<string name="market_shop_empty">This shop has nothing for sale.</string>
|
||||
<!-- Required, not decoration: the shard sweeps vendors round-robin, so a price can
|
||||
legitimately be a full cycle old. -->
|
||||
<string name="market_staleness">Prices are refreshed in rotation and may be out of date.</string>
|
||||
<string name="market_price">%1$d gp</string>
|
||||
<string name="market_unnamed_item">Item %1$d</string>
|
||||
<string name="market_unnamed_shop">A shop</string>
|
||||
<string name="market_owner">Kept by %1$s</string>
|
||||
<!-- A gated location is a real answer: the shop exists, the shard just doesn't say
|
||||
where it stands. -->
|
||||
<string name="market_location_hidden">This shard doesn\'t publish shop locations.</string>
|
||||
<string name="market_truncated">Showing %1$d of %2$d — this shop holds more than the shard publishes.</string>
|
||||
|
||||
<!-- ── Spawn atlas (Protocol 3.0 §6, M11) ──────────────────────────── -->
|
||||
<string name="atlas_search_label">Search creatures</string>
|
||||
<string name="atlas_empty">No creatures match that search.</string>
|
||||
<!-- A place can legitimately hold a single spawner, and the aggregate list is full
|
||||
of them — "1 spawners" on every other row is worth a plural for. -->
|
||||
<plurals name="atlas_spawner_count">
|
||||
<item quantity="one">%1$d spawner</item>
|
||||
<item quantity="other">%1$d spawners</item>
|
||||
</plurals>
|
||||
<string name="atlas_total_alive">Up to %1$d alive at once</string>
|
||||
<string name="atlas_facet_count">%1$s (%2$d)</string>
|
||||
<!-- The aggregate: "where is it", as opposed to the raw coordinates below it. -->
|
||||
<string name="atlas_section_places">Where it spawns</string>
|
||||
<string name="atlas_place_max_alive">up to %1$d at once</string>
|
||||
<string name="atlas_section_spawners">Spawn points</string>
|
||||
<string name="atlas_section_also_here">Also spawns here</string>
|
||||
<string name="atlas_spawners_truncated">More spawn points than shown.</string>
|
||||
<string name="atlas_max_count">Up to %1$d</string>
|
||||
<!-- The delay is already in seconds; the server normalizes XmlSpawner's mixed units. -->
|
||||
<string name="atlas_respawn">Respawn %1$s</string>
|
||||
|
||||
<!-- ── Governors (§6.2) ────────────────────────────────────────────── -->
|
||||
<string name="governors_empty">No governors — this shard may not run the City Loyalty system.</string>
|
||||
<string name="governor_current">Governed by %1$s</string>
|
||||
<string name="governor_none">No governor</string>
|
||||
<string name="governor_election">Election: %1$s</string>
|
||||
<string name="governor_history">Term history</string>
|
||||
<string name="governor_history_loading">Loading…</string>
|
||||
<string name="governor_history_empty">No past terms recorded.</string>
|
||||
|
||||
<!-- ── Falling houses / IDOC (§6.2) ────────────────────────────────── -->
|
||||
<string name="houses_empty">No houses are in danger right now.</string>
|
||||
<string name="houses_fallback_name">A house</string>
|
||||
<string name="houses_idoc_badge">IDOC</string>
|
||||
|
||||
<!-- ── Push notifications (§11, M7 Part 2) ─────────────────────────── -->
|
||||
<string name="push_stream_server_status">Shard status changed</string>
|
||||
<string name="push_stream_idoc_warning">A house is falling (IDOC)</string>
|
||||
<string name="push_stream_champ_start">Champion spawn started</string>
|
||||
<string name="push_stream_governor_election">New governor elected</string>
|
||||
<string name="push_stream_vendor_sale">Your vendor made a sale</string>
|
||||
<string name="push_stream_house_idoc">Your house entered IDOC</string>
|
||||
<string name="push_stream_account_login">Login to your account</string>
|
||||
</resources>
|
||||
Reference in New Issue
Block a user