瀏覽代碼

Fix check for if the language key exists

Abuses the fact that referencing something that appears as an object in the language definition is also returned as object here.
NeunEinser 4 年之前
父節點
當前提交
c874d8e968
共有 1 個文件被更改,包括 4 次插入3 次删除
  1. 4 3
      cmds/minecraft/bug.js

+ 4 - 3
cmds/minecraft/bug.js

@@ -53,16 +53,17 @@ function minecraft_bug(lang, msg, args, title, cmd, querystring, fragment, react
 							var ward = ( link.outwardIssue ? 'outward' : 'inward' );
 							var ward = ( link.outwardIssue ? 'outward' : 'inward' );
 							var issue = link[ward + 'Issue']; // looks for property (in|out)wardIssue
 							var issue = link[ward + 'Issue']; // looks for property (in|out)wardIssue
 							var linkType = link.type[ward];
 							var linkType = link.type[ward];
-							var name = lang.get('minecraft.issue_link.' + linkType.toLowerCase().replace(' ', '_').replace(/[^a-z]/g, ''), issue.key) || linkType + ' ' + issue.key;
+							var linkTypeLanguageKey = linkType.toLowerCase().replace(' ', '_').replace(/[^a-z]/g, '');
+							var name = lang.get('minecraft.issue_link')[linkTypeLanguageKey] ? lang.get('minecraft.issue_link.' + linkTypeLanguageKey, issue.key) : linkType + ' ' + issue.key;
 							var status = issue.fields.status.name;
 							var status = issue.fields.status.name;
-							var value = lang.get('minecraft.status.' + status.toLowerCase().replace(' ', '_').replace(/[^a-z]/g, '')) || status + ': [' + issue.fields.summary.escapeFormatting() + '](' + baseBrowseUrl + issue.key + ')';
+							var value = lang.get('minecraft.status')[status.toLowerCase().replace(' ', '_').replace(/[^a-z]/g, '')] || status + ': [' + issue.fields.summary.escapeFormatting() + '](' + baseBrowseUrl + issue.key + ')';
 							if ( embed.fields.length < 25 ) embed.addField( name, value );
 							if ( embed.fields.length < 25 ) embed.addField( name, value );
 							else extralinks.push({name,value,inline:false});
 							else extralinks.push({name,value,inline:false});
 						} );
 						} );
 						if ( extralinks.length ) embed.setFooter( lang.get('minecraft.more', extralinks.length.toLocaleString(lang.get('dateformat')), extralinks.length) );
 						if ( extralinks.length ) embed.setFooter( lang.get('minecraft.more', extralinks.length.toLocaleString(lang.get('dateformat')), extralinks.length) );
 					}
 					}
 					var status = '**' + ( body.fields.resolution ? body.fields.resolution.name : body.fields.status.name ) + ':** ';
 					var status = '**' + ( body.fields.resolution ? body.fields.resolution.name : body.fields.status.name ) + ':** ';
-					var translatedStatus = lang.get('minecraft.status.' + status.toLowerCase().replace(' ', '_').replace(/[^a-z]/g, '')) || status;
+					var translatedStatus = lang.get('minecraft.status')[status.toLowerCase().replace(' ', '_').replace(/[^a-z]/g, '')] || status;
 					var fixed = '';
 					var fixed = '';
 					if ( body.fields.resolution && body.fields.fixVersions && body.fields.fixVersions.length ) {
 					if ( body.fields.resolution && body.fields.fixVersions && body.fields.fixVersions.length ) {
 						fixed = '\n' + lang.get('minecraft.fixed') + ' ' + body.fields.fixVersions.map( v => v.name ).join(', ');
 						fixed = '\n' + lang.get('minecraft.fixed') + ' ' + body.fields.fixVersions.map( v => v.name ).join(', ');