Skip to content

Commit

Permalink
Merge branch 'FIRSTTeam102:master' into new-voyager
Browse files Browse the repository at this point in the history
  • Loading branch information
daonguyenk06 authored Jun 4, 2024
2 parents ff2c59a + 83b99d0 commit 7642ce3
Show file tree
Hide file tree
Showing 63 changed files with 2,375 additions and 14,349 deletions.
6 changes: 3 additions & 3 deletions .devcontainer/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ for dbsfile in "${dbsfiles[@]}"; do
touch $dbsfile
printf "{
\t\"dev\": {
\t\t\"url\": \"mongodb://localhost:27017/app\"
\t\t\"url\": \"mongodb://127.0.0.1:27017/app\"
\t},
\t\"default\": {
\t\t\"url\": \"mongodb://localhost:27017/app\"
\t\t\"url\": \"mongodb://127.0.0.1:27017/app\"
\t}
}" >> $dbsfile
fi
done

# Install node modules
yarn setup
yarn setup
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,5 @@ ESLint plugin, to assist development, which enforces a title being provided any
## Localization
[![Weblate](https://hosted.weblate.org/widgets/scoutradioz/-/287x66-black.png)](https://hosted.weblate.org/engage/scoutradioz)

We're translating Scoutraioz so FIRST teams and their members, friends, and family from all over the globe can use it in their preferred languages. Translation contributions can be submitted using [Weblate](https://hosted.weblate.org/engage/scoutradioz).
We're translating Scoutradioz so FIRST teams and their members, friends, and family from all over the globe can use it in their preferred languages. Translation contributions can be submitted using [Weblate](https://hosted.weblate.org/engage/scoutradioz).

39 changes: 36 additions & 3 deletions primary/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@
"index": {
"fulltitle": "Scoutradioz: FRC Scouting as a Service",
"welcome": "Welcome to Scoutradioz",
"browse": {
"link": "Or click here to browse data by event",
"title": "View data by event and org",
"tspsExplained": "'TSPS' is **relative** Total Scouting Performance Score (useful for friendly inter-org Scouting competitions!) - and 'Mdn.' is short for Median",
"pastEvents": "To see older data you may need to use the menu option under Info and Reports, 'Browse data from past events'",
"orgKeyAndNickname": "Org key - Nickname",
"matchScoutingEntries": "# Match scouting entries",
"avgErrorRate": "Mdn. error rate (and minimum)",
"tspsScore": "TSPS"
},
"choice": "Are you:",
"viewer": {
"choice": "Looking to view data",
Expand Down Expand Up @@ -176,7 +186,7 @@
"scouting": {
"match": "Match scouting",
"pit": "Pit scouting",
"supermatch": "Super scout match {n}",
"supermatch": "Super scout this match",
"superpit": "Super scout",
"supermatchnotes": "Super scout match notes:",
"supernotes": "Super scout notes for team {team}:",
Expand Down Expand Up @@ -231,6 +241,8 @@
"pitScoutingPartner": "Partner's pit scouting assignments",
"upcomingMatches": "Upcoming matches to be scouted",
"matchNumber": "Match {number}",
"sfNumber": "Semifinal {number}",
"fNumber": "Final {number}",
"matchResultMissedWarning": "WARNING: A match result may have been missed!",
"matchResultMissedAdmin": "Click here, check FIRST match data and update any missing matches.",
"matchResultMissedNotAdmin": "Ask a team admin to check FIRST match data and update any missing matches.",
Expand All @@ -257,6 +269,7 @@
"chooseTeam": "[Choose a team]",
"viewOr": "or",
"allTeams": "All teams",
"otherTeams": "Other teams",
"selectedTeam": "Selected team",
"nextMatch": "Next match:",
"nextMatchTeam": "Next match for team {team}:",
Expand All @@ -270,6 +283,7 @@
"title": "Alliance selection",
"intro": "Tap a team, then tap the empty slot [2] or [3] to move them up.\nAs teams are selected for alliances, they will gray out in the table below.",
"preferred": "Before alliance selection, you and your team lead(s) can mark your preferred teams on <a class=\"link\" href=\"/manage/allianceselection\" target=\"_blank\">this page</a>.",
"tapForPopup": "Tap a team number to view that team's intel, including scouter notes.",
"undo": "Undo",
"allianceNumber": "Alliance {number}",
"showData": "Show team data",
Expand All @@ -284,7 +298,9 @@
"team": "Team",
"rank": "FRC Rank",
"numAlliances": "Number of alliances:",
"numRounds": "Number of rounds:"
"numRounds": "Number of rounds:",
"tooltipPicklist": "Each FRC team in an organization has their own picklist. Pick which team's picklist to view.",
"choosePicklist": "View picklist for..."
},
"metrics": {
"raw": "Raw data",
Expand Down Expand Up @@ -339,6 +355,7 @@
"allTeams": "all teams",
"allianceStats": "Alliance team statistics",
"allTeamMetrics": "All team metrics",
"browsePastEvents": "Browse data from past events",
"completedMatches": "Completed matches",
"upcomingMatches": "Upcoming matches",
"upcomingMatchesTeam": "Upcoming matches for {team}",
Expand Down Expand Up @@ -433,9 +450,12 @@
"editMatchResults": "Edit match results",
"editMatchSchedule": "Edit match schedule",
"editTeams": "Edit team list",
"editRankings": "Adjust rankings",
"editRankingsInstructions": "Click on the minus/plus to change rankings; refresh page to resort",
"eventData": "Event data: [[{event}]]",
"getCurrentTeams": "Update list of teams",
"invalidEventKey": "Invalid event key: '{eventKey}'. Click on an event in the list to set it automatically.",
"manual": "Manual data entry",
"matches": "Matches (FIRST data)",
"noEvent": "No event has been set",
"recalcDerived": "Recalculate derived metrics",
Expand Down Expand Up @@ -478,9 +498,21 @@
"permanentDeleteWarning": "By proceeding, you will be *permanently deleting* the data from *{number}* {type} scouting assignments from _{eventName}_. Are you sure you want to continue?",
"scoutingGroups": "Scouting groups",
"skipBreaks": "Check this box to generate assignments ignoring breaks in the schedule",
"scoutPlayoffs": "Check this box to generate assignments for playoff matches as well",
"submitNewGroup": "Submit selected members as a new scouting group",
"swapMatchAssignments": "Swap in/out match scouts",
"swapPitAssignments": "Swap teams between pit scout groups"
},
"config": {
"title": "Configure {org}",
"tooltipSubteamKey": "Write a unique identifier for each subteam. After you create a subteam, the label can change but the key should not change.",
"tooltipClassKey": "Write a unique identifier for each class. After you create a class, the label can change but the key should not change.",
"tooltipTeams": "Place the number of all FRC teams associated with this organization, separated by a comma. There can be multiple if your organization is a scouting collective, or if your team is pooling scouters with another FRC team.",
"invalidTeams": "Could not find a team with the number \"{number}\". Please enter a comma-separated list of FRC team numbers.",
"updatedSuccessfully": "Updated successfully.",
"updatedButFixSubteams": "Org config has updated, but one or more users will need to be updated due to subteam / class keys changing.\n- *Go through the list of users and make sure everyone has a subteam and class.\n- Click 'Update' for each user that has been updated.*",
"id": "ID",
"teams": "Team(s)"
}
},
"date": "Date",
Expand All @@ -495,5 +527,6 @@
"add": "Add",
"class": "Class",
"subteam": "Subteam",
"update": "Update"
"update": "Update",
"year": "Year"
}
5 changes: 4 additions & 1 deletion primary/locales/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,10 @@
"first": "En savoir plus sur *FIRST* et FRC"
},
"view": "Afficher",
"login": "Connexion"
"login": "Connexion",
"browse": {
"link": "Ou cliquez ici pour chercher des données par évènement"
}
},
"hello": {
"world": "Bonjour le monde!",
Expand Down
54 changes: 32 additions & 22 deletions primary/locales/zh-hans.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"partner": "申请成为抢先体验合作伙伴",
"first": "有关 *FIRST* 和 FRC 的更多信息"
},
"view": "看法",
"view": "浏览",
"login": "登录"
},
"hello": {
Expand All @@ -40,7 +40,7 @@
"report": {
"intro": "为了帮助我们修复此错误,请:",
"screenshot": "截取此错误消息的屏幕截图,",
"url": "单击页面顶部的“共享”,复制此页面的完整 URL,",
"url": "单击页面顶部的“共享”,复制此页面的完整链接(URL",
"send": "将屏幕截图发布到我们的 Discord 服务器或我们的 {github}GitHub 页面{/github},包括相关信息,例如您点击了导致此错误的链接。"
},
"stack": "堆栈跟踪:"
Expand All @@ -58,15 +58,15 @@
"frc": "我们很自豪能成为 FIRST 机器人竞赛的参与者。"
},
"nav": {
"home": "",
"home": "主页",
"reports": {
"main": "信息和报告:[[{event}]]",
"teams": "团队",
"teamList": "{number}: {name}",
"teamStats": "球队数据",
"yearStats": "{year}的完整统计数据",
"export": {
"main": "导出为 CSV",
"main": "导出数据",
"match": "匹配球探数据:[[{event}]]",
"pit": "场地侦察数据:[[{event}]]",
"matchAll": "匹配球探数据:[[所有 {year}]]",
Expand All @@ -78,29 +78,30 @@
"main": "管理:[[{org}]]",
"members": {
"main": "成员",
"list": "会员名单",
"passwords": "审核/重置会员密码"
"list": "成员名单",
"passwords": "审核/重置队员密码"
},
"scouters": {
"main": "童子军",
"main": "侦查员",
"event": "童子军:[[{event}]]",
"audit": "侦察审核",
"present": "设置礼物"
"present": "设定参与此活动的人员"
}
},
"admin": "行政",
"admin": "管理员",
"user": {
"main": "用户:[[{user}]]",
"fallback": "用户",
"login": "登录:[[{org}]]",
"logout": "登出",
"switchorg": "改变组织"
},
"help": "需要帮忙?检查我们的维基!"
"help": "需要帮忙?检查我们的维基!",
"thanks": "特别鸣谢"
}
},
"home": {
"title": "",
"title": "主页",
"menu": "点击左上角的{menu}打开菜单",
"tournamentInfo": "赛事信息",
"teamInfo": "团队信息",
Expand All @@ -110,7 +111,9 @@
"scoutingDashboard": "侦察仪表板",
"management": "管理",
"admin": "行政",
"specifyTeam": "您必须指定一个团队。"
"specifyTeam": "您必须指定一个团队。",
"formDemos": "表格预览",
"matchFormDemo": "赛事表格"
},
"share": {
"changeOrg": "您正在查看 {org}。\n要更改您希望查看的组织,请单击菜单中的 *Org: {org}* 并选择 *Change Organization*。"
Expand All @@ -119,10 +122,10 @@
"loginOrg": "登录 {org}",
"orgpassword": "机构密码:",
"next": "下一个",
"name": "名称",
"name": "姓名",
"personalpassword": "个人密码:",
"createnew": "请创建一个新密码。",
"mustcreate": "您在您的组织中拥有提升的权限,因此您必须设置密码以确保其他人无法以您的身份登录。",
"mustcreate": "您在您的组织中拥有更高的的权限,因此您必须设置密码以确保其他人无法以您的身份登录。",
"currentpassword": "当前密码:",
"newpassword": "新密码:",
"newpassword2": "确认:",
Expand All @@ -131,8 +134,8 @@
"changepassword": "更改密码",
"blankpassword": "如果您还没有自己的密码,请留空。",
"selectorg": "请选择要登录的组织。",
"logoutbeforelogin": "请先注销,然后才能登录其他用户。",
"orgpasswordrequired": "请输入您所在组织的密码。要返回,请打开左上角的导航",
"logoutbeforelogin": "在以其他用户的身份登录前请先登出当前账号",
"orgpasswordrequired": "请输入您所在组织的密码。若想返回,请打开左上角的导航键",
"orgpasswordincorrect": "组织 {org} 的密码不正确。",
"resubmitlogin": "抱歉,请重新提交您的组织登录信息。",
"selectuser": "请选择一个用户。",
Expand Down Expand Up @@ -166,17 +169,17 @@
"small": "上传小#{n}",
"preprocess": "预处理照片以节省移动数据?"
},
"matchHeading": "比赛#{match},球队#{team}",
"matchHeading": "比赛#{match},团队#{team}",
"dynamicScrolling": "启用动态滚动",
"submit": "提交",
"orgManagerActions": "组织经理行动",
"orgManagerActions": "组织管理人行动",
"clearData": "清除数据",
"clearDataConfirm": "如果您*确定*想要*永久删除*本场比赛的球探数据,请在下方输入您的密码。",
"invalidMatchKey": "无效的匹配键集。",
"invalidTeam": "团队 {team} 不存在。",
"invalidTeamKey": "团队密钥未定义或无效。",
"noDataSubmit": "没有数据发送到 {url}。",
"submitSuccess": "提交数据成功",
"submitSuccess": "成功提交数据",
"deleteSuccess": "删除数据成功。如果您希望在屏幕上重新提交数据,您将不会被重定向离开该页面。"
},
"notifications": {
Expand All @@ -192,14 +195,14 @@
"dbSaveFailed": "已收到订阅,但我们无法将其保存到我们的数据库中。",
"testPageTitle": "通知测试页面",
"invalidKey": "没有匹配 & 匹配团队密钥",
"invalidMatch": "未找到匹配项",
"invalidMatch": "未找到比赛",
"content": {
"title": "{match} 即将开始",
"body": "您被分配到 {alliance} 联盟的团队 {team}。",
"ifFocused": "别忘了,{match} 即将开始!"
},
"actions": {
"scout": "球探比赛"
"scout": "比赛侦察"
}
},
"dashboard": {
Expand Down Expand Up @@ -414,5 +417,12 @@
"tryAgainLater": "请稍后再试。",
"yes": "是的",
"no": "",
"matches": "火柴"
"matches": "火柴",
"name": "姓名",
"year": "年份",
"thankyou": {
"2023offseason": "2023非赛季",
"2023inseason": "2023赛季"
},
"update": "更新"
}
12 changes: 4 additions & 8 deletions primary/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,15 @@
"---readme---": "Use the win-X scripts if you're using Windows. Always upload to test or QA first, then extensively test before promoting to prod.",
"archive": "node ../scripts/uploadversion.js --archive --folder $npm_package_config_folder",
"win-archive": "node ../scripts/uploadversion.js --archive --folder %npm_package_config_folder%",
"win-sync-test": "aws s3 sync %npm_package_config_publicFolderName% s3://%npm_package_config_publicS3BucketName%/test --acl public-read",
"win-sync-qa": "aws s3 sync %npm_package_config_publicFolderName% s3://%npm_package_config_publicS3BucketName%/qa --acl public-read",
"win-sync-prod": "aws s3 sync %npm_package_config_publicFolderName% s3://%npm_package_config_publicS3BucketName%/prod --acl public-read",
"win-sync-all": "yarn run win-sync-test && yarn run win-sync-qa && yarn run win-sync-prod",
"win-upload-test": "node ../scripts/uploadversion.js --alias test --folder %npm_package_config_folder% --function-name %npm_package_config_functionFullName%",
"win-upload-qa": "node ../scripts/uploadversion.js --alias qa --folder %npm_package_config_folder% --function-name %npm_package_config_functionFullName%",
"win-promote-test-qa": "node ../scripts/promoteversion.js --promote-from test --promote-to qa --function-name %npm_package_config_functionFullName%",
"win-promote-qa-prod": "node ../scripts/promoteversion.js --promote-from qa --promote-to prod --function-name %npm_package_config_functionFullName%",
"win-rollback-prod": "node ../scripts/rollbackversion.js --function-name %npm_package_config_functionFullName%",
"sync-test": "aws s3 sync $npm_package_config_publicFolderName s3://$npm_package_config_publicS3BucketName/test --acl public-read",
"sync-qa": "aws s3 sync $npm_package_config_publicFolderName s3://$npm_package_config_publicS3BucketName/qa --acl public-read",
"sync-prod": "aws s3 sync $npm_package_config_publicFolderName s3://$npm_package_config_publicS3BucketName/prod --acl public-read",
"sync-all": "yarn run sync-test && yarn run sync-qa && yarn run sync-prod",
"sync-test": "bun ../scripts/s3sync.ts --tier test --folder public",
"sync-qa": "bun ../scripts/s3sync.ts --tier qa --folder public",
"sync-prod": "bun ../scripts/s3sync.ts --tier prod --folder public",
"sync-all": "bun run sync-test && yarn run sync-qa && yarn run sync-prod",
"upload-test": "node ../scripts/uploadversion.js --alias test --folder $npm_package_config_folder --function-name $npm_package_config_functionFullName",
"upload-qa": "node ../scripts/uploadversion.js --alias qa --folder $npm_package_config_folder --function-name $npm_package_config_functionFullName",
"promote-test-qa": "node ../scripts/promoteversion.js --promote-from test --promote-to qa --function-name $npm_package_config_functionFullName",
Expand Down
Loading

0 comments on commit 7642ce3

Please sign in to comment.