rewriting i18n (not ready yet)

This commit is contained in:
dan63047 2024-11-26 01:59:50 +03:00
parent e9a0f863b7
commit fd15346e97
4 changed files with 1020 additions and 331 deletions

View File

@ -11,14 +11,14 @@ body:
attributes: attributes:
label: What happened? label: What happened?
description: Describe the issue you are experiencing right now description: Describe the issue you are experiencing right now
placeholder: Tell us what you see! placeholder: This thing doesn't work as intended under certain circumstances
validations: validations:
required: true required: true
- type: textarea - type: textarea
id: reproducing id: reproducing
attributes: attributes:
label: How did that happened? label: How did that happened?
description: Describe in details what do do to get this issue description: Describe in details what to do to get this issue
placeholder: "Steps to reproduce:\n1. Go here\n2. Click this\n3. Do that\netc..." placeholder: "Steps to reproduce:\n1. Go here\n2. Click this\n3. Do that\netc..."
validations: validations:
required: true required: true
@ -31,7 +31,7 @@ body:
- type: checkboxes - type: checkboxes
id: platform id: platform
attributes: attributes:
label: On which platform you encountered this issue? label: On which platforms you encountered this issue?
description: Tick the ones, where this issue can be reproduced description: Tick the ones, where this issue can be reproduced
options: options:
- label: Web (ts.dan63.by) - label: Web (ts.dan63.by)
@ -47,6 +47,8 @@ body:
label: What version of Tetra Stats did you used? label: What version of Tetra Stats did you used?
description: You can find that info in Information Center -> About Tetra Stats description: You can find that info in Information Center -> About Tetra Stats
placeholder: "2.0.0" placeholder: "2.0.0"
validations:
required: true
- type: textarea - type: textarea
id: additional-info id: additional-info
attributes: attributes:

View File

@ -223,8 +223,7 @@ const Map<String, int> blitzAverages = {
List<DateTime> seasonStarts = [ List<DateTime> seasonStarts = [
DateTime.utc(2020, DateTime.april, 18, 4), // Source = twitter or something DateTime.utc(2020, DateTime.april, 18, 4), // Source = twitter or something
DateTime.utc( DateTime.utc(2024, DateTime.august, 16, 18, 41, 10) // Source = osk status page
2024, DateTime.august, 16, 18, 41, 10) // Source = osk status page
]; ];
List<DateTime> seasonEnds = [ List<DateTime> seasonEnds = [

View File

@ -0,0 +1,666 @@
{
"locales(map)": {
"en": "English",
"ru": "Russian (Русский)",
"zh-CN": "Simplified Chinese (简体中文)"
},
"tetraLeague": "Tetra League",
"tlRecords": "TL Records",
"history": "History",
"sprint": "40 Lines",
"blitz": "Blitz",
"recent": "Recent",
"recentRuns": "Recent runs",
"blitzScore": "$p points",
"openSPreplay": "Open replay in TETR.IO",
"downloadSPreplay": "Download replay",
"other": "Other",
"distinguishment": "Distinguishment",
"zen": "Zen",
"bio": "Bio",
"news": "News",
"newsParts":{
"leaderboardStart": "Got ",
"leaderboardMiddle": "on ",
"personalbest": "Got a new PB in ",
"personalbestMiddle": "of ",
"badgeStart": "Obtained a ",
"badgeEnd": "badge",
"rankupStart": "Obtained ",
"rankupMiddle": "${r} rank ",
"rankupEnd": "in Tetra League",
"tetoSupporter": "TETR.IO supporter",
"supporterStart": "Become a ",
"supporterGiftStart": "Received the gift of ",
"unknownNews": "Unknown news of type ${type}"
},
"openSearch": "Search player",
"closeSearch": "Close search",
"searchHint": "Nickname, ID or Discord userID (with \"ds:\" prefix)",
"refresh": "Refresh",
"fetchAndsaveTLHistory": "Get player history",
"fetchAndSaveOldTLmatches": "Get Tetra League matches history",
"fetchAndsaveTLHistoryResult": "${number} states was found",
"fetchAndSaveOldTLmatchesResult": "${number} matches was found",
"showStoredData": "Show stored data",
"statsCalc": "Stats Calculator",
"settings": "Settings",
"track": "Track",
"stopTracking": "Stop\ntracking",
"becameTracked": "Added to tracking list!",
"compare": "Compare",
"stoppedBeingTracked": "Removed from tracking list!",
"tlLeaderboard": "Tetra League leaderboard",
"noRecords": "No records",
"noOldRecords": {
"zero": "No records",
"one": "Only $n record",
"two": "Only $n records",
"few": "Only $n records",
"many": "Only $n records",
"other": "Only $n records"
},
"noRecord": "No record",
"botRecord": "Bots are not allowed to set records",
"anonRecord": "Guests are not allowed to set records",
"notEnoughData": "Not enough data",
"noHistorySaved": "No history saved",
"pseudoTooltipHeaderInit": "Hover over point",
"pseudoTooltipFooterInit": "to see detailed data",
"obtainDate": "Obtained ${date}",
"fetchDate": "Fetched ${date}",
"exactGametime": "Exact gametime",
"bigRedBanned": "BANNED",
"normalBanned": "Banned",
"bigRedBadStanding": "BAD STANDING",
"copiedToClipboard": "Copied to clipboard!",
"playerRoleAccount": " account ",
"wasFromBeginning": "that was from very beginning",
"created": "created",
"botCreatedBy": "by",
"notSupporter": "Not a supporter",
"assignedManualy": "That badge was assigned manualy by TETR.IO admins",
"supporter": "Supporter tier ${tier}",
"comparingWith": "Data from ${newDate} comparing with ${oldDate}",
"top": "Top",
"topRank": "Top rank",
"verdictGeneral": "$n $verdict $rank rank avg",
"verdictBetter": "better",
"verdictWorse": "worse",
"smooth": "Smooth",
"postSeason": "Off-season",
"seasonStarts": "Season starts in:",
"nanow": "Not avaliable for now...",
"seasonEnds": "Season ends in ${countdown}",
"seasonEnded": "Season has ended",
"gamesUntilRanked": "${left} games until being ranked",
"numOfVictories": "~${wins} victories",
"promotionOnNextWin": "Promotion on next win",
"numOfdefeats": "~${losses} defeats",
"demotionOnNextLoss": "Demotion on next loss",
"nerdStats": "Nerd Stats",
"playersYouTrack": "Players you track",
"formula": "Formula",
"exactValue": "Exact value",
"neverPlayedTL": "That user never played Tetra League",
"botTL": "Bots are not allowed to play Tetra League",
"anonTL": "Guests are not allowed to play Tetra League",
"quickPlay": "Quick Play",
"expert": "Expert",
"withMods": "With mods",
"withModsPlural":{
"zero": "with $n mods",
"one": "with $n mod",
"two": "with $n mods",
"few": "with $n mods",
"many": "with $n mods",
"other": "with $n mods"
},
"exportDB": "Export local database",
"exportDBDescription": "It contains states and Tetra League records of the tracked players and list of tracked players.",
"desktopExportAlertTitle": "Desktop export",
"desktopExportText": "It seems like you using this app on desktop. Check your documents folder, you should find \"TetraStats.db\". Copy it somewhere",
"androidExportAlertTitle": "Android export",
"androidExportText": "Exported.\n${exportedDB}",
"importDB": "Import local database",
"importDBDescription": "Restore your backup. Notice that already stored database will be overwritten.",
"importWrongFileType": "Wrong file type",
"importCancelled": "Operation was cancelled",
"importSuccess": "Import successful",
"yourID": "Your TETR.IO account",
"yourIDAlertTitle": "Your nickname in TETR.IO",
"yourIDText": "When app loads, it will retrieve data for this account",
"language": "Language",
"updateInBackground": "Update stats in the background",
"updateInBackgroundDescription": "While Tetra Stats is running, it can update stats of the current player when cache expires",
"customization": "Customization",
"customizationDescription": "Change appearance of different things in Tetra Stats UI",
"oskKagari": "Osk Kagari gimmick",
"oskKagariDescription": "If on, osk's rank on main view will be rendered as :kagari:",
"AccentColor": "Accent color",
"AccentColorDescription": "Almost all interactive UI elements highlighted with this color",
"timestamps": "Timestamps",
"timestampsDescription": "You can choose, in which way timestamps shows time",
"timestampsAbsoluteGMT": "Absolute (GMT)",
"timestampsAbsoluteLocalTime": "Absolute (Your timezone)",
"timestampsRelative": "Relative",
"rating": "Main representation of rating",
"ratingDescription": "TR is not linear, while Glicko does not have boundaries and percentile is volatile",
"ratingLBposition": "LB position",
"sheetbotGraphs": "Sheetbot-like behavior for radar graphs",
"sheetbotGraphsDescription": "If on, points on the graphs can appear on the opposite half of the graph if value is negative",
"lbStats": "Show leaderboard based stats",
"lbStatsDescription": "That will impact on loading times, but will allow you to see position on LB by stats and comparison with average values",
"aboutApp": "About app",
"aboutAppText": "${appName} (${packageName}) Version ${version} Build ${buildNumber}\n\nDeveloped by dan63047\nFormulas provided by kerrmunism\nHistory provided by p1nkl0bst3r\nTETR.IO replay grabber API by szy",
"stateViewTitle": "${nickname} account on ${date}",
"statesViewTitle": "${number} states of ${nickname} account",
"matchesViewTitle": "${nickname} TL matches",
"statesViewEntry": "${level} TR, ${glicko}±${rd} Glicko, ${games} игр сыграно",
"stateRemoved": "${date} state was removed from database!",
"matchRemoved": "${date} match was removed from database!",
"viewAllMatches": "View all matches",
"trackedPlayersViewTitle": "Stored data",
"trackedPlayersZeroEntrys": "Empty list. Press \"Track\" button in previous view to add current player here",
"trackedPlayersOneEntry": "There is only one player",
"trackedPlayersManyEntrys": "There are ${numberOfPlayers} players",
"trackedPlayersEntry": "${nickname}: ${numberOfStates} states",
"trackedPlayersDescription": "From ${firstStateDate} until ${lastStateDate}",
"trackedPlayersStatesDeleted": "${nickname} states was removed from database!",
"duplicatedFix": "Remove duplicated TL mathces",
"compressDB": "Compress DB",
"SpaceSaved": "Space saved: ${size}",
"averageXrank": "Average ${rankLetter} rank",
"vs": "vs",
"inTLmatch": "in TL match",
"downloadReplay": "Download .ttrm replay",
"openReplay": "Open replay in TETR.IO",
"replaySaved": "Replay saved to ${path}",
"match": "Match",
"timeWeightedmatch": "Match (time-weighted)",
"roundNumber": "Round $n",
"statsFor": "Stats for",
"numberOfRounds": "Number of rounds",
"matchLength": "Match Length",
"roundLength": "Round Length",
"matchStats": "Match stats",
"timeWeightedmatchStats": "Time-weighted match stats",
"replayIssue": "Can't process replay",
"matchIsTooOld": "Replay is not available",
"winner": "Winner",
"registred": "Registred",
"playedTL": "Played Tetra League",
"winChance": "Win Chance",
"byGlicko": "By Glicko",
"byEstTR": "By Est. TR",
"compareViewNoValues": "Please, enter username, user ID, APM-PPS-VS values (divider doesn't matter, only order matter) or $avgR (where R is rank) to both fields",
"compareViewWrongValue": "Falied to assign ${value}",
"mostRecentOne": "Most recent one",
"yes": "Yes",
"no": "No",
"daysLater": "days later",
"dayseBefore": "days before",
"fromBeginning": "From beginning",
"calc": "Calc",
"calcViewNoValues": "Enter values to calculate the stats",
"rankAveragesViewTitle": "Ranks cutoffs",
"sprintAndBlitsViewTitle": "40 lines and Blitz averages",
"sprintAndBlitsRelevance": "Relevance: ${date}",
"rank": "Rank",
"averages": "Averages",
"lbViewZeroEntrys": "Empty list",
"lbViewOneEntry": "There is only one player",
"lbViewManyEntrys": "There are ${numberOfPlayers}",
"everyoneAverages": "Values for leaderboard",
"sortBy": "Sort by",
"reversed": "Reversed",
"country": "Country",
"rankAverages": "Values for $rank rank",
"players":{
"zero": "$n players",
"one": "$n player",
"two": "$n players",
"few": "$n players",
"many": "$n players",
"other": "$n players"
},
"games": {
"zero": "$n games",
"one": "$n game",
"two": "$n games",
"few": "$n games",
"many": "$n games",
"other": "$n games"
},
"gamesPlayed": "$games played",
"chart": "Chart",
"entries": "Entries",
"minimums": "Minimums",
"maximums": "Maximums",
"lowestValues": "Lowest Values",
"averageValues": "Average Values",
"highestValues": "Highest Values",
"forPlayer": "for player $username",
"currentAxis": "$axis axis:",
"p1nkl0bst3rAlert": "That data was retrived from third party API maintained by p1nkl0bst3r",
"notForWeb": "Function is not available for web version",
"graphs": {
"attack": "Attack",
"speed": "Speed",
"defense": "Defense",
"cheese": "Cheese"
},
"statCellNum":{
"xpLevel": "XP Level",
"xpProgress": "Progress to next level",
"xpFrom0ToLevel": "Progress from 0 XP to level $n",
"xpLeft": "XP left",
"hoursPlayed": "Hours\nPlayed",
"onlineGames": "Online\nGames",
"gamesWon": "Games\nWon",
"totalGames": "Total Games Played",
"totalWon": "Total Games Won",
"friends": "Friends",
"apm": "Attack\nPer Minute",
"vs": "Versus\nScore",
"recordLB": "Leaderboard placement",
"lbp": "Leaderboard\nplacement",
"lbpShort": "№ in LB",
"lbpc": "Country LB\nplacement",
"lbpcShort": "№ in local LB",
"gamesPlayed": "Games\nplayed",
"gamesWonTL": "Games\nWon",
"winrate": "Winrate",
"level": "Level",
"score": "Score",
"spp": "Score\nPer Piece",
"pieces": "Pieces\nPlaced",
"pps": "Pieces\nPer Second",
"finesseFaults": "Finesse\nFaults",
"finessePercentage": "Finesse\nPercentage",
"keys": "Key\nPresses",
"kpp": "KP Per\nPiece",
"kps": "KP Per\nSecond",
"tr": "Tetra Rating",
"rd": "Rating Deviation",
"app": "Attack Per Piece",
"appDescription": "(Abbreviated as APP) Main efficiency metric. Tells how many attack you producing per piece",
"vsapmDescription": "Basically, tells how much and how efficient you using garbage in your attacks",
"dss": "Downstack\nPer Second",
"dssDescription": "(Abbreviated as DS/S) Downstack per Second measures how many garbage lines you clear in a second.",
"dsp": "Downstack\nPer Piece",
"dspDescription": "(Abbreviated as DS/P) Downstack per Piece measures how many garbage lines you clear per piece.",
"appdsp": "APP + DS/P",
"appdspDescription": "Just a sum of Attack per Piece and Downstack per Piece.",
"cheese": "Cheese\nIndex",
"cheeseDescription": "(Abbreviated as Cheese) Cheese Index is an approximation how much clean / cheese garbage player sends. Lower = more clean. Higher = more cheese.\nInvented by kerrmunism",
"gbe": "Garbage\nEfficiency",
"gbeDescription": "(Abbreviated as Gb Eff.) Garbage Efficiency measures how well player uses their garbage. Higher = better or they use their garbage more. Lower = they mostly send their garbage back at cheese or rarely clear garbage.\nInvented by Zepheniah and Dragonboy.",
"nyaapp": "Weighted\nAPP",
"nyaappDescription": "(Abbreviated as wAPP) Essentially, a measure of your ability to send cheese while still maintaining a high APP.\nInvented by Wertj.",
"area": "Area",
"areaDescription": "How much space your shape takes up on the graph, if you exclude the cheese and vs/apm sections",
"estOfTR": "Estimated TR",
"estOfTRShort": "Est. TR",
"accOfEst": "Accuracy",
"accOfEstShort": "Acc."
},
"playerRole(map)": {
"user": "User",
"banned": "Banned",
"bot": "Bot",
"sysop": "System operator",
"admin": "Admin",
"mod": "Moderator",
"halfmod": "Community moderator",
"anon": "Anonymous"
},
"numOfGameActions":{
"pc": "All Clears",
"hold": "Holds",
"inputs": {
"zero": "$n key presses",
"one": "$n key press",
"two": "$n key presses",
"few": "$n key presses",
"many": "$n key presses",
"other": "$n key presses"
},
"tspinsTotal": {
"zero": "$n T-spins total",
"one": "$n T-spin total",
"two": "$n T-spins total",
"few": "$n T-spins total",
"many": "$n T-spins total",
"other": "$n T-spins total"
},
"lineClears": {
"zero": "$n lines cleared",
"one": "$n line cleared",
"two": "$n lines cleared",
"few": "$n lines cleared",
"many": "$n lines cleared",
"other": "$n lines cleared"
}
},
"popupActions":{
"cancel": "Cancel",
"submit": "Submit",
"ok": "OK"
},
"errors":{
"connection": "Some issue with connection: ${code} ${message}",
"noSuchUser": "No such user",
"noSuchUserSub": "Either you mistyped something, or the account no longer exists",
"discordNotAssigned": "No user assigned to given Discord ID",
"discordNotAssignedSub": "Make sure you provided valid ID",
"history": "History for that player is missing",
"actionSuggestion": "Perhaps, you want to",
"p1nkl0bst3rTLmatches": "No Tetra League matches was found",
"clientException": "No internet connection",
"forbidden": "Your IP address is blocked",
"forbiddenSub": "If you are using VPN or Proxy, turn it off. If this does not help, reach out to $nickname",
"tooManyRequests": "You have been rate limited.",
"tooManyRequestsSub": "Wait a few moments and try again",
"internal": "Something happened on the tetr.io side",
"internalSub": "osk, probably, already aware about it",
"internalWebVersion": "Something happened on the tetr.io side (or on oskware_bridge, idk honestly)",
"internalWebVersionSub": "If osk status page says that everything is ok, let dan63047 know about this issue",
"oskwareBridge": "Something happened with oskware_bridge",
"oskwareBridgeSub": "Let dan63047 know",
"p1nkl0bst3rForbidden": "Third party API blocked your IP address",
"p1nkl0bst3rTooManyRequests": "Too many requests to third party API. Try again later",
"p1nkl0bst3rinternal": "Something happened on the p1nkl0bst3r side",
"p1nkl0bst3rinternalWebVersion": "Something happened on the p1nkl0bst3r side (or on oskware_bridge, idk honestly)",
"replayAlreadySaved": "Replay already saved",
"replayExpired": "Replay expired and not available anymore",
"replayRejected": "Third party API blocked your IP address"
},
"countries(map)": {
"": "Worldwide",
"AF": "Afghanistan",
"AX": "\u00c5land Islands",
"AL": "Albania",
"DZ": "Algeria",
"AS": "American Samoa",
"AD": "Andorra",
"AO": "Angola",
"AI": "Anguilla",
"AQ": "Antarctica",
"AG": "Antigua and Barbuda",
"AR": "Argentina",
"AM": "Armenia",
"AW": "Aruba",
"AU": "Australia",
"AT": "Austria",
"AZ": "Azerbaijan",
"BS": "Bahamas",
"BH": "Bahrain",
"BD": "Bangladesh",
"BB": "Barbados",
"BY": "Belarus",
"BE": "Belgium",
"BZ": "Belize",
"BJ": "Benin",
"BM": "Bermuda",
"BT": "Bhutan",
"BO": "Bolivia, Plurinational State of",
"BA": "Bosnia and Herzegovina",
"BW": "Botswana",
"BV": "Bouvet Island",
"BR": "Brazil",
"IO": "British Indian Ocean Territory",
"BN": "Brunei Darussalam",
"BG": "Bulgaria",
"BF": "Burkina Faso",
"BI": "Burundi",
"KH": "Cambodia",
"CM": "Cameroon",
"CA": "Canada",
"CV": "Cape Verde",
"BQ": "Caribbean Netherlands",
"KY": "Cayman Islands",
"CF": "Central African Republic",
"TD": "Chad",
"CL": "Chile",
"CN": "China",
"CX": "Christmas Island",
"CC": "Cocos (Keeling) Islands",
"CO": "Colombia",
"KM": "Comoros",
"CG": "Congo",
"CD": "Congo, the Democratic Republic of the",
"CK": "Cook Islands",
"CR": "Costa Rica",
"CI": "C\u00f4te d'Ivoire",
"HR": "Croatia",
"CU": "Cuba",
"CW": "Cura\u00e7ao",
"CY": "Cyprus",
"CZ": "Czech Republic",
"DK": "Denmark",
"DJ": "Djibouti",
"DM": "Dominica",
"DO": "Dominican Republic",
"EC": "Ecuador",
"EG": "Egypt",
"SV": "El Salvador",
"GB-ENG": "England",
"GQ": "Equatorial Guinea",
"ER": "Eritrea",
"EE": "Estonia",
"ET": "Ethiopia",
"EU": "Europe",
"FK": "Falkland Islands (Malvinas)",
"FO": "Faroe Islands",
"FJ": "Fiji",
"FI": "Finland",
"FR": "France",
"GF": "French Guiana",
"PF": "French Polynesia",
"TF": "French Southern Territories",
"GA": "Gabon",
"GM": "Gambia",
"GE": "Georgia",
"DE": "Germany",
"GH": "Ghana",
"GI": "Gibraltar",
"GR": "Greece",
"GL": "Greenland",
"GD": "Grenada",
"GP": "Guadeloupe",
"GU": "Guam",
"GT": "Guatemala",
"GG": "Guernsey",
"GN": "Guinea",
"GW": "Guinea-Bissau",
"GY": "Guyana",
"HT": "Haiti",
"HM": "Heard Island and McDonald Islands",
"VA": "Holy See (Vatican City State)",
"HN": "Honduras",
"HK": "Hong Kong",
"HU": "Hungary",
"IS": "Iceland",
"IN": "India",
"ID": "Indonesia",
"IR": "Iran, Islamic Republic of",
"IQ": "Iraq",
"IE": "Ireland",
"IM": "Isle of Man",
"IL": "Israel",
"IT": "Italy",
"JM": "Jamaica",
"JP": "Japan",
"JE": "Jersey",
"JO": "Jordan",
"KZ": "Kazakhstan",
"KE": "Kenya",
"KI": "Kiribati",
"KP": "Korea, Democratic People's Republic of",
"KR": "Korea, Republic of",
"XK": "Kosovo",
"KW": "Kuwait",
"KG": "Kyrgyzstan",
"LA": "Lao People's Democratic Republic",
"LV": "Latvia",
"LB": "Lebanon",
"LS": "Lesotho",
"LR": "Liberia",
"LY": "Libya",
"LI": "Liechtenstein",
"LT": "Lithuania",
"LU": "Luxembourg",
"MO": "Macao",
"MK": "Macedonia, the former Yugoslav Republic of",
"MG": "Madagascar",
"MW": "Malawi",
"MY": "Malaysia",
"MV": "Maldives",
"ML": "Mali",
"MT": "Malta",
"MH": "Marshall Islands",
"MQ": "Martinique",
"MR": "Mauritania",
"MU": "Mauritius",
"YT": "Mayotte",
"MX": "Mexico",
"FM": "Micronesia, Federated States of",
"MD": "Moldova, Republic of",
"MC": "Monaco",
"ME": "Montenegro",
"MA": "Morocco",
"MN": "Mongolia",
"MS": "Montserrat",
"MZ": "Mozambique",
"MM": "Myanmar",
"NA": "Namibia",
"NR": "Nauru",
"NP": "Nepal",
"NL": "Netherlands",
"AN": "Netherlands Antilles",
"NC": "New Caledonia",
"NZ": "New Zealand",
"NI": "Nicaragua",
"NE": "Niger",
"NG": "Nigeria",
"NU": "Niue",
"NF": "Norfolk Island",
"GB-NIR": "Northern Ireland",
"MP": "Northern Mariana Islands",
"NO": "Norway",
"OM": "Oman",
"PK": "Pakistan",
"PW": "Palau",
"PS": "Palestine",
"PA": "Panama",
"PG": "Papua New Guinea",
"PY": "Paraguay",
"PE": "Peru",
"PH": "Philippines",
"PN": "Pitcairn",
"PL": "Poland",
"PT": "Portugal",
"PR": "Puerto Rico",
"QA": "Qatar",
"RE": "Réunion",
"RO": "Romania",
"RU": "Russian Federation",
"RW": "Rwanda",
"BL": "Saint Barthélemy",
"SH": "Saint Helena, Ascension and Tristan da Cunha",
"KN": "Saint Kitts and Nevis",
"LC": "Saint Lucia",
"MF": "Saint Martin",
"PM": "Saint Pierre and Miquelon",
"VC": "Saint Vincent and the Grenadines",
"WS": "Samoa",
"SM": "San Marino",
"ST": "Sao Tome and Principe",
"SA": "Saudi Arabia",
"GB-SCT": "Scotland",
"SN": "Senegal",
"RS": "Serbia",
"SC": "Seychelles",
"SL": "Sierra Leone",
"SG": "Singapore",
"SX": "Sint Maarten (Dutch part)",
"SK": "Slovakia",
"SI": "Slovenia",
"SB": "Solomon Islands",
"SO": "Somalia",
"ZA": "South Africa",
"GS": "South Georgia and the South Sandwich Islands",
"SS": "South Sudan",
"ES": "Spain",
"LK": "Sri Lanka",
"SD": "Sudan",
"SR": "Suriname",
"SJ": "Svalbard and Jan Mayen Islands",
"SZ": "Swaziland",
"SE": "Sweden",
"CH": "Switzerland",
"SY": "Syrian Arab Republic",
"TW": "Taiwan",
"TJ": "Tajikistan",
"TZ": "Tanzania, United Republic of",
"TH": "Thailand",
"TL": "Timor-Leste",
"TG": "Togo",
"TK": "Tokelau",
"TO": "Tonga",
"TT": "Trinidad and Tobago",
"TN": "Tunisia",
"TR": "Turkey",
"TM": "Turkmenistan",
"TC": "Turks and Caicos Islands",
"TV": "Tuvalu",
"UG": "Uganda",
"UA": "Ukraine",
"AE": "United Arab Emirates",
"GB": "United Kingdom",
"US": "United States",
"UY": "Uruguay",
"UM": "US Minor Outlying Islands",
"UZ": "Uzbekistan",
"VU": "Vanuatu",
"VE": "Venezuela, Bolivarian Republic of",
"VN": "Vietnam",
"VG": "Virgin Islands, British",
"VI": "Virgin Islands, U.S.",
"GB-WLS": "Wales",
"WF": "Wallis and Futuna Islands",
"EH": "Western Sahara",
"YE": "Yemen",
"ZM": "Zambia",
"ZW": "Zimbabwe",
"XX": "Unknown",
"XM": "The Moon"
}
}

View File

@ -4,19 +4,67 @@
"ru": "Russian (Русский)", "ru": "Russian (Русский)",
"zh-CN": "Simplified Chinese (简体中文)" "zh-CN": "Simplified Chinese (简体中文)"
}, },
"tetraLeague": "Tetra League", "gamemodes":{
"tlRecords": "TL Records", "tl": "Tetra League",
"history": "History", "zenith": "Quick Play",
"sprint": "40 Lines", "zenithex": "Quick Play Expert",
"blitz": "Blitz", "40l": "40 Lines",
"recent": "Recent", "blitz": "Blitz",
"recentRuns": "Recent runs", "5mblast": "5,000,000 Blast"
"blitzScore": "$p points", },
"openSPreplay": "Open replay in TETR.IO", "destinations": {
"downloadSPreplay": "Download replay", "home": "Home",
"other": "Other", "graphs": "Graphs",
"leaderboards": "Leaderboards",
"cutoffs": "Cutoffs",
"calc": "Calculator",
"info": "Info Center",
"data": "Saved Data",
"settings": "Settings"
},
"goBackButton": "Go Back",
"nanow": "Not avaliable for now...",
"seasonEnds": "Season ends in ${countdown}",
"seasonEnded": "Season has ended",
"gamesUntilRanked": "${left} games until being ranked",
"numOfVictories": "~${wins} victories",
"promotionOnNextWin": "Promotion on next win",
"numOfdefeats": "~${losses} defeats",
"demotionOnNextLoss": "Demotion on next loss",
"records": "Records",
"nerdStats": "Nerd Stats",
"horoscopes": "Horoscopes",
"season": "Season",
"smooth": "Smooth",
"dateAndTime": "Date & Time",
"TLfullLBnote": "Heavy, but allows you to sort players by their stats and filter them by ranks",
"rank": "Rank",
"verdictGeneral": "$n $verdict of $rank rank avg",
"verdictBetter": "ahead",
"verdictWorse": "behind",
"localStanding": "local",
"xpProgressToNextLevel": "Progress to next level: $percentage",
"xpProgressTowardsGoal": "Progress from 0 XP to level $goal: $percentage ($left xp left)",
"gametime":{
"title": "Exact gametime",
"gametimeAday": "$gametime a day in average",
"breakdown": "It's $years years,\nor $months months,\nor $days days,\nor$minutes minutes\nor $seconds seconds"
},
"track": "Track",
"stopTracking": "Stop tracking",
"supporter": "Supporter tier ${tier}",
"comparingWith": "Data from ${newDate} comparing with ${oldDate}",
"compare": "Compare",
"comparison": "Comparison",
"general": "General",
"badges": "Badges",
"obtainDate": "Obtained ${date}",
"assignedManualy": "That badge was assigned manualy by TETR.IO admins",
"distinguishment": "Distinguishment", "distinguishment": "Distinguishment",
"zen": "Zen", "bigRedBanned": "BANNED",
"normalBanned": "Banned",
"bigRedBadStanding": "BAD STANDING",
"copiedToClipboard": "Copied to clipboard!",
"bio": "Bio", "bio": "Bio",
"news": "News", "news": "News",
"newsParts":{ "newsParts":{
@ -34,321 +82,18 @@
"supporterGiftStart": "Received the gift of ", "supporterGiftStart": "Received the gift of ",
"unknownNews": "Unknown news of type ${type}" "unknownNews": "Unknown news of type ${type}"
}, },
"openSearch": "Search player", "copyUserID": "Click to copy user ID",
"closeSearch": "Close search", "searchHint": "Username or ID",
"searchHint": "Nickname, ID or Discord userID (with \"ds:\" prefix)", "searchButton": "Search",
"refresh": "Refresh", "trackedPlayers": "Tracked Players",
"fetchAndsaveTLHistory": "Get player history", "standing": "Standing",
"fetchAndSaveOldTLmatches": "Get Tetra League matches history", "previousSeasons": "Previous Seasons",
"fetchAndsaveTLHistoryResult": "${number} states was found", "recent": "Recent",
"fetchAndSaveOldTLmatchesResult": "${number} matches was found",
"showStoredData": "Show stored data",
"statsCalc": "Stats Calculator",
"settings": "Settings",
"track": "Track",
"stopTracking": "Stop\ntracking",
"becameTracked": "Added to tracking list!",
"compare": "Compare",
"stoppedBeingTracked": "Removed from tracking list!",
"tlLeaderboard": "Tetra League leaderboard",
"noRecords": "No records",
"noOldRecords": {
"zero": "No records",
"one": "Only $n record",
"two": "Only $n records",
"few": "Only $n records",
"many": "Only $n records",
"other": "Only $n records"
},
"noRecord": "No record",
"botRecord": "Bots are not allowed to set records",
"anonRecord": "Guests are not allowed to set records",
"notEnoughData": "Not enough data",
"noHistorySaved": "No history saved",
"pseudoTooltipHeaderInit": "Hover over point",
"pseudoTooltipFooterInit": "to see detailed data",
"obtainDate": "Obtained ${date}",
"fetchDate": "Fetched ${date}",
"exactGametime": "Exact gametime",
"bigRedBanned": "BANNED",
"normalBanned": "Banned",
"bigRedBadStanding": "BAD STANDING",
"copiedToClipboard": "Copied to clipboard!",
"playerRoleAccount": " account ",
"wasFromBeginning": "that was from very beginning",
"created": "created",
"botCreatedBy": "by",
"notSupporter": "Not a supporter",
"assignedManualy": "That badge was assigned manualy by TETR.IO admins",
"supporter": "Supporter tier ${tier}",
"comparingWith": "Data from ${newDate} comparing with ${oldDate}",
"top": "Top", "top": "Top",
"topRank": "Top rank", "errors": {
"verdictGeneral": "$n $verdict $rank rank avg", "noRecords": "No records",
"verdictBetter": "better", "notEnoughData": "Not enough data",
"verdictWorse": "worse", "noHistorySaved": "No history saved",
"smooth": "Smooth",
"postSeason": "Off-season",
"seasonStarts": "Season starts in:",
"nanow": "Not avaliable for now...",
"seasonEnds": "Season ends in ${countdown}",
"seasonEnded": "Season has ended",
"gamesUntilRanked": "${left} games until being ranked",
"numOfVictories": "~${wins} victories",
"promotionOnNextWin": "Promotion on next win",
"numOfdefeats": "~${losses} defeats",
"demotionOnNextLoss": "Demotion on next loss",
"nerdStats": "Nerd Stats",
"playersYouTrack": "Players you track",
"formula": "Formula",
"exactValue": "Exact value",
"neverPlayedTL": "That user never played Tetra League",
"botTL": "Bots are not allowed to play Tetra League",
"anonTL": "Guests are not allowed to play Tetra League",
"quickPlay": "Quick Play",
"expert": "Expert",
"withMods": "With mods",
"withModsPlural":{
"zero": "with $n mods",
"one": "with $n mod",
"two": "with $n mods",
"few": "with $n mods",
"many": "with $n mods",
"other": "with $n mods"
},
"exportDB": "Export local database",
"exportDBDescription": "It contains states and Tetra League records of the tracked players and list of tracked players.",
"desktopExportAlertTitle": "Desktop export",
"desktopExportText": "It seems like you using this app on desktop. Check your documents folder, you should find \"TetraStats.db\". Copy it somewhere",
"androidExportAlertTitle": "Android export",
"androidExportText": "Exported.\n${exportedDB}",
"importDB": "Import local database",
"importDBDescription": "Restore your backup. Notice that already stored database will be overwritten.",
"importWrongFileType": "Wrong file type",
"importCancelled": "Operation was cancelled",
"importSuccess": "Import successful",
"yourID": "Your TETR.IO account",
"yourIDAlertTitle": "Your nickname in TETR.IO",
"yourIDText": "When app loads, it will retrieve data for this account",
"language": "Language",
"updateInBackground": "Update stats in the background",
"updateInBackgroundDescription": "While Tetra Stats is running, it can update stats of the current player when cache expires",
"customization": "Customization",
"customizationDescription": "Change appearance of different things in Tetra Stats UI",
"oskKagari": "Osk Kagari gimmick",
"oskKagariDescription": "If on, osk's rank on main view will be rendered as :kagari:",
"AccentColor": "Accent color",
"AccentColorDescription": "Almost all interactive UI elements highlighted with this color",
"timestamps": "Timestamps",
"timestampsDescription": "You can choose, in which way timestamps shows time",
"timestampsAbsoluteGMT": "Absolute (GMT)",
"timestampsAbsoluteLocalTime": "Absolute (Your timezone)",
"timestampsRelative": "Relative",
"rating": "Main representation of rating",
"ratingDescription": "TR is not linear, while Glicko does not have boundaries and percentile is volatile",
"ratingLBposition": "LB position",
"sheetbotGraphs": "Sheetbot-like behavior for radar graphs",
"sheetbotGraphsDescription": "If on, points on the graphs can appear on the opposite half of the graph if value is negative",
"lbStats": "Show leaderboard based stats",
"lbStatsDescription": "That will impact on loading times, but will allow you to see position on LB by stats and comparison with average values",
"aboutApp": "About app",
"aboutAppText": "${appName} (${packageName}) Version ${version} Build ${buildNumber}\n\nDeveloped by dan63047\nFormulas provided by kerrmunism\nHistory provided by p1nkl0bst3r\nTETR.IO replay grabber API by szy",
"stateViewTitle": "${nickname} account on ${date}",
"statesViewTitle": "${number} states of ${nickname} account",
"matchesViewTitle": "${nickname} TL matches",
"statesViewEntry": "${level} TR, ${glicko}±${rd} Glicko, ${games} игр сыграно",
"stateRemoved": "${date} state was removed from database!",
"matchRemoved": "${date} match was removed from database!",
"viewAllMatches": "View all matches",
"trackedPlayersViewTitle": "Stored data",
"trackedPlayersZeroEntrys": "Empty list. Press \"Track\" button in previous view to add current player here",
"trackedPlayersOneEntry": "There is only one player",
"trackedPlayersManyEntrys": "There are ${numberOfPlayers} players",
"trackedPlayersEntry": "${nickname}: ${numberOfStates} states",
"trackedPlayersDescription": "From ${firstStateDate} until ${lastStateDate}",
"trackedPlayersStatesDeleted": "${nickname} states was removed from database!",
"duplicatedFix": "Remove duplicated TL mathces",
"compressDB": "Compress DB",
"SpaceSaved": "Space saved: ${size}",
"averageXrank": "Average ${rankLetter} rank",
"vs": "vs",
"inTLmatch": "in TL match",
"downloadReplay": "Download .ttrm replay",
"openReplay": "Open replay in TETR.IO",
"replaySaved": "Replay saved to ${path}",
"match": "Match",
"timeWeightedmatch": "Match (time-weighted)",
"roundNumber": "Round $n",
"statsFor": "Stats for",
"numberOfRounds": "Number of rounds",
"matchLength": "Match Length",
"roundLength": "Round Length",
"matchStats": "Match stats",
"timeWeightedmatchStats": "Time-weighted match stats",
"replayIssue": "Can't process replay",
"matchIsTooOld": "Replay is not available",
"winner": "Winner",
"registred": "Registred",
"playedTL": "Played Tetra League",
"winChance": "Win Chance",
"byGlicko": "By Glicko",
"byEstTR": "By Est. TR",
"compareViewNoValues": "Please, enter username, user ID, APM-PPS-VS values (divider doesn't matter, only order matter) or $avgR (where R is rank) to both fields",
"compareViewWrongValue": "Falied to assign ${value}",
"mostRecentOne": "Most recent one",
"yes": "Yes",
"no": "No",
"daysLater": "days later",
"dayseBefore": "days before",
"fromBeginning": "From beginning",
"calc": "Calc",
"calcViewNoValues": "Enter values to calculate the stats",
"rankAveragesViewTitle": "Ranks cutoffs",
"sprintAndBlitsViewTitle": "40 lines and Blitz averages",
"sprintAndBlitsRelevance": "Relevance: ${date}",
"rank": "Rank",
"averages": "Averages",
"lbViewZeroEntrys": "Empty list",
"lbViewOneEntry": "There is only one player",
"lbViewManyEntrys": "There are ${numberOfPlayers}",
"everyoneAverages": "Values for leaderboard",
"sortBy": "Sort by",
"reversed": "Reversed",
"country": "Country",
"rankAverages": "Values for $rank rank",
"players":{
"zero": "$n players",
"one": "$n player",
"two": "$n players",
"few": "$n players",
"many": "$n players",
"other": "$n players"
},
"games": {
"zero": "$n games",
"one": "$n game",
"two": "$n games",
"few": "$n games",
"many": "$n games",
"other": "$n games"
},
"gamesPlayed": "$games played",
"chart": "Chart",
"entries": "Entries",
"minimums": "Minimums",
"maximums": "Maximums",
"lowestValues": "Lowest Values",
"averageValues": "Average Values",
"highestValues": "Highest Values",
"forPlayer": "for player $username",
"currentAxis": "$axis axis:",
"p1nkl0bst3rAlert": "That data was retrived from third party API maintained by p1nkl0bst3r",
"notForWeb": "Function is not available for web version",
"graphs": {
"attack": "Attack",
"speed": "Speed",
"defense": "Defense",
"cheese": "Cheese"
},
"statCellNum":{
"xpLevel": "XP Level",
"xpProgress": "Progress to next level",
"xpFrom0ToLevel": "Progress from 0 XP to level $n",
"xpLeft": "XP left",
"hoursPlayed": "Hours\nPlayed",
"onlineGames": "Online\nGames",
"gamesWon": "Games\nWon",
"totalGames": "Total Games Played",
"totalWon": "Total Games Won",
"friends": "Friends",
"apm": "Attack\nPer Minute",
"vs": "Versus\nScore",
"recordLB": "Leaderboard placement",
"lbp": "Leaderboard\nplacement",
"lbpShort": "№ in LB",
"lbpc": "Country LB\nplacement",
"lbpcShort": "№ in local LB",
"gamesPlayed": "Games\nplayed",
"gamesWonTL": "Games\nWon",
"winrate": "Winrate",
"level": "Level",
"score": "Score",
"spp": "Score\nPer Piece",
"pieces": "Pieces\nPlaced",
"pps": "Pieces\nPer Second",
"finesseFaults": "Finesse\nFaults",
"finessePercentage": "Finesse\nPercentage",
"keys": "Key\nPresses",
"kpp": "KP Per\nPiece",
"kps": "KP Per\nSecond",
"tr": "Tetra Rating",
"rd": "Rating Deviation",
"app": "Attack Per Piece",
"appDescription": "(Abbreviated as APP) Main efficiency metric. Tells how many attack you producing per piece",
"vsapmDescription": "Basically, tells how much and how efficient you using garbage in your attacks",
"dss": "Downstack\nPer Second",
"dssDescription": "(Abbreviated as DS/S) Downstack per Second measures how many garbage lines you clear in a second.",
"dsp": "Downstack\nPer Piece",
"dspDescription": "(Abbreviated as DS/P) Downstack per Piece measures how many garbage lines you clear per piece.",
"appdsp": "APP + DS/P",
"appdspDescription": "Just a sum of Attack per Piece and Downstack per Piece.",
"cheese": "Cheese\nIndex",
"cheeseDescription": "(Abbreviated as Cheese) Cheese Index is an approximation how much clean / cheese garbage player sends. Lower = more clean. Higher = more cheese.\nInvented by kerrmunism",
"gbe": "Garbage\nEfficiency",
"gbeDescription": "(Abbreviated as Gb Eff.) Garbage Efficiency measures how well player uses their garbage. Higher = better or they use their garbage more. Lower = they mostly send their garbage back at cheese or rarely clear garbage.\nInvented by Zepheniah and Dragonboy.",
"nyaapp": "Weighted\nAPP",
"nyaappDescription": "(Abbreviated as wAPP) Essentially, a measure of your ability to send cheese while still maintaining a high APP.\nInvented by Wertj.",
"area": "Area",
"areaDescription": "How much space your shape takes up on the graph, if you exclude the cheese and vs/apm sections",
"estOfTR": "Estimated TR",
"estOfTRShort": "Est. TR",
"accOfEst": "Accuracy",
"accOfEstShort": "Acc."
},
"playerRole(map)": {
"user": "User",
"banned": "Banned",
"bot": "Bot",
"sysop": "System operator",
"admin": "Admin",
"mod": "Moderator",
"halfmod": "Community moderator",
"anon": "Anonymous"
},
"numOfGameActions":{
"pc": "All Clears",
"hold": "Holds",
"inputs": {
"zero": "$n key presses",
"one": "$n key press",
"two": "$n key presses",
"few": "$n key presses",
"many": "$n key presses",
"other": "$n key presses"
},
"tspinsTotal": {
"zero": "$n T-spins total",
"one": "$n T-spin total",
"two": "$n T-spins total",
"few": "$n T-spins total",
"many": "$n T-spins total",
"other": "$n T-spins total"
},
"lineClears": {
"zero": "$n lines cleared",
"one": "$n line cleared",
"two": "$n lines cleared",
"few": "$n lines cleared",
"many": "$n lines cleared",
"other": "$n lines cleared"
}
},
"popupActions":{
"cancel": "Cancel",
"submit": "Submit",
"ok": "OK"
},
"errors":{
"connection": "Some issue with connection: ${code} ${message}", "connection": "Some issue with connection: ${code} ${message}",
"noSuchUser": "No such user", "noSuchUser": "No such user",
"noSuchUserSub": "Either you mistyped something, or the account no longer exists", "noSuchUserSub": "Either you mistyped something, or the account no longer exists",
@ -376,6 +121,283 @@
"replayExpired": "Replay expired and not available anymore", "replayExpired": "Replay expired and not available anymore",
"replayRejected": "Third party API blocked your IP address" "replayRejected": "Third party API blocked your IP address"
}, },
"actions":{
"cancel": "Cancel",
"submit": "Submit",
"ok": "OK",
"refresh": "Refresh"
},
"cutoffsDestination": {
"title": "Tetra League State",
"relevance": "as of $timestamp",
"actual": "Actual",
"target": "Target",
"cutoffTR": "Cutoff TR",
"targetTR": "Target TR",
"state": "State",
"advanced": "Advanced",
"players": "Players ($n)",
"moreInfo": "More Info",
"NumberOne": "№ 1 is $tr TR",
"inflated": "Inflated on $tr TR",
"deflated": "Deflated on $tr TR",
"wellDotDotDot": "Well...",
"fromPlace": "from № $n",
"viewButton": "View"
},
"rankView":{
"rankTitle": "$rank rank data",
"everyoneTitle": "Entire leaderboard",
"trRange": "TR Range",
"supposedToBe": "Supposed to be",
"gap": "$value gap",
"deflationGap": "Deflation gap",
"inflationGap": "Inflation gap",
"LBposRange": "LB pos range",
"overpopulated": "Overpopulated by a $players",
"underpopulated": "Underpopulated by a $players",
"PlayersEqualSupposedToBe": "cute",
"avgStats": "Average Stats",
"avgNerdStats": "Average Nerd Stats",
"minimums": "Minimums",
"maximums": "Maximums"
},
"calcDestination": {
"tip": "Enter values and press \"Calc\" to see Nerd Stats for them"
},
"homeNavigation": {
"overview": "Overview",
"standing": "Standing",
"seasons": "Seasons",
"mathces": "Matches",
"pb": "PB",
"normal": "Normal",
"expert": "Expert",
"expertRecords": "Ex Records"
},
"graphsNavigation": {
"history": "Player History",
"league": "League State",
"cutoffs": "Cutoffs History"
},
"calcNavigation": {
"stats": "Stats Calculator",
"damage": "Damage Calculator"
},
"stats": {
"tr": {
"short": "TR",
"full": "Tetra Rating"
},
"glicko": {
"short": "Glicko",
"full": "Glicko"
},
"rd":{
"short": "RD",
"full": "Rating Deviation"
},
"glixare": {
"short": "GXE",
"full": "GLIXARE"
},
"gp":{
"short": "GP",
"full": "Games Played"
},
"gw":{
"short": "GW",
"full": "Games Won"
},
"winrate":{
"short": "WR%",
"full": "Win Rate"
},
"apm":{
"short": "APM",
"full": "Attack Per Minute"
},
"pps":{
"short": "PPS",
"full": "Pieces Per Second"
},
"vs":{
"short": "VS",
"full": "Versus Score"
},
"app":{
"short": "APP",
"full": "Attack Per Piece"
},
"dss":{
"short": "DS/S",
"full": "Downstack Per Second"
},
"dsp":{
"short": "DS/P",
"full": "Downstack Per Piece"
},
"cheese":{
"short": "Cheese",
"full": "Cheese Index"
},
"gbe":{
"short": "GbE",
"full": "Garbage Efficiency"
},
"nyaapp":{
"short": "wAPP",
"full": "Weigente APP"
},
"area":{
"short": "Area",
"full": "Area"
},
"etr":{
"short": "eTR",
"full": "Estimated TR"
},
"etracc":{
"short": "±eTR",
"full": "Accuracy of Estimated TR"
},
"opener":{
"short": "Opener",
"full": "Opener"
},
"plonk":{
"short": "Plonk",
"full": "Plonk"
},
"stride":{
"short": "Stride",
"full": "Stride"
},
"infds":{
"short": "Inf. DS",
"full": "Infinite Downstack"
},
"altitude": {
"short": "m",
"full": "Altitude"
},
"climbSpeed": {
"short": "CSP",
"full": "Climb Speed",
"gaugetTitle": "Climb\nSpeed"
},
"peakClimbSpeed": {
"short": "Peak CSP",
"full": "Peak Climb Speed",
"gaugetTitle": "Peak"
},
"kos": {
"short": "KO's",
"full": "Knockouts"
},
"b2b":{
"short": "B2B",
"full": "Back-To-Back"
},
"finesse":{
"short": "F",
"full": "Finesse",
"widgetTitle": "inesse"
},
"totalTime":{
"short": "Time",
"full": "Total Time",
"widgetTitle": "otal Time"
},
"level": {
"short": "Lvl",
"full": "Level"
},
"spike": "Top Spike",
"top": "Top $percentage",
"topRank": "Top rank: $rank",
"floor": "Floor",
"split": "Split",
"total": "Total",
"qpWithMods(plural)": {
"one": "With 1 mod",
"two": "With $n mods",
"few": "With $n mods",
"many": "With $n mods",
"other": "With $n mods"
},
"inputs(plural)": {
"zero": "$n key presses",
"one": "$n key press",
"two": "$n key presses",
"few": "$n key presses",
"many": "$n key presses",
"other": "$n key presses"
},
"tspinsTotal(plural)": {
"zero": "$n T-spins total",
"one": "$n T-spin total",
"two": "$n T-spins total",
"few": "$n T-spins total",
"many": "$n T-spins total",
"other": "$n T-spins total"
},
"lineClears(plural)": {
"zero": "$n lines cleared",
"one": "$n line cleared",
"two": "$n lines cleared",
"few": "$n lines cleared",
"many": "$n lines cleared",
"other": "$n lines cleared"
},
"graphs": {
"attack": "Attack",
"speed": "Speed",
"defense": "Defense",
"cheese": "Cheese"
},
"players(plural)":{
"zero": "$n players",
"one": "$n player",
"two": "$n players",
"few": "$n players",
"many": "$n players",
"other": "$n players"
},
"games(plural)": {
"zero": "$n games",
"one": "$n game",
"two": "$n games",
"few": "$n games",
"many": "$n games",
"other": "$n games"
},
"lineClears(map)": {
"single": "Single",
"double": "Double",
"triple": "Triple",
"quad": "Quad",
"penta": "Penta",
"hexa": "Hexa",
"hepta": "Hepta",
"octa": "Octa",
"ennea": "Ennea",
"deca": "Deca",
"hendeca": "Hendeca",
"dodeca": "Dodeca",
"triadeca": "Triadeca",
"tessaradeca": "Tessaradeca",
"pentedeca": "Pentedeca",
"hexadeca": "Hexadeca",
"heptadeca": "Heptadeca",
"octadeca": "Octadeca",
"enneadeca": "Enneadeca",
"eicosa": "Eicosa",
"kagaris": "Kagaris"
},
"tSpin": "T-spin",
"spin": "Spin"
},
"countries(map)": { "countries(map)": {
"": "Worldwide", "": "Worldwide",