This commit is contained in:
bakhirev 2024-07-14 15:02:43 +03:00
parent ae83ea57ee
commit aaad381371
26 changed files with 137 additions and 84 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -21,6 +21,7 @@ export default class FileBuilderLineStat {
static updateProps(file: IDirtyFile, fileChange: IFileChange, commit: ICommit) { static updateProps(file: IDirtyFile, fileChange: IFileChange, commit: ICommit) {
file.lines += fileChange.addedLines; file.lines += fileChange.addedLines;
file.lines -= fileChange.removedLines; file.lines -= fileChange.removedLines;
file.addedLines += fileChange.addedLines; file.addedLines += fileChange.addedLines;
file.removedLines += fileChange.removedLines; file.removedLines += fileChange.removedLines;
file.changedLines += fileChange.changedLines; file.changedLines += fileChange.changedLines;
@ -42,11 +43,5 @@ export default class FileBuilderLineStat {
file.addedByAuthorInPercent = getValuesInPercent(file.addedLinesByAuthor, file.addedLines); file.addedByAuthorInPercent = getValuesInPercent(file.addedLinesByAuthor, file.addedLines);
file.removedByAuthorInPercent = getValuesInPercent(file.removedLinesByAuthor, file.removedLines); file.removedByAuthorInPercent = getValuesInPercent(file.removedLinesByAuthor, file.removedLines);
file.changedByAuthorInPercent = getValuesInPercent(file.changedLinesByAuthor, file.changedLines); file.changedByAuthorInPercent = getValuesInPercent(file.changedLinesByAuthor, file.changedLines);
file.addedRemovedChangedInPercent = getValuesInPercent({
added: file.addedLines,
removed: file.removedLines,
changed: file.changedLines,
}, file.addedLines + file.removedLines + file.changedLines);
} }
} }

View file

@ -57,6 +57,7 @@ export default class FileGripByPaths {
} }
#removeFile(file: any) { #removeFile(file: any) {
file.action = 'D';
this.refRemovedFileIds[file.id] = this.refFileIds[file.id]; this.refRemovedFileIds[file.id] = this.refFileIds[file.id];
this.refRemovedFileIds[file.id].action = 'D'; this.refRemovedFileIds[file.id].action = 'D';
delete this.refFileIds[file.id]; delete this.refFileIds[file.id];

View file

@ -24,7 +24,6 @@ function getFolder(name?: string, path?: string[], file?: IDirtyFile): IFolder {
addedByAuthorInPercent: {}, addedByAuthorInPercent: {},
removedByAuthorInPercent: {}, removedByAuthorInPercent: {},
changedByAuthorInPercent: {}, changedByAuthorInPercent: {},
addedRemovedChangedInPercent: {},
firstCommit: file?.firstCommit || null, firstCommit: file?.firstCommit || null,
lastCommit: file?.firstCommit || null, lastCommit: file?.firstCommit || null,
@ -93,12 +92,6 @@ export default class FileGripByFolder {
folder.removedByAuthorInPercent = getValuesInPercent(folder.removedLinesByAuthor, folder.removedLines); folder.removedByAuthorInPercent = getValuesInPercent(folder.removedLinesByAuthor, folder.removedLines);
folder.changedByAuthorInPercent = getValuesInPercent(folder.changedLinesByAuthor, folder.changedLines); folder.changedByAuthorInPercent = getValuesInPercent(folder.changedLinesByAuthor, folder.changedLines);
folder.addedRemovedChangedInPercent = getValuesInPercent({
added: folder.addedLines,
removed: folder.removedLines,
changed: folder.changedLines,
}, folder.addedLines + folder.removedLines + folder.changedLines);
const author = folder.firstCommit?.author || ''; const author = folder.firstCommit?.author || '';
if (!this.addedFoldersByAuthor[author]) this.addedFoldersByAuthor[author] = []; if (!this.addedFoldersByAuthor[author]) this.addedFoldersByAuthor[author] = [];

View file

@ -1,53 +1,68 @@
import localization from './Localization'; import { t } from './Localization';
enum TYPE {
FRONT = 'Front',
IOS = 'IOS',
ANDROID = 'Android',
BACK = 'Back',
CONFIG = 'Config',
DESIGN = 'Design',
}
const REF_EXTENSION_TYPE = {
js: TYPE.FRONT,
ts: TYPE.FRONT,
tsx: TYPE.FRONT,
vue: TYPE.FRONT,
css: TYPE.FRONT,
less: TYPE.FRONT,
scss: TYPE.FRONT,
cjs: TYPE.FRONT,
html: TYPE.FRONT,
jsp: TYPE.FRONT,
swift: TYPE.IOS,
kt: TYPE.ANDROID,
java: TYPE.ANDROID,
php: TYPE.BACK,
perl: TYPE.BACK,
py: TYPE.BACK,
rb: TYPE.BACK,
c: TYPE.BACK,
h: TYPE.BACK,
xml: TYPE.CONFIG,
json: TYPE.CONFIG,
yml: TYPE.CONFIG,
csv: TYPE.DESIGN,
png: TYPE.DESIGN,
jpg: TYPE.DESIGN,
jpeg: TYPE.DESIGN,
gif: TYPE.DESIGN,
webp: TYPE.DESIGN,
};
function getFormattedType(fileGrip: any): string { function getFormattedType(fileGrip: any): string {
const popularType = fileGrip.extension.statistic?.[0] || {}; const popularType = fileGrip.extension.statistic?.[0] || {};
const extension = popularType?.extension || ''; const extension = popularType?.extension || '';
const type = REF_EXTENSION_TYPE[extension];
if ([ if (type === TYPE.ANDROID) {
'js',
'ts',
'tsx',
'vue',
'css',
'less',
'scss',
'cjs',
'html',
].includes(extension)) {
return 'Front';
}
if ([
'swift',
].includes(extension)) {
return 'IOS';
}
if ([
'kt',
'php',
'perl',
'java',
].includes(extension)) {
const hasManifest = fileGrip.extension.statisticByName?.xml?.files?.AndroidManifest; const hasManifest = fileGrip.extension.statisticByName?.xml?.files?.AndroidManifest;
return hasManifest return hasManifest
? 'Android' ? TYPE.ANDROID
: 'Back'; : TYPE.BACK;
} }
if ([ return type || extension.toUpperCase();
'xml',
].includes(extension)) {
return 'Config';
}
return extension.toUpperCase();
} }
export default function getTitle(dataGrip: any, fileGrip: any, commits: any) { export default function getTitle(dataGrip: any, fileGrip: any, commits: any) {
if (!commits.length) { if (!commits.length) {
return localization.get('common.title'); return t('common.title');
} }
const type = getFormattedType(fileGrip) || ''; const type = getFormattedType(fileGrip) || '';

View file

@ -3,4 +3,4 @@ const userAgent: string = navigator.userAgent || navigator.vendor || window.oper
const isMobile = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(userAgent) const isMobile = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(userAgent)
|| /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(userAgent.substr(0, 4)); || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(userAgent.substr(0, 4));
export default false || isMobile || window.innerWidth < 700; export default isMobile || window.innerWidth < 700;

View file

@ -1,5 +1,5 @@
export function getRandom(max: number): number { export function getRandom(max: number): number {
return Math.floor(Math.random() * (max - 0 + 1)) + 0; return Math.floor(Math.random() * (max + 1));
} }
export function shuffle(items: any[]): any[] { export function shuffle(items: any[]): any[] {

View file

@ -15,7 +15,6 @@ interface IFileStat {
addedByAuthorInPercent: IHashMap<number>; addedByAuthorInPercent: IHashMap<number>;
removedByAuthorInPercent: IHashMap<number>; removedByAuthorInPercent: IHashMap<number>;
changedByAuthorInPercent: IHashMap<number>; changedByAuthorInPercent: IHashMap<number>;
addedRemovedChangedInPercent: IHashMap<number>;
firstCommit: ICommit | ISystemCommit | null, firstCommit: ICommit | ISystemCommit | null,
lastCommit: ICommit | ISystemCommit | null, lastCommit: ICommit | ISystemCommit | null,

View file

@ -84,6 +84,13 @@ function AuthorView({ response, updateSort, rowsForExcel, mode }: IAuthorViewPro
width={130} width={130}
formatter={(commit: ICommit) => getDate(commit.timestamp)} formatter={(commit: ICommit) => getDate(commit.timestamp)}
/> />
<Column
template={ColumnTypesEnum.STRING}
properties="lastCommit"
title="page.team.author.lastCommit"
width={130}
formatter={(commit: ICommit) => getDate(commit.timestamp)}
/>
<Column <Column
template={ColumnTypesEnum.SHORT_NUMBER} template={ColumnTypesEnum.SHORT_NUMBER}
title="page.team.author.daysAll" title="page.team.author.daysAll"

View file

@ -25,9 +25,9 @@ function View({ response }: IViewProps) {
const fileSizeChart = getOptions({ max: getMax(response, 'lines'), suffix: 'page.team.tree.line' }); const fileSizeChart = getOptions({ max: getMax(response, 'lines'), suffix: 'page.team.tree.line' });
const addedLinesChart = getOptions({ order: dataGripStore.dataGrip.author.list, suffix: 'page.team.tree.line' }); const addedLinesChart = getOptions({ order: dataGripStore.dataGrip.author.list, suffix: 'page.team.tree.line' });
const addedRemovedChangedChart = getOptions({ order: [ const addedRemovedChangedChart = getOptions({ order: [
'page.team.tree.lineAdd', 'page.team.tree.linesAdded',
'page.team.tree.lineChange', 'page.team.tree.linesChanged',
'page.team.tree.lineRemove', 'page.team.tree.linesRemoved',
], suffix: 'page.team.tree.line' }); ], suffix: 'page.team.tree.line' });
return ( return (
@ -36,6 +36,7 @@ function View({ response }: IViewProps) {
disabledRow={(row: any) => { disabledRow={(row: any) => {
if (row?.title === '..') return false; if (row?.title === '..') return false;
else return true; else return true;
// TODO: not work
const limit = treeStore.minCommits || 0; const limit = treeStore.minCommits || 0;
const name = dataGripStore.dataGrip.author.list[treeStore.authorId || ''] || ''; const name = dataGripStore.dataGrip.author.list[treeStore.authorId || ''] || '';
const author = row.file?.authors[name]; const author = row.file?.authors[name];
@ -105,9 +106,9 @@ function View({ response }: IViewProps) {
value={100} value={100}
options={addedRemovedChangedChart} options={addedRemovedChangedChart}
details={{ details={{
'page.team.tree.lineAdd': file?.addedRemovedChangedInPercent?.added || 0, 'page.team.tree.linesAdded': file?.addedLines || 0,
'page.team.tree.lineRemove': file?.addedRemovedChangedInPercent?.removed || 0, 'page.team.tree.linesRemoved': file?.removedLines || 0,
'page.team.tree.lineChange': file?.addedRemovedChangedInPercent?.changed || 0, 'page.team.tree.linesChanged': file?.changedLines || 0,
}} }}
/> />
)} )}

View file

@ -90,7 +90,7 @@ function AllPR({
/> />
<Column <Column
isSortable isSortable
title="page.team.pr.workDays" title="page.team.pr.all.workDays"
properties="workDays" properties="workDays"
minWidth={100} minWidth={100}
template={(value: any) => ( template={(value: any) => (
@ -124,7 +124,7 @@ function AllPR({
/> />
<Column <Column
isSortable isSortable
title="page.team.pr.delayDays" title="page.team.pr.all.delayDays"
properties="delayDays" properties="delayDays"
minWidth={200} minWidth={200}
template={(value: any) => ( template={(value: any) => (

View file

@ -82,6 +82,7 @@ function ReleaseView({ response, updateSort, rowsForExcel, mode }: IReleaseViewP
/> />
<Column <Column
template={ColumnTypesEnum.SHORT_NUMBER} template={ColumnTypesEnum.SHORT_NUMBER}
title="page.team.release.prLength"
properties="prLength" properties="prLength"
/> />
<Column <Column

View file

@ -25,6 +25,7 @@ export default `
§ page.team.author.description2: *Default sorting* is by the number of tasks and groups (current, fired, assisting employees). § page.team.author.description2: *Default sorting* is by the number of tasks and groups (current, fired, assisting employees).
§ page.team.author.status: Status § page.team.author.status: Status
§ page.team.author.firstCommit: First commit § page.team.author.firstCommit: First commit
§ page.team.author.lastCommit: Last
§ page.team.author.daysAll: Total days § page.team.author.daysAll: Total days
§ page.team.author.types: Types of work § page.team.author.types: Types of work
§ page.team.author.commits: Commits § page.team.author.commits: Commits
@ -103,8 +104,9 @@ export default `
§ page.team.tree.change: Who changed § page.team.tree.change: Who changed
§ page.team.tree.remove: Who removed § page.team.tree.remove: Who removed
§ page.team.tree.line: lines § page.team.tree.line: lines
§ page.team.tree.lineAdd: added § page.team.tree.linesAdded: added
§ page.team.tree.lineRemove: changed § page.team.tree.linesChanged: changed
§ page.team.tree.linesRemoved: removed
§ page.team.week.title: Weekly statistics § page.team.week.title: Weekly statistics
§ page.team.week.date: Date § page.team.week.date: Date
§ page.team.week.numberTasks: Number of tasks § page.team.week.numberTasks: Number of tasks
@ -159,6 +161,7 @@ export default `
§ page.team.release.title: Release § page.team.release.title: Release
§ page.team.release.from: Created date § page.team.release.from: Created date
§ page.team.release.to: Delivery date § page.team.release.to: Delivery date
§ page.team.release.prLength: Tasks
§ page.team.release.delay: Preparation days § page.team.release.delay: Preparation days
§ page.team.release.waiting: Days of waiting for next release § page.team.release.waiting: Days of waiting for next release
§ page.person.print.photo.title: Photo § page.person.print.photo.title: Photo

View file

@ -25,6 +25,7 @@ export default `
§ page.team.author.description2: *Default sorting* is by the number of tasks and groups (current, fired, assisting employees). § page.team.author.description2: *Default sorting* is by the number of tasks and groups (current, fired, assisting employees).
§ page.team.author.status: Status § page.team.author.status: Status
§ page.team.author.firstCommit: First commit § page.team.author.firstCommit: First commit
§ page.team.author.lastCommit: Last
§ page.team.author.daysAll: Total days § page.team.author.daysAll: Total days
§ page.team.author.types: Types of work § page.team.author.types: Types of work
§ page.team.author.commits: Commits § page.team.author.commits: Commits
@ -103,8 +104,9 @@ export default `
§ page.team.tree.change: Who changed § page.team.tree.change: Who changed
§ page.team.tree.remove: Who removed § page.team.tree.remove: Who removed
§ page.team.tree.line: lines § page.team.tree.line: lines
§ page.team.tree.lineAdd: added § page.team.tree.linesAdded: added
§ page.team.tree.lineRemove: changed § page.team.tree.linesChanged: changed
§ page.team.tree.linesRemoved: removed
§ page.team.week.title: Weekly statistics § page.team.week.title: Weekly statistics
§ page.team.week.date: Date § page.team.week.date: Date
§ page.team.week.numberTasks: Number of tasks § page.team.week.numberTasks: Number of tasks
@ -125,6 +127,8 @@ export default `
§ page.team.pr.lastCommitTime: Last § page.team.pr.lastCommitTime: Last
§ page.team.pr.workDays: Average time spent working on a task § page.team.pr.workDays: Average time spent working on a task
§ page.team.pr.delayDays: Average time of the PR review § page.team.pr.delayDays: Average time of the PR review
§ page.team.pr.all.workDays: Time spent working on a task
§ page.team.pr.all.delayDays: Time of the PR review
§ page.team.pr.middleTimeRelease: The ratio of development time to review time § page.team.pr.middleTimeRelease: The ratio of development time to review time
§ page.team.pr.commits: Commits § page.team.pr.commits: Commits
§ page.team.pr.date: Merge Date § page.team.pr.date: Merge Date
@ -159,6 +163,7 @@ export default `
§ page.team.release.title: Release § page.team.release.title: Release
§ page.team.release.from: Created date § page.team.release.from: Created date
§ page.team.release.to: Delivery date § page.team.release.to: Delivery date
§ page.team.release.prLength: Tasks
§ page.team.release.delay: Preparation days § page.team.release.delay: Preparation days
§ page.team.release.waiting: Days of waiting for next release § page.team.release.waiting: Days of waiting for next release
§ page.person.print.photo.title: Photo § page.person.print.photo.title: Photo

View file

@ -25,6 +25,7 @@ export default `
§ page.team.author.description2: La clasificación predeterminada es la clasificación por número de tareas y grupos(empleados actuales, despedidos, ayudantes). § page.team.author.description2: La clasificación predeterminada es la clasificación por número de tareas y grupos(empleados actuales, despedidos, ayudantes).
§ page.team.author.status: Status § page.team.author.status: Status
§ page.team.author.firstCommit: First commit § page.team.author.firstCommit: First commit
§ page.team.author.lastCommit: Last
§ page.team.author.daysAll: Total days § page.team.author.daysAll: Total days
§ page.team.author.types: Tipo de trabajo § page.team.author.types: Tipo de trabajo
§ page.team.author.commits: Commits § page.team.author.commits: Commits
@ -103,8 +104,9 @@ export default `
§ page.team.tree.change: Quien cambió § page.team.tree.change: Quien cambió
§ page.team.tree.remove: Quién borró § page.team.tree.remove: Quién borró
§ page.team.tree.line: filas § page.team.tree.line: filas
§ page.team.tree.lineAdd: agregaron § page.team.tree.linesAdded: agregaron
§ page.team.tree.lineRemove: cambiaron § page.team.tree.linesChanged: changed
§ page.team.tree.linesRemoved: cambiaron
§ page.team.week.title: Estadísticas semanales § page.team.week.title: Estadísticas semanales
§ page.team.week.date: Fecha § page.team.week.date: Fecha
§ page.team.week.numberTasks: Número de tareas § page.team.week.numberTasks: Número de tareas
@ -125,6 +127,8 @@ export default `
§ page.team.pr.lastCommitTime: Last § page.team.pr.lastCommitTime: Last
§ page.team.pr.workDays: Average time spent working on a task § page.team.pr.workDays: Average time spent working on a task
§ page.team.pr.delayDays: Average time of the PR review § page.team.pr.delayDays: Average time of the PR review
§ page.team.pr.all.workDays: Time spent working on a task
§ page.team.pr.all.delayDays: Time of the PR review
§ page.team.pr.middleTimeRelease: The ratio of development time to review time § page.team.pr.middleTimeRelease: The ratio of development time to review time
§ page.team.pr.commits: commits § page.team.pr.commits: commits
§ page.team.pr.date: Date of injection § page.team.pr.date: Date of injection
@ -159,6 +163,7 @@ export default `
§ page.team.release.title: Release § page.team.release.title: Release
§ page.team.release.from: Created date § page.team.release.from: Created date
§ page.team.release.to: Delivery date § page.team.release.to: Delivery date
§ page.team.release.prLength: Tasks
§ page.team.release.delay: Preparation days § page.team.release.delay: Preparation days
§ page.team.release.waiting: Days of waiting for next release § page.team.release.waiting: Days of waiting for next release
§ page.person.print.photo.title: Photo § page.person.print.photo.title: Photo

View file

@ -25,6 +25,7 @@ export default `
§ page.team.author.description2: Le tri par défaut est le tri par nombre de tâches et de groupes (employés actuels, licenciés et aidants). § page.team.author.description2: Le tri par défaut est le tri par nombre de tâches et de groupes (employés actuels, licenciés et aidants).
§ page.team.author.status: Status § page.team.author.status: Status
§ page.team.author.firstCommit: First commit § page.team.author.firstCommit: First commit
§ page.team.author.lastCommit: Last
§ page.team.author.daysAll: Total days § page.team.author.daysAll: Total days
§ page.team.author.types: Type de travaux § page.team.author.types: Type de travaux
§ page.team.author.commits: Commits § page.team.author.commits: Commits
@ -103,8 +104,9 @@ export default `
§ page.team.tree.change: Qui a changé § page.team.tree.change: Qui a changé
§ page.team.tree.remove: Qui a supprimé § page.team.tree.remove: Qui a supprimé
§ page.team.tree.line: lignes § page.team.tree.line: lignes
§ page.team.tree.lineAdd: ajoutâtes § page.team.tree.linesAdded: ajoutâtes
§ page.team.tree.lineRemove: modifiâtes § page.team.tree.linesChanged: changed
§ page.team.tree.linesRemoved: modifiâtes
§ page.team.week.title: Statistiques par semaine § page.team.week.title: Statistiques par semaine
§ page.team.week.date: Date § page.team.week.date: Date
§ page.team.week.numberTasks: Nombre de tâches § page.team.week.numberTasks: Nombre de tâches
@ -125,6 +127,8 @@ export default `
§ page.team.pr.lastCommitTime: Dernier § page.team.pr.lastCommitTime: Dernier
§ page.team.pr.workDays: Average time spent working on a task § page.team.pr.workDays: Average time spent working on a task
§ page.team.pr.delayDays: Average time of the PR review § page.team.pr.delayDays: Average time of the PR review
§ page.team.pr.all.workDays: Time spent working on a task
§ page.team.pr.all.delayDays: Time of the PR review
§ page.team.pr.middleTimeRelease: The ratio of development time to review time § page.team.pr.middleTimeRelease: The ratio of development time to review time
§ page.team.pr.commits: Commits § page.team.pr.commits: Commits
§ page.team.pr.date: Date de diffusion § page.team.pr.date: Date de diffusion
@ -159,6 +163,7 @@ export default `
§ page.team.release.title: Release § page.team.release.title: Release
§ page.team.release.from: Created date § page.team.release.from: Created date
§ page.team.release.to: Delivery date § page.team.release.to: Delivery date
§ page.team.release.prLength: Tasks
§ page.team.release.delay: Preparation days § page.team.release.delay: Preparation days
§ page.team.release.waiting: Days of waiting for next release § page.team.release.waiting: Days of waiting for next release
§ page.person.print.photo.title: Photo § page.person.print.photo.title: Photo

View file

@ -25,6 +25,7 @@ export default `
§ page.team.author.description2: *Default sorting* is by the number of tasks and groups (current, fired, assisting employees). § page.team.author.description2: *Default sorting* is by the number of tasks and groups (current, fired, assisting employees).
§ page.team.author.status: Status § page.team.author.status: Status
§ page.team.author.firstCommit: First commit § page.team.author.firstCommit: First commit
§ page.team.author.lastCommit: Last
§ page.team.author.daysAll: Total days § page.team.author.daysAll: Total days
§ page.team.author.types: Types of work § page.team.author.types: Types of work
§ page.team.author.commits: Commits § page.team.author.commits: Commits
@ -103,8 +104,9 @@ export default `
§ page.team.tree.change: Who changed § page.team.tree.change: Who changed
§ page.team.tree.remove: Who removed § page.team.tree.remove: Who removed
§ page.team.tree.line: lines § page.team.tree.line: lines
§ page.team.tree.lineAdd: added § page.team.tree.linesAdded: added
§ page.team.tree.lineRemove: changed § page.team.tree.linesChanged: changed
§ page.team.tree.linesRemoved: removed
§ page.team.week.title: Weekly statistics § page.team.week.title: Weekly statistics
§ page.team.week.date: Date § page.team.week.date: Date
§ page.team.week.numberTasks: Number of tasks § page.team.week.numberTasks: Number of tasks
@ -125,6 +127,8 @@ export default `
§ page.team.pr.lastCommitTime: Last § page.team.pr.lastCommitTime: Last
§ page.team.pr.workDays: Average time spent working on a task § page.team.pr.workDays: Average time spent working on a task
§ page.team.pr.delayDays: Average time of the PR review § page.team.pr.delayDays: Average time of the PR review
§ page.team.pr.all.workDays: Time spent working on a task
§ page.team.pr.all.delayDays: Time of the PR review
§ page.team.pr.middleTimeRelease: The ratio of development time to review time § page.team.pr.middleTimeRelease: The ratio of development time to review time
§ page.team.pr.commits: Commits § page.team.pr.commits: Commits
§ page.team.pr.date: Merge Date § page.team.pr.date: Merge Date
@ -159,6 +163,7 @@ export default `
§ page.team.release.title: Release § page.team.release.title: Release
§ page.team.release.from: Created date § page.team.release.from: Created date
§ page.team.release.to: Delivery date § page.team.release.to: Delivery date
§ page.team.release.prLength: Tasks
§ page.team.release.delay: Preparation days § page.team.release.delay: Preparation days
§ page.team.release.waiting: Days of waiting for next release § page.team.release.waiting: Days of waiting for next release
§ page.person.print.photo.title: Photo § page.person.print.photo.title: Photo

View file

@ -25,6 +25,7 @@ export default `
§ page.team.author.description2: *Default sorting* is by the number of tasks and groups (current, fired, assisting employees). § page.team.author.description2: *Default sorting* is by the number of tasks and groups (current, fired, assisting employees).
§ page.team.author.status: Status § page.team.author.status: Status
§ page.team.author.firstCommit: First commit § page.team.author.firstCommit: First commit
§ page.team.author.lastCommit: Last
§ page.team.author.daysAll: Total days § page.team.author.daysAll: Total days
§ page.team.author.types: Types of work § page.team.author.types: Types of work
§ page.team.author.commits: Commits § page.team.author.commits: Commits
@ -103,8 +104,9 @@ export default `
§ page.team.tree.change: Who changed § page.team.tree.change: Who changed
§ page.team.tree.remove: Who removed § page.team.tree.remove: Who removed
§ page.team.tree.line: lines § page.team.tree.line: lines
§ page.team.tree.lineAdd: added § page.team.tree.linesAdded: added
§ page.team.tree.lineRemove: changed § page.team.tree.linesChanged: changed
§ page.team.tree.linesRemoved: removed
§ page.team.week.title: Weekly statistics § page.team.week.title: Weekly statistics
§ page.team.week.date: Date § page.team.week.date: Date
§ page.team.week.numberTasks: Number of tasks § page.team.week.numberTasks: Number of tasks
@ -125,6 +127,8 @@ export default `
§ page.team.pr.lastCommitTime: Last § page.team.pr.lastCommitTime: Last
§ page.team.pr.workDays: Average time spent working on a task § page.team.pr.workDays: Average time spent working on a task
§ page.team.pr.delayDays: Average time of the PR review § page.team.pr.delayDays: Average time of the PR review
§ page.team.pr.all.workDays: Time spent working on a task
§ page.team.pr.all.delayDays: Time of the PR review
§ page.team.pr.middleTimeRelease: The ratio of development time to review time § page.team.pr.middleTimeRelease: The ratio of development time to review time
§ page.team.pr.commits: Commits § page.team.pr.commits: Commits
§ page.team.pr.date: Merge Date § page.team.pr.date: Merge Date
@ -159,6 +163,7 @@ export default `
§ page.team.release.title: Release § page.team.release.title: Release
§ page.team.release.from: Created date § page.team.release.from: Created date
§ page.team.release.to: Delivery date § page.team.release.to: Delivery date
§ page.team.release.prLength: Tasks
§ page.team.release.delay: Preparation days § page.team.release.delay: Preparation days
§ page.team.release.waiting: Days of waiting for next release § page.team.release.waiting: Days of waiting for next release
§ page.person.print.photo.title: Photo § page.person.print.photo.title: Photo

View file

@ -25,6 +25,7 @@ export default `
§ page.team.author.description2: *Сортировка по умолчанию* это сортировка по количеству задач и группам (текущие, уволенные, помогающие сотрудники). § page.team.author.description2: *Сортировка по умолчанию* это сортировка по количеству задач и группам (текущие, уволенные, помогающие сотрудники).
§ page.team.author.status: Статус § page.team.author.status: Статус
§ page.team.author.firstCommit: Первый коммит § page.team.author.firstCommit: Первый коммит
§ page.team.author.lastCommit: Последний
§ page.team.author.daysAll: Всего дней § page.team.author.daysAll: Всего дней
§ page.team.author.types: Тип работ § page.team.author.types: Тип работ
§ page.team.author.commits: Коммитов § page.team.author.commits: Коммитов
@ -103,8 +104,9 @@ export default `
§ page.team.tree.change: Кто менял § page.team.tree.change: Кто менял
§ page.team.tree.remove: Кто удалял § page.team.tree.remove: Кто удалял
§ page.team.tree.line: строк § page.team.tree.line: строк
§ page.team.tree.lineAdd: добавили § page.team.tree.linesAdded: добавили
§ page.team.tree.lineRemove: изменили § page.team.tree.linesChanged: изменили
§ page.team.tree.linesRemoved: удалили
§ page.team.week.title: Статистика по неделям § page.team.week.title: Статистика по неделям
§ page.team.week.date: Дата § page.team.week.date: Дата
§ page.team.week.numberTasks: Количество задач § page.team.week.numberTasks: Количество задач
@ -125,6 +127,8 @@ export default `
§ page.team.pr.lastCommitTime: Последний § page.team.pr.lastCommitTime: Последний
§ page.team.pr.workDays: Среднее время работы над задачей § page.team.pr.workDays: Среднее время работы над задачей
§ page.team.pr.delayDays: Среднее время ревью PR § page.team.pr.delayDays: Среднее время ревью PR
§ page.team.pr.all.workDays: Время работы над задачей
§ page.team.pr.all.delayDays: Время ревью PR
§ page.team.pr.middleTimeRelease: Отношение времени разработки к времени ревью § page.team.pr.middleTimeRelease: Отношение времени разработки к времени ревью
§ page.team.pr.commits: Коммиты § page.team.pr.commits: Коммиты
§ page.team.pr.date: Дата влития § page.team.pr.date: Дата влития
@ -159,6 +163,7 @@ export default `
§ page.team.release.title: Релиз § page.team.release.title: Релиз
§ page.team.release.from: Дата создания § page.team.release.from: Дата создания
§ page.team.release.to: Дата завершения § page.team.release.to: Дата завершения
§ page.team.release.prLength: Задач
§ page.team.release.delay: Дней работы § page.team.release.delay: Дней работы
§ page.team.release.waiting: Дней до следующего релиза § page.team.release.waiting: Дней до следующего релиза
§ page.person.print.photo.title: Фотография § page.person.print.photo.title: Фотография

View file

@ -25,6 +25,7 @@ export default `
§ page.team.author.description2: Сортировка по умолчанию — это сортировка по количеству задач и группам (текущие, уволенные, помогающие сотрудники). § page.team.author.description2: Сортировка по умолчанию — это сортировка по количеству задач и группам (текущие, уволенные, помогающие сотрудники).
§ page.team.author.status: Status § page.team.author.status: Status
§ page.team.author.firstCommit: First commit § page.team.author.firstCommit: First commit
§ page.team.author.lastCommit: Last
§ page.team.author.daysAll: Total days § page.team.author.daysAll: Total days
§ page.team.author.types: Тип работ § page.team.author.types: Тип работ
§ page.team.author.commits: Commits § page.team.author.commits: Commits
@ -103,8 +104,9 @@ export default `
§ page.team.tree.change: Кто менял § page.team.tree.change: Кто менял
§ page.team.tree.remove: Кто удалял § page.team.tree.remove: Кто удалял
§ page.team.tree.line: строк § page.team.tree.line: строк
§ page.team.tree.lineAdd: добавили § page.team.tree.linesAdded: добавили
§ page.team.tree.lineRemove: изменили § page.team.tree.linesChanged: изменили
§ page.team.tree.linesRemoved: удалили
§ page.team.week.title: Статистика по неделям § page.team.week.title: Статистика по неделям
§ page.team.week.date: Дата § page.team.week.date: Дата
§ page.team.week.numberTasks: Количество задач § page.team.week.numberTasks: Количество задач
@ -125,6 +127,8 @@ export default `
§ page.team.pr.lastCommitTime: Последний § page.team.pr.lastCommitTime: Последний
§ page.team.pr.workDays: Дней разработки § page.team.pr.workDays: Дней разработки
§ page.team.pr.delayDays: Дней ожидания влития § page.team.pr.delayDays: Дней ожидания влития
§ page.team.pr.all.workDays: Время работы над задачей
§ page.team.pr.all.delayDays: Время ревью PR
§ page.team.pr.commits: Коммиты § page.team.pr.commits: Коммиты
§ page.team.pr.date: Дата влития § page.team.pr.date: Дата влития
§ page.team.pr.mergeAuthor: Влил § page.team.pr.mergeAuthor: Влил

View file

@ -100,8 +100,9 @@ export default `
§ page.team.tree.change: 谁改变了它 § page.team.tree.change: 谁改变了它
§ page.team.tree.remove: 谁删除了它 § page.team.tree.remove: 谁删除了它
§ page.team.tree.line: 线条 § page.team.tree.line: 线条
§ page.team.tree.lineAdd: 补充道 § page.team.tree.linesAdded: 补充道
§ page.team.tree.lineRemove: 改变了 § page.team.tree.linesChanged: changed
§ page.team.tree.linesRemoved: 改变了
§ page.team.week.title: 按周划分的统计数字 § page.team.week.title: 按周划分的统计数字
§ page.team.week.date: 日期 § page.team.week.date: 日期
§ page.team.week.numberTasks: 任务数量 § page.team.week.numberTasks: 任务数量
@ -122,6 +123,8 @@ export default `
§ page.team.pr.lastCommitTime: 最后一次 § page.team.pr.lastCommitTime: 最后一次
§ page.team.pr.workDays: 完成任务的平均时间 § page.team.pr.workDays: 完成任务的平均时间
§ page.team.pr.delayDays: PR审查的平均时间 § page.team.pr.delayDays: PR审查的平均时间
§ page.team.pr.all.workDays: 任务完成时间
§ page.team.pr.all.delayDays: PR请求的审议时间
§ page.team.pr.middleTimeRelease: 开发时间与审查时间的比率 § page.team.pr.middleTimeRelease: 开发时间与审查时间的比率
§ page.team.pr.commits: Commits § page.team.pr.commits: Commits
§ page.team.pr.date: 注射日期 § page.team.pr.date: 注射日期
@ -156,6 +159,7 @@ export default `
§ page.team.release.title: Release § page.team.release.title: Release
§ page.team.release.from: Created date § page.team.release.from: Created date
§ page.team.release.to: Delivery date § page.team.release.to: Delivery date
§ page.team.release.prLength: Tasks
§ page.team.release.delay: Preparation days § page.team.release.delay: Preparation days
§ page.team.release.waiting: Days of waiting for next release § page.team.release.waiting: Days of waiting for next release
§ page.person.print.photo.title: 照片 § page.person.print.photo.title: 照片