hensei-web/public/locales/en/common.json
Justin Edmund 968ae5c41e
Deploy advanced filters (#297)
* Added avatars

* Added content from the 2023/03/22 update (#287)

* Added avatars (#286)

* Added localizations

* Added update, changed CSS

* Add logic for showing Lucifer uncap and 250 art

* Added items from 2023/03 Legfest and 2023/03/30 update (#290)

* Added avatars (#286)

* Deploy #287 (#288)

* Added avatars

* Added content from the 2023/03/22 update (#287)

* Added avatars (#286)

* Added localizations

* Added update, changed CSS

* Add logic for showing Lucifer uncap and 250 art

* Added new weapon series

* Added updates

* Missed items (#291)

* Added avatars (#286)

* Deploy #287 (#288)

* Added avatars

* Added content from the 2023/03/22 update (#287)

* Added avatars (#286)

* Added localizations

* Added update, changed CSS

* Add logic for showing Lucifer uncap and 250 art

* Added new weapon series

* Added updates

* Add more items

* Added World Series to weapon series empty state (#293)

* Push 2023/03 updates to main (#292)

* Added avatars

* Added content from the 2023/03/22 update (#287)

* Added avatars (#286)

* Added localizations

* Added update, changed CSS

* Add logic for showing Lucifer uncap and 250 art

* Added items from 2023/03 Legfest and 2023/03/30 update (#290)

* Added avatars (#286)

* Deploy #287 (#288)

* Added avatars

* Added content from the 2023/03/22 update (#287)

* Added avatars (#286)

* Added localizations

* Added update, changed CSS

* Add logic for showing Lucifer uncap and 250 art

* Added new weapon series

* Added updates

* Missed items (#291)

* Added avatars (#286)

* Deploy #287 (#288)

* Added avatars

* Added content from the 2023/03/22 update (#287)

* Added avatars (#286)

* Added localizations

* Added update, changed CSS

* Add logic for showing Lucifer uncap and 250 art

* Added new weapon series

* Added updates

* Add more items

* Added items from 2023/03 Legfest and 2023/03/30 update (#290)

* Added avatars (#286)

* Deploy #287 (#288)

* Added avatars

* Added content from the 2023/03/22 update (#287)

* Added avatars (#286)

* Added localizations

* Added update, changed CSS

* Add logic for showing Lucifer uncap and 250 art

* Added new weapon series

* Added updates

* Missed items (#291)

* Added avatars (#286)

* Deploy #287 (#288)

* Added avatars

* Added content from the 2023/03/22 update (#287)

* Added avatars (#286)

* Added localizations

* Added update, changed CSS

* Add logic for showing Lucifer uncap and 250 art

* Added new weapon series

* Added updates

* Add more items

* Add World series to empty state

* Added items from 2023/03 Legfest and 2023/03/30 update (#290)

* Added avatars (#286)

* Deploy #287 (#288)

* Added avatars

* Added content from the 2023/03/22 update (#287)

* Added avatars (#286)

* Added localizations

* Added update, changed CSS

* Add logic for showing Lucifer uncap and 250 art

* Added new weapon series

* Added updates

* Missed items (#291)

* Added avatars (#286)

* Deploy #287 (#288)

* Added avatars

* Added content from the 2023/03/22 update (#287)

* Added avatars (#286)

* Added localizations

* Added update, changed CSS

* Add logic for showing Lucifer uncap and 250 art

* Added new weapon series

* Added updates

* Add more items

* Enables advanced filters in collections (#289)

* Add skeleton of FilterModal

* Install react-slider from Radix

* Move AccountModal styles to more generic place

* Make generic TableField and move styles

This is so we have a base for other table rows that use different interactive elements

* Implement custom Slider component

This inherits from Radix's Slider

* Implement SliderTableField

* Implemented SwitchTableField

* Change enabled switch color

* Implement InputTableField

* Update modal skeleton

* Added localizations for Advanced filters

* Update styles for various components

Added some new colors and fixed spacing

* Added value reporting and fixed a cycle error

* Added default values, clearing filters, etc

* Default values
* Ability to clear filters
* Receiving values from components

* Fix maximum cycle depth exceeded error

* Update TableFields to not error

Also optional value is required

* Create FilterSet.d.ts

* Send filtersets to FilterModal

This sends the default filterset and the user's filterset to the filter modal.

The default filterset is used when resetting all filters. The users filterset is used so that it is populated with the user's values when they open the modal

* Add new localizations

* Change types and add default filterset object

* Add fast-deep-equal package

* Change value in table fields

* Input table fields need to be able to be empty
* Slider table fields should default to 0 if value isn't provided

* Set width of Select in table field in Filter dialog

* Add style for filter button with filters active

* Swap to using selects for some boolean fields

Charge Attack, Full Auto, and Auto Guard are not boolean values since the user can select (and the default should be) to show both on and off values. We swap to using a SelectTableField here to represent this difference.

We also added logic for Full Auto and Auto Guard fields since they are tied together in some cases (you can't show Auto Guard teams that have Full Auto disabled)

* Populate values from defaultFilterSet

* Update how we save and propagate filters

We save filterset in a local state, because the FilterBar will send it down to us from cookies.

We then set each individual property from that filter set.

We set inputs to have a placeholder, as max buttons and max turns could not be set (null). Then, we only send those fields when they have a value provided by the user.

* Remove default filterset

This was moved to a utils/ file

* Propagate filters from modal

This updates how we handle filter propagation to accommodate the advanced ones. The icon lights up when filters are active.

* Implement advanced filters on Teams page

* Add skeleton of FilterModal

* Make generic TableField and move styles

This is so we have a base for other table rows that use different interactive elements

* Implement custom Slider component

This inherits from Radix's Slider

* Implement SliderTableField

* Implemented SwitchTableField

* Implement InputTableField

* Update modal skeleton

* Added localizations for Advanced filters

* Update styles for various components

Added some new colors and fixed spacing

* Added value reporting and fixed a cycle error

* Added default values, clearing filters, etc

* Default values
* Ability to clear filters
* Receiving values from components

* Fix maximum cycle depth exceeded error

* Update TableFields to not error

Also optional value is required

* Create FilterSet.d.ts

* Send filtersets to FilterModal

This sends the default filterset and the user's filterset to the filter modal.

The default filterset is used when resetting all filters. The users filterset is used so that it is populated with the user's values when they open the modal

* Add new localizations

* Change types and add default filterset object

* Change value in table fields

* Input table fields need to be able to be empty
* Slider table fields should default to 0 if value isn't provided

* Set width of Select in table field in Filter dialog

* Add style for filter button with filters active

* Swap to using selects for some boolean fields

Charge Attack, Full Auto, and Auto Guard are not boolean values since the user can select (and the default should be) to show both on and off values. We swap to using a SelectTableField here to represent this difference.

We also added logic for Full Auto and Auto Guard fields since they are tied together in some cases (you can't show Auto Guard teams that have Full Auto disabled)

* Populate values from defaultFilterSet

* Update how we save and propagate filters

We save filterset in a local state, because the FilterBar will send it down to us from cookies.

We then set each individual property from that filter set.

We set inputs to have a placeholder, as max buttons and max turns could not be set (null). Then, we only send those fields when they have a value provided by the user.

* Remove default filterset

This was moved to a utils/ file

* Propagate filters from modal

This updates how we handle filter propagation to accommodate the advanced ones. The icon lights up when filters are active.

* GridRep adjustments

* Properly unset mainhand when cells get reused and the new team doesnt have one
* Slightly better styling to make the grid more correct

* Fix bad merge

* Add advanced filter support to saved and profile pages

* Fix auto guard text

* Ensure fetchTeams callback is updated with filters

* Add auto guard icon to GridRep

* Disable max buttons and turns

* Fix build errors
2023-04-09 19:40:15 -07:00

462 lines
13 KiB
JSON

{
"about": {
"segmented_control": {
"about": "About",
"updates": "Updates",
"roadmap": "Roadmap"
}
},
"accessories": {
"paladin": "shield",
"manadiver": "manatura"
},
"alert": {
"incompatible_weapon": "You've selected a weapon that can't be added to the Additional Weapon slots."
},
"ax": {
"no_skill": "No AX Skill",
"errors": {
"value_too_low": "{{name}} must be at least {{minValue}}{{suffix}}",
"value_too_high": "{{name}} cannot be greater than {{maxValue}}{{suffix}}",
"value_not_whole": "{{name}} must be a whole number",
"value_empty": "{{name}} must have a value"
}
},
"awakening": {
"no_type": "No awakening",
"errors": {
"value_too_low": "Awakening level must be at least {{minValue}}",
"value_too_high": "Awakening level cannot be greater than {{maxValue}}",
"value_not_whole": "Awakening level must be a whole number",
"value_empty": "Awakening must have a level"
}
},
"buttons": {
"cancel": "Cancel",
"copy": "Copy link",
"confirm": "Got it",
"delete": "Delete team",
"show_info": "Edit info",
"hide_info": "Hide info",
"save_info": "Save info",
"remix": "Remix",
"save": "Save",
"saved": "Saved",
"menu": "Menu",
"new": "New",
"wiki": "View more on gbf.wiki"
},
"context": {
"modify": {
"character": "Modify character",
"summon": "Modify summon",
"weapon": "Modify weapon"
},
"remove": "Remove from grid"
},
"filters": {
"labels": {
"element": "Element",
"series": "Series",
"proficiency": "Proficiency",
"rarity": "Rarity"
}
},
"header": {
"anonymous": "Anonymous",
"untitled_team": "Untitled team by {{username}}",
"new_team": "New team",
"byline": "{{partyName}} by {{username}}"
},
"rarities": {
"r": "R",
"sr": "SR",
"ssr": "SSR"
},
"elements": {
"null": "Null",
"wind": "Wind",
"fire": "Fire",
"water": "Water",
"earth": "Earth",
"dark": "Dark",
"light": "Light",
"full": {
"all": "All elements",
"null": "Null",
"wind": "Wind",
"fire": "Fire",
"water": "Water",
"earth": "Earth",
"dark": "Dark",
"light": "Light"
}
},
"errors": {
"internal_server_error": {
"title": "Internal Server Error",
"description": "The server reported a problem that we couldn't automatically recover from. Please try your request again."
},
"not_found": {
"title": "Not found",
"description": "The page you're looking for couldn't be found",
"button": "Create a new party"
},
"unauthorized": "You don't have permission to perform that action"
},
"proficiencies": {
"sabre": "Sabre",
"dagger": "Dagger",
"spear": "Spear",
"axe": "Axe",
"staff": "Staff",
"gun": "Gun",
"melee": "Melee",
"bow": "Bow",
"harp": "Harp",
"katana": "Katana"
},
"series": {
"seraphic": "Seraphic",
"grand": "Grand",
"opus": "Dark Opus",
"draconic": "Draconic",
"primal": "Primal",
"olden_primal": "Olden Primal",
"beast": "Beast",
"omega": "Omega",
"regalia": "Regalia",
"militis": "Militis",
"xeno": "Xeno",
"astral": "Astral",
"rose": "Rose",
"hollowsky": "Hollowsky",
"ultima": "Ultima",
"bahamut": "Bahamut",
"epic": "Epic",
"ennead": "Ennead",
"cosmic": "Cosmic",
"ancestral": "Ancestral",
"superlative": "Superlative",
"vintage": "Vintage",
"class_champion": "Class Champion",
"sephira": "Sephira",
"new_world": "New World Foundation",
"revenant": "Revenant",
"proving": "Proven",
"disaster": "Revans",
"illustrious": "Illustrious",
"world": "World"
},
"recency": {
"all_time": "All time",
"last_day": "Last day",
"last_week": "Last week",
"last_month": "Last month",
"last_3_months": "Last 3 months",
"last_6_months": "Last 6 months",
"last_year": "Last year"
},
"summons": {
"main": "Main Summon",
"friend": "Friend Summon",
"summons": "Summons",
"subaura": "Sub Aura Summons"
},
"modals": {
"about": {
"title": "About"
},
"roadmap": {
"title": "Roadmap"
},
"changelog": {
"title": "Changelog"
},
"characters": {
"title": "Character",
"subtitles": {
"ring": "Over Mastery",
"earring": "Aetherial Mastery",
"permanent": "Permanent Mastery",
"awakening": "Awakening"
},
"messages": {
"remove": "Are you sure you want to remove <strong>{{character}}</strong> from your team?"
},
"buttons": {
"confirm": "Save character",
"remove": "Remove character"
}
},
"conflict": {
"character": "Only one <strong>version of a character</strong> can be included in each party. Do you want to change your party members?",
"weapon": {
"generic": "Only one weapon from the <strong>{{series}} Series</strong> can be included in each party. Do you want to change your weapons?",
"opus-draconic": "Only one <strong>Dark Opus</strong> or <strong>Draconic Weapon</strong> can be included in each party. Do you want to change your weapons?"
},
"buttons": {
"confirm": "Confirm"
}
},
"delete_team": {
"title": "Delete team",
"description": "Are you sure you want to permanently delete this team?",
"buttons": {
"confirm": "Yes, delete",
"cancel": "Nevermind"
}
},
"filters": {
"title": "Advanced filters",
"labels": {
"charge_attack": "Charge Attack",
"full_auto": "Full Auto",
"auto_guard": "Auto Guard",
"max_buttons": "Maximum number of button presses",
"max_turns": "Maximum number of turns",
"min_characters": "Minimum number of characters",
"min_summons": "Minimum number of summons",
"min_weapons": "Minimum number of weapons",
"name_quality": "Hide untitled teams",
"user_quality": "Hide anonymous users",
"original_only": "Hide remixed teams"
},
"options": {
"on": "On",
"off": "Off",
"on_and_off": "On and Off"
},
"buttons": {
"confirm": "Save filters",
"clear": "Clear filters"
}
},
"login": {
"title": "Log in",
"buttons": {
"confirm": "Log in"
},
"errors": {
"empty_email": "Please enter your email",
"empty_password": "Please enter your password",
"invalid_email": "That email address is not valid",
"invalid_credentials": "Your email address or password is incorrect"
},
"placeholders": {
"email": "Email address",
"password": "Password"
}
},
"settings": {
"title": "Account Settings",
"labels": {
"picture": "Picture",
"language": "Language",
"gender": "Main Character",
"private": "Private",
"theme": "Theme"
},
"descriptions": {
"picture": "Displayed next to your name",
"gender": "The character shown on your teams",
"private": "Hide your profile and prevent your grids from showing up in collections"
},
"gender": {
"gran": "Gran",
"djeeta": "Djeeta"
},
"language": {
"english": "English",
"japanese": "Japanese"
},
"theme": {
"light": "Light",
"dark": "Dark",
"system": "Follow system"
},
"buttons": {
"confirm": "Save settings"
}
},
"signup": {
"title": "Create an account",
"buttons": {
"confirm": "Sign up"
},
"agreement": "By signing up, I agree to the <br/><2>Privacy Policy</2> and <1>Usage Guidelines</1>.",
"errors": {
"field_in_use": "This {{field}} is already in use",
"empty_email": "Please enter your email",
"invalid_email": "That email address is not valid",
"username_too_short": "Username must be at least 3 characters",
"username_too_long": "Username must be less than 20 characters",
"empty_password": "Please enter your password",
"password_contains_username": "Your password should not contain your username",
"password_too_short": "Password must be at least 8 characters",
"mismatched_passwords": "Your passwords don't match"
},
"placeholders": {
"username": "Username",
"email": "Email address",
"password": "Password",
"password_confirm": "Password (again)"
}
},
"summon": {
"buttons": {
"remove": "Remove summon"
}
},
"weapon": {
"title": "Modify Weapon",
"buttons": {
"confirm": "Save weapon",
"remove": "Remove weapon"
},
"subtitles": {
"element": "Element",
"ax_skills": "AX Skills",
"awakening": "Awakening",
"weapon_keys": "Weapon Keys"
}
}
},
"menu": {
"about": "About",
"changelog": "Changelog",
"guides": "Guides",
"language": "Language",
"login": "Log in",
"roadmap": "Roadmap",
"profile": "Your profile",
"new": "New party",
"saved": "Saved",
"settings": "Settings",
"signup": "Sign up",
"teams": "Teams",
"logout": "Logout"
},
"party": {
"segmented_control": {
"class": "Class",
"characters": "Characters",
"weapons": "Weapons",
"summons": "Summons"
},
"details": {
"labels": {
"charge_attack": "Charge Attack",
"full_auto": "Full Auto",
"auto_guard": "Auto Guard",
"turn_count": "Turn count",
"button_chain": "Buttons/Chains",
"clear_time": "Clear time"
},
"suffix": {
"buttons": "b",
"chains": "c",
"minutes": "m",
"seconds": "s"
},
"turns": {
"with_count_one": "{{count}} turn",
"with_count_other": "{{count}} turns"
}
}
},
"saved": {
"title": "Your saved Teams",
"loading": "Loading saved teams...",
"not_found": "You haven't saved any teams"
},
"search": {
"recent": "Recently added",
"result_count": "{{record_count}} results",
"errors": {
"start_typing": "Start typing the name of a {{object}}",
"min_length": "Type at least 3 characters",
"no_results": "No results found for '{{query}}'",
"end_results": "No more results"
},
"placeholders": {
"weapon": "Search for a weapon...",
"summon": "Search for a summon...",
"character": "Search for a character...",
"job_skill": "Search job skills..."
}
},
"teams": {
"title": "Discover Teams",
"loading": "Loading teams...",
"not_found": "No teams found"
},
"page": {
"titles": {
"about": "About granblue.team",
"updates": "Updates / granblue.team",
"roadmap": "Roadmap / granblue.team",
"discover": "Discover teams / granblue.team",
"new": "Create a new team / granblue.team",
"profile": "@{{username}}'s Teams / granblue.team",
"team": "{{emoji}} {{teamName}} by {{username}} / granblue.team",
"saved": "Your saved teams / granblue.team"
},
"descriptions": {
"about": "More about granblue.team / Save and discover teams to use in Granblue Fantasy",
"updates": "Latest updates to granblue.team",
"roadmap": "Upcoming planned features for granblue.team",
"discover": "Save and discover teams to use in Granblue Fantasy and search by raid, element or recency",
"new": "Create and theorycraft teams to use in Granblue Fantasy and share with the community",
"profile": "Browse @{{username}}'s Teams and filter by raid, element or recency",
"team": "Browse this team for {{raidName}} by {{username}} and others on granblue.team"
}
},
"job_skills": {
"all": "All skills",
"buffing": "Buffing",
"debuffing": "Debuffing",
"damaging": "Damaging",
"healing": "Healing",
"emp": "Extended Mastery",
"base": "Base Skills",
"state": {
"selectable": "Select a skill",
"no_skill": "No skill"
}
},
"toasts": {
"copied": "This party's URL was copied to your clipboard",
"remixed": "You remixed {{title}}",
"update": {
"title": "New update",
"description": {
"content": "New items have been added from the latest Granblue Fantasy update.",
"feature": "Now you can remix other people's teams, add Character rings and earrings, set Shields and Manatura on teams, and more!"
},
"button": "Learn more"
}
},
"tokens": {
"remix": "Remixed"
},
"tooltips": {
"copy_url": "Copy the URL to this team",
"new": "Create a new team",
"remix": "Make a copy of this team",
"save": "Save this team to your account",
"source": "Go to original team"
},
"extra_weapons": "Additional Weapons",
"equipped": "Equipped",
"coming_soon": "Coming Soon",
"new_party": "New party",
"no_accessory": "No {{accessory}} equipped",
"no_title": "Untitled",
"no_raid": "No raid",
"no_user": "Anonymous",
"no_job": "No class",
"no_value": "No value",
"remixes": "Remixes",
"level": "Level"
}