mirror of
https://github.com/bakhirev/assayo.git
synced 2024-11-16 16:21:41 +00:00
commit
41be2b4fd7
|
@ -1,5 +1,5 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="ru">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, user-scalable=no, maximum-scale=1.0">
|
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, user-scalable=no, maximum-scale=1.0">
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
@ -35,29 +35,29 @@
|
||||||
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
|
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
|
||||||
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
|
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
|
||||||
|
|
||||||
<title>Git статистика</title>
|
<title>Git Statistics</title>
|
||||||
<meta name="description" content="Простой и быстрый отчёт по истории коммитов в git.">
|
<meta name="description" content="Simple and fast report on git commit history.">
|
||||||
<meta name="keywords" content="git, статистика, аудит, история, log, мониторинг, контроль сотрудников">
|
<meta name="keywords" content="git, statistics, audit, history, log, monitoring, employee control">
|
||||||
<meta name="author" content="Bakhirev Aleksei">
|
<meta name="author" content="Bakhirev Aleksei">
|
||||||
<meta name="copyright" content="(c) Bakhirev Aleksei">
|
<meta name="copyright" content="(c) Bakhirev Aleksei">
|
||||||
<meta http-equiv="Reply-to" content="alexey-bakhirev@yandex.ru">
|
<meta http-equiv="Reply-to" content="alexey-bakhirev@yandex.ru">
|
||||||
|
|
||||||
<meta name="application-name" content="GIT Статистика">
|
<meta name="application-name" content="Git Statistics">
|
||||||
<meta name="msapplication-tooltip" content="Простой и быстрый отчёт по истории коммитов в git.">
|
<meta name="msapplication-tooltip" content="Simple and fast report on Git commit history.">
|
||||||
<meta property="og:title" content="GIT Статистика">
|
<meta property="og:title" content="Git Statistics">
|
||||||
<meta property="og:description" content="Простой и быстрый отчёт по истории коммитов в git.">
|
<meta property="og:description" content="Simple and fast report on Git commit history.">
|
||||||
<meta property="og:image" content="http://assayo.jp/assets/seo/custom_icon_256.png">
|
<meta property="og:image" content="http://assayo.jp/assets/seo/custom_icon_256.png">
|
||||||
<meta property="og:site_name" content="Assayo">
|
<meta property="og:site_name" content="Assayo">
|
||||||
<meta property="og:url" content="http://assayo.jp/">
|
<meta property="og:url" content="http://assayo.jp/">
|
||||||
<meta name="twitter:card" content="summary">
|
<meta name="twitter:card" content="summary">
|
||||||
<meta name="twitter:title" content="GIT Статистика">
|
<meta name="twitter:title" content="Git Statistics">
|
||||||
<meta name="twitter:description" content="Простой и быстрый отчёт по истории коммитов в git.">
|
<meta name="twitter:description" content="Simple and fast report on Git commit history.">
|
||||||
<meta name="twitter:creator" content="Bakhirev Aleksei">
|
<meta name="twitter:creator" content="Bakhirev Aleksei">
|
||||||
<meta name="twitter:image:src" content="http://assayo.jp/assets/seo/custom_icon_256.png">
|
<meta name="twitter:image:src" content="http://assayo.jp/assets/seo/custom_icon_256.png">
|
||||||
<meta name="twitter:domain" content="assayo.jp">
|
<meta name="twitter:domain" content="assayo.jp">
|
||||||
<meta name="twitter:site" content="assayo.jp">
|
<meta name="twitter:site" content="assayo.jp">
|
||||||
<meta itemprop="name" content="GIT Статистика">
|
<meta itemprop="name" content="Git Statistics">
|
||||||
<meta itemprop="description" content="Простой и быстрый отчёт по истории коммитов в git.">
|
<meta itemprop="description" content="Simple and fast report on Git commit history.">
|
||||||
<meta itemprop="image" content="http://assayo.jp/assets/seo/custom_icon_256.png">
|
<meta itemprop="image" content="http://assayo.jp/assets/seo/custom_icon_256.png">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
class Localization {
|
class Localization {
|
||||||
language:string = 'ru';
|
language:string = 'en';
|
||||||
|
|
||||||
translations: any = {};
|
translations: any = {};
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ function getFormattedType(dataGrip: any): string {
|
||||||
|
|
||||||
export default function getTitle(dataGrip: any, commits: any) {
|
export default function getTitle(dataGrip: any, commits: any) {
|
||||||
if (!commits.length) {
|
if (!commits.length) {
|
||||||
return 'Git статистика';
|
return 'Git Statistics';
|
||||||
}
|
}
|
||||||
|
|
||||||
const type = getFormattedType(dataGrip) || '';
|
const type = getFormattedType(dataGrip) || '';
|
||||||
|
|
|
@ -19,10 +19,10 @@ const Common = observer((): React.ReactElement | null => {
|
||||||
<InputString
|
<InputString
|
||||||
title="page.settings.document.name"
|
title="page.settings.document.name"
|
||||||
value={title}
|
value={title}
|
||||||
placeholder="Git статистика"
|
placeholder="Git Statistics"
|
||||||
onChange={(value: string) => {
|
onChange={(value: string) => {
|
||||||
setTitle(value);
|
setTitle(value);
|
||||||
document.title = value || 'Git статистика';
|
document.title = value || 'Git Statistics';
|
||||||
applicationHasCustom.title = true;
|
applicationHasCustom.title = true;
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -1,94 +1,94 @@
|
||||||
export default `
|
export default `
|
||||||
§ achievements.commitsAfter1500.title: Сова
|
§ achievements.commitsAfter1500.title: Night Owl
|
||||||
§ achievements.commitsAfter1500.description: 70% коммитов после 15:00
|
§ achievements.commitsAfter1500.description: 70% of commits after 3:00 PM
|
||||||
§ achievements.commitsBefore1500.title: Ранняя пташка
|
§ achievements.commitsBefore1500.title: Early Bird
|
||||||
§ achievements.commitsBefore1500.description: 70% коммитов до обеда
|
§ achievements.commitsBefore1500.description: 70% of commits before noon
|
||||||
§ achievements.workEveryTime.title: Раб божий
|
§ achievements.workEveryTime.title: Devoted Worker
|
||||||
§ achievements.workEveryTime.description: есть коммит на каждый час суток
|
§ achievements.workEveryTime.description: a commit for every hour of the day
|
||||||
§ achievements.workNotWork.title: Стрельба холостыми
|
§ achievements.workNotWork.title: Shooting Blanks
|
||||||
§ achievements.workNotWork.description: коммиты есть, а закрытых задач нет
|
§ achievements.workNotWork.description: commits are there, but no tasks are closed
|
||||||
§ achievements.userNotWork.title: Залётный
|
§ achievements.userNotWork.title: Fly-By
|
||||||
§ achievements.userNotWork.description: это не его основной проект
|
§ achievements.userNotWork.description: this is not their main project
|
||||||
§ achievements.userIsDied.title: Мёртвая душа
|
§ achievements.userIsDied.title: Dead Soul
|
||||||
§ achievements.userIsDied.description: работал, но уволился
|
§ achievements.userIsDied.description: worked, but resigned
|
||||||
§ achievements.lessTasks.title: Зашел и вышел
|
§ achievements.lessTasks.title: Came and Went
|
||||||
§ achievements.lessTasks.description: меньше всего закрытых задач
|
§ achievements.lessTasks.description: least closed tasks
|
||||||
§ achievements.moreTasks.title: Батя грит малаца
|
§ achievements.moreTasks.title: Father Says Well Done
|
||||||
§ achievements.moreTasks.description: больше всего закрытых задач
|
§ achievements.moreTasks.description: most closed tasks
|
||||||
§ achievements.everyMessageLong.title: Мастер красноречия
|
§ achievements.everyMessageLong.title: Master of Eloquence
|
||||||
§ achievements.everyMessageLong.description: стабильно самые длинные подписи коммитов
|
§ achievements.everyMessageLong.description: consistently the longest commit messages
|
||||||
§ achievements.everyMessageShort.title: Болтун находка для шпиона
|
§ achievements.everyMessageShort.title: Talkative, A Spy's Dream
|
||||||
§ achievements.everyMessageShort.description: стабильно, самые короткие подписи коммитов
|
§ achievements.everyMessageShort.description: consistently, the shortest commit messages
|
||||||
§ achievements.shortestName.title: Размер не главное
|
§ achievements.shortestName.title: Size Doesn't Matter
|
||||||
§ achievements.shortestName.description: самое короткое имя
|
§ achievements.shortestName.description: shortest name
|
||||||
§ achievements.longestName.title: Азим Азиз Иль Ам Кадир Имран II
|
§ achievements.longestName.title: Azim Aziz Il Am Kadir Imran II
|
||||||
§ achievements.longestName.description: самое длинное имя
|
§ achievements.longestName.description: longest name
|
||||||
§ achievements.moreCommits.title: Мастер бекапов
|
§ achievements.moreCommits.title: Backup Master
|
||||||
§ achievements.moreCommits.description: больше всего коммитов
|
§ achievements.moreCommits.description: most commits
|
||||||
§ achievements.lessCommits.title: Редко но метко
|
§ achievements.lessCommits.title: Rare but Precise
|
||||||
§ achievements.lessCommits.description: меньше всего коммитов
|
§ achievements.lessCommits.description: least commits
|
||||||
§ achievements.oneCommitOneTask.title: Точно в цель
|
§ achievements.oneCommitOneTask.title: Right on Target
|
||||||
§ achievements.oneCommitOneTask.description: в среднем один коммит на задачу
|
§ achievements.oneCommitOneTask.description: on average one commit per task
|
||||||
§ achievements.moreLazyDays.title: Мысленно я с вами
|
§ achievements.moreLazyDays.title: With You in Spirit
|
||||||
§ achievements.moreLazyDays.description: больше всего дней без коммитов
|
§ achievements.moreLazyDays.description: most days without commits
|
||||||
§ achievements.lessLazyDays.title: Папа Карло
|
§ achievements.lessLazyDays.title: Papa Carlo
|
||||||
§ achievements.lessLazyDays.description: меньше всего дней без коммитов
|
§ achievements.lessLazyDays.description: least days without commits
|
||||||
§ achievements.zeroLazyDays.title: Ни единого разрыва
|
§ achievements.zeroLazyDays.title: Not a Single Break
|
||||||
§ achievements.zeroLazyDays.description: ни одного дня без коммитов
|
§ achievements.zeroLazyDays.description: not a single day without commits
|
||||||
§ achievements.moreWorkDays.title: Ценный работник
|
§ achievements.moreWorkDays.title: Valuable Employee
|
||||||
§ achievements.moreWorkDays.description: больше всего рабочих дней
|
§ achievements.moreWorkDays.description: most working days
|
||||||
§ achievements.moreScopes.title: Стартапер
|
§ achievements.moreScopes.title: Startuper
|
||||||
§ achievements.moreScopes.description: сделал больше всего фичей
|
§ achievements.moreScopes.description: completed the most features
|
||||||
§ achievements.lessScopes.title: Щегол
|
§ achievements.lessScopes.title: Dandy
|
||||||
§ achievements.lessScopes.description: сделал меньше всего фичей
|
§ achievements.lessScopes.description: completed the fewest features
|
||||||
§ achievements.moreDaysForTask.title: Улитка на склоне
|
§ achievements.moreDaysForTask.title: Snail on the Slope
|
||||||
§ achievements.moreDaysForTask.description: работа по задачам идёт медленнее чем у остальных
|
§ achievements.moreDaysForTask.description: tasks take longer than others
|
||||||
§ achievements.more2DaysForTask.title: Cо слоу
|
§ achievements.more2DaysForTask.title: Slow and Steady
|
||||||
§ achievements.more2DaysForTask.description: больше двух дней на задачу
|
§ achievements.more2DaysForTask.description: more than two days per task
|
||||||
§ achievements.moreDaysInProject.title: Старожил
|
§ achievements.moreDaysInProject.title: Old-Timer
|
||||||
§ achievements.moreDaysInProject.description: больше всего дней на проекте
|
§ achievements.moreDaysInProject.description: most days in the project
|
||||||
§ achievements.lessDaysInProject.title: А это кто?
|
§ achievements.lessDaysInProject.title: And Who Is This?
|
||||||
§ achievements.lessDaysInProject.description: меньше всего дней на проекте
|
§ achievements.lessDaysInProject.description: least days in the project
|
||||||
§ achievements.more90DaysInProject.title: Добро пожаловать
|
§ achievements.more90DaysInProject.title: Welcome Aboard
|
||||||
§ achievements.more90DaysInProject.description: не уволили на испытательном
|
§ achievements.more90DaysInProject.description: not fired during the probation period
|
||||||
§ achievements.lessDaysForTask.title: Скорострел
|
§ achievements.lessDaysForTask.title: Quick Draw
|
||||||
§ achievements.lessDaysForTask.description: одна задача занимает меньше дня
|
§ achievements.lessDaysForTask.description: a task takes less than a day
|
||||||
§ achievements.adam.title: Адам
|
§ achievements.adam.title: Adam
|
||||||
§ achievements.adam.description: первый стабильный сотрудник на проекте
|
§ achievements.adam.description: the first stable employee on the project
|
||||||
§ achievements.more666DaysInProject.title: Чёрт
|
§ achievements.more666DaysInProject.title: Devil
|
||||||
§ achievements.more666DaysInProject.description: отработал 666 дней на проекте
|
§ achievements.more666DaysInProject.description: worked 666 days on the project
|
||||||
§ achievements.more777DaysInProject.title: Азино 3 топора
|
§ achievements.more777DaysInProject.title: Azino Three Axes
|
||||||
§ achievements.more777DaysInProject.description: отработал 777 дней на проекте
|
§ achievements.more777DaysInProject.description: worked 777 days on the project
|
||||||
§ achievements.moreRefactoring.title: Выпускающий редактор
|
§ achievements.moreRefactoring.title: Executive Editor
|
||||||
§ achievements.moreRefactoring.description: сделал больше всех меток «рефакторинг»
|
§ achievements.moreRefactoring.description: made the most 'refactoring' tags
|
||||||
§ achievements.longestMessage.title: А разговоров то было...
|
§ achievements.longestMessage.title: So Many Conversations...
|
||||||
§ achievements.longestMessage.description: самая длинная подпись коммита за все время
|
§ achievements.longestMessage.description: the longest commit message of all time
|
||||||
§ achievements.moreTasksInDay.title: Спиди-гонщик
|
§ achievements.moreTasksInDay.title: Speed Racer
|
||||||
§ achievements.moreTasksInDay.description: рекорд по количеству закрытых задач в день
|
§ achievements.moreTasksInDay.description: record for the number of tasks closed in a day
|
||||||
§ achievements.hasCommitFrom0to7.title: Ночной дозор
|
§ achievements.hasCommitFrom0to7.title: Night Watch
|
||||||
§ achievements.hasCommitFrom0to7.description: есть коммит на каждый час ночи
|
§ achievements.hasCommitFrom0to7.description: a commit for every hour of the night
|
||||||
§ achievements.noCommitOnDay.title: Технический перерыв
|
§ achievements.noCommitOnDay.title: Technical Break
|
||||||
§ achievements.noCommitOnDay.description: есть определенный час и день в рабочее время в который никогда не комитит
|
§ achievements.noCommitOnDay.description: there is a certain hour and day in working time when never commits
|
||||||
§ achievements.hasCommitEveryTime.title: Умер на работе
|
§ achievements.hasCommitEveryTime.title: Died at Work
|
||||||
§ achievements.hasCommitEveryTime.description: есть коммит на час каждого дня (включая выходные)
|
§ achievements.hasCommitEveryTime.description: a commit for every hour of each day (including weekends)
|
||||||
§ achievements.commitsAfter1800.title: Делу время
|
§ achievements.commitsAfter1800.title: Business Time
|
||||||
§ achievements.commitsAfter1800.description: нет ни одного коммита после 18:00
|
§ achievements.commitsAfter1800.description: no commits after 6:00 PM
|
||||||
§ achievements.more1488DaysInProject.title: им. Максима Марцинкевича
|
§ achievements.more1488DaysInProject.title: Named After Maxim Martsinkevich
|
||||||
§ achievements.more1488DaysInProject.description: отработал 1488 дней на проекте
|
§ achievements.more1488DaysInProject.description: worked 1488 days on the project
|
||||||
§ achievements.taskNumber300.title: Знаком с трактористом
|
§ achievements.taskNumber300.title: Knows the Tractor Driver
|
||||||
§ achievements.taskNumber300.description: первый взял в работу задачу с номером 300
|
§ achievements.taskNumber300.description: first to take on task number 300
|
||||||
§ achievements.moreFix.title: Bug hunter
|
§ achievements.moreFix.title: Bug Hunter
|
||||||
§ achievements.moreFix.description: больше всего закрытых багов
|
§ achievements.moreFix.description: most closed bugs
|
||||||
§ achievements.lessWorkDays.title: Дальше без меня
|
§ achievements.lessWorkDays.title: Count Me Out
|
||||||
§ achievements.lessWorkDays.description: меньше всего рабочих дней
|
§ achievements.lessWorkDays.description: least working days
|
||||||
§ achievements.moreCreateCode.title: Созидатель
|
§ achievements.moreCreateCode.title: Creator
|
||||||
§ achievements.moreCreateCode.description: склонен больше остальных добавлять код
|
§ achievements.moreCreateCode.description: tends to add code more than others
|
||||||
§ achievements.moreRemoveCode.title: Разрушитель
|
§ achievements.moreRemoveCode.title: Destroyer
|
||||||
§ achievements.moreRemoveCode.description: склонен больше остальных удалять код
|
§ achievements.moreRemoveCode.description: tends to remove code more than others
|
||||||
§ achievements.moreChangeCode.title: Реформатор
|
§ achievements.moreChangeCode.title: Reformer
|
||||||
§ achievements.moreChangeCode.description: склонен больше остальных изменять код
|
§ achievements.moreChangeCode.description: tends to change code more than others
|
||||||
§ achievements.moreStyle.title: Полиция моды
|
§ achievements.moreStyle.title: Fashion Police
|
||||||
§ achievements.moreStyle.description: склонен больше остальных изменять CSS
|
§ achievements.moreStyle.description: tends to change CSS more than others
|
||||||
§ achievements.moreOnHoliday.title: Нет жизни
|
§ achievements.moreOnHoliday.title: No Life
|
||||||
§ achievements.moreOnHoliday.description: относительно много коммитов в нерабочее время
|
§ achievements.moreOnHoliday.description: relatively many commits in non-working hours
|
||||||
`;
|
`;
|
||||||
|
|
|
@ -1,28 +1,28 @@
|
||||||
export default `
|
export default `
|
||||||
§ uiKit.console: Копировать
|
§ uiKit.console: Copy
|
||||||
§ uiKit.dataLoader.page: Страница
|
§ uiKit.dataLoader.page: Page
|
||||||
§ uiKit.dataLoader.size: Отображается по
|
§ uiKit.dataLoader.size: Displaying by
|
||||||
§ uiKit.dataLoader.from: из
|
§ uiKit.dataLoader.from: from
|
||||||
§ uiKit.dataLoader.all: Показать все
|
§ uiKit.dataLoader.all: Show all
|
||||||
§ uiKit.hoursChart.work: стандартное рабочее время (будни, с 07:00 до 20:00)
|
§ uiKit.hoursChart.work: Standard working hours (weekdays, from 07:00 to 20:00)
|
||||||
§ uiKit.hoursChart.weekend: выходные дни или время до/после рабочего дня
|
§ uiKit.hoursChart.weekend: Weekends or time before/after working day
|
||||||
§ uiKit.hoursChart.days: суммарное количество коммитов за все время в конкретный день и час
|
§ uiKit.hoursChart.days: Total number of commits at any specific day and hour over time
|
||||||
§ uiKit.page.remove: Удалить
|
§ uiKit.page.remove: Remove
|
||||||
§ uiKit.races.go: Поехали
|
§ uiKit.races.go: Let's go
|
||||||
§ uiKit.nothingFound.common.title: Нет или недостаточно данных для отображения
|
§ uiKit.nothingFound.common.title: No or Insufficient Data for Display
|
||||||
§ uiKit.nothingFound.common.description: Система обработает больше данных, если коммиты будут подписаны в формате [Git commit message convention|https://www.conventionalcommits.org/en/v1.0.0/]. Шаблон:
|
§ uiKit.nothingFound.common.description: The system will process more data if commits are formatted according to the [Git commit message convention|https://www.conventionalcommits.org/en/v1.0.0/]. Template:
|
||||||
§ uiKit.nothingFound.common.console: Номер_задачи тип(фича): пояснение
|
§ uiKit.nothingFound.common.console: Task_Number type(feature): explanation
|
||||||
§ uiKit.nothingFound.common.example: Например:
|
§ uiKit.nothingFound.common.example: For example:
|
||||||
§ uiKit.nothingFound.staff.title: Нет данных для этого сотрудника
|
§ uiKit.nothingFound.staff.title: No data for this employee
|
||||||
§ uiKit.nothingFound.staff.description1:
|
§ uiKit.nothingFound.staff.description1:
|
||||||
Он вносил правки не каждый рабочий день и получил статус «Помошник».
|
They made edits not every working day and received the "Assistant" status.
|
||||||
Работой сотрудников с таким статусом по данному проекту можно пренебречь, т.к. его влад на общем фоне незначителен.
|
The work of employees with such status on this project can be neglected as their contribution is insignificant in the general context.
|
||||||
|
|
||||||
§ uiKit.nothingFound.staff.description2:
|
§ uiKit.nothingFound.staff.description2:
|
||||||
Поэтому система не рассчитывает для него ряд показателей.
|
Therefore, the system does not calculate certain metrics for them.
|
||||||
Если это ошибка и данного сотрудника нужно рассчитать как обычного, перейдите в раздел «Настройки» и измените его тип.
|
If this is an error and the employee should be treated as regular, go to the "Settings" section and change their type.
|
||||||
|
|
||||||
§ common.filters: Фильтры
|
§ common.filters: Filters
|
||||||
§ common.notifications.save: Изменения сохранены
|
§ common.notifications.save: Changes saved
|
||||||
§ common.notifications.setting: Настройки сохранены
|
§ common.notifications.setting: Settings saved
|
||||||
`;
|
`;
|
|
@ -17,11 +17,11 @@ export default `
|
||||||
§ sidebar.team.week: By week
|
§ sidebar.team.week: By week
|
||||||
§ sidebar.team.month: By month
|
§ sidebar.team.month: By month
|
||||||
§ sidebar.team.tree: Files
|
§ sidebar.team.tree: Files
|
||||||
§ sidebar.team.hours: Расписание
|
§ sidebar.team.hours: Schedule
|
||||||
§ sidebar.team.commits: All commits
|
§ sidebar.team.commits: All commits
|
||||||
§ sidebar.team.changes: All changes
|
§ sidebar.team.changes: All changes
|
||||||
§ sidebar.team.words: Popular words
|
§ sidebar.team.words: Popular words
|
||||||
§ sidebar.team.top: Викторина
|
§ sidebar.team.top: Quiz
|
||||||
§ sidebar.team.settings: Settings
|
§ sidebar.team.settings: Settings
|
||||||
§ sidebar.person.total: Common info
|
§ sidebar.person.total: Common info
|
||||||
§ sidebar.person.money: Work cost
|
§ sidebar.person.money: Work cost
|
||||||
|
@ -29,7 +29,7 @@ export default `
|
||||||
§ sidebar.person.day: By day
|
§ sidebar.person.day: By day
|
||||||
§ sidebar.person.week: By week
|
§ sidebar.person.week: By week
|
||||||
§ sidebar.person.month: By month
|
§ sidebar.person.month: By month
|
||||||
§ sidebar.person.hours: Расписание
|
§ sidebar.person.hours: Schedule
|
||||||
§ sidebar.person.commits: All commits
|
§ sidebar.person.commits: All commits
|
||||||
§ sidebar.person.changes: All changes
|
§ sidebar.person.changes: All changes
|
||||||
§ sidebar.person.words: Popular words
|
§ sidebar.person.words: Popular words
|
||||||
|
|
|
@ -1,203 +1,203 @@
|
||||||
export default `
|
export default `
|
||||||
§ page.welcome.step1: Выполните команду в корне вашего проекта
|
§ page.welcome.step1: Execute the command in the root of your project.
|
||||||
§ page.welcome.step3: Перетащите
|
§ page.welcome.step3: Drag and Drop.
|
||||||
§ page.welcome.step4: файл log.txt на эту страницу
|
§ page.welcome.step4: the log.txt file onto this page.
|
||||||
§ page.welcome.description1: Git создаст файл log.txt. Он содержит данные для построения отчёта. Или git shortlog -s -n -e если отчёт вам не нужен. Создайте файл
|
§ page.welcome.description1: Git will create a log.txt file. It contains data for report generation. Or use git shortlog -s -n -e if you don't need a report. Create a file.
|
||||||
§ page.welcome.description2: [.mailmap|https://git-scm.com/docs/gitmailmap] в корне проекта, чтобы объединить статистику по сотрудникам.
|
§ page.welcome.description2: [Create a .mailmap file|https://git-scm.com/docs/gitmailmap] in the root of the project to consolidate employee statistics.
|
||||||
§ page.welcome.description: Git создаст файл log.txt. Он содержит данные для построения отчёта. Или git shortlog -s -n -e если отчёт вам не нужен. Создайте файл [.mailmap|https://git-scm.com/docs/gitmailmap] в корне проекта, чтобы объединить статистику по сотрудникам.
|
§ page.welcome.description: Git will create a log.txt file. It contains data for report generation. Or use git shortlog -s -n -e if you don't need a report. Create a [.mailmap file|https://git-scm.com/docs/gitmailmap] in the root of the project to consolidate employee statistics.
|
||||||
§ page.welcome.warning1: Сервис *НЕ ХРАНИТ* и *НЕ ПЕРЕДАЁТ* ваши данные. Все расчёты выполняются локально в вашем браузере прямо на вашей машине.
|
§ page.welcome.warning1: The service *DOES NOT STORE* and *DOES NOT TRANSFER* your data. All calculations are performed locally in your browser on your machine.
|
||||||
§ page.welcome.warning2: Сервис *НЕ СОБИРАЕТ СТАТИСТИКУ* по проектам. Вы можете отключить интернет, проверить трафик и даже собрать локальный билд из [исходников|https://github.com/bakhirev/assayo].
|
§ page.welcome.warning2: The service *DOES NOT COLLECT STATISTICS* on projects. You can disconnect the internet, check traffic, and even build a local version from the [source|https://github.com/bakhirev/assayo].
|
||||||
§ page.common.words.title: Статистика по словам
|
§ page.common.words.title: Word Statistics.
|
||||||
§ page.common.words.description: самое популярное слово. Встречается $1 раза.
|
§ page.common.words.description: the most popular word. Occurs $1 times.
|
||||||
§ page.common.commits.title: Количество коммитов по дням
|
§ page.common.commits.title: Number of commits by days.
|
||||||
§ page.common.commits.description: ($1) самый продуктивный день по числу коммитов.
|
§ page.common.commits.description: ($1) the most productive day in terms of the number of commits.
|
||||||
§ page.common.commits.title2: $1 сделано коммитов: $2
|
§ page.common.commits.title2: $1 commits made: $2
|
||||||
§ page.common.filter.allUsers: Не имеет значения
|
§ page.common.filter.allUsers: Does not matter
|
||||||
§ page.print.modal.title: Что распечатываем?
|
§ page.print.modal.title: What are we printing?
|
||||||
§ page.print.modal.page: Текущую страницу
|
§ page.print.modal.page: Current page
|
||||||
§ page.print.modal.type: Текущий раздел
|
§ page.print.modal.type: Current section
|
||||||
§ page.print.modal.all: Всю статистику
|
§ page.print.modal.all: All statistics
|
||||||
§ page.print.modal.cancel: Отмена
|
§ page.print.modal.cancel: Cancel
|
||||||
§ page.print.tableOfContents: Оглавление
|
§ page.print.tableOfContents: Table of Contents
|
||||||
§ page.print.title: Отчёт по git-репозиторию «$1»
|
§ page.print.title: Git Repository Report «$1»
|
||||||
§ page.print.description: Данные для отчёта были получены из истории коммитов.
|
§ page.print.description: The data for the report was obtained from the commit history.
|
||||||
§ page.team.author.title: Статистика по сотрудникам
|
§ page.team.author.title: Employee Statistics
|
||||||
§ page.team.author.description1: *Часть статистики* (скорость работы, затраченные деньги и т.п.) *по сотрудникам с типом «Помощник» не считается*, т.к. это эпизодическая роль в проекте. Предполагаем, что они не влияют на проект, а их правками можно пренебречь на фоне общего объема работы.
|
§ page.team.author.description1: *Part of the statistics* (work speed, costs, etc.) *for employees with the 'Assistant' type is not counted*, as it is an episodic role in the project. It is assumed that they do not affect the project, and their edits can be disregarded in the context of the overall volume of work.
|
||||||
§ page.team.author.description2: *Сортировка по умолчанию* — это сортировка по количеству задач и группам (текущие, уволенные, помогающие сотрудники).
|
§ page.team.author.description2: *Default sorting* is by the number of tasks and groups (current, fired, assisting employees).
|
||||||
§ page.team.author.types: Тип работ
|
§ page.team.author.types: Types of work
|
||||||
§ page.team.author.commits: Коммитов
|
§ page.team.author.commits: Commits
|
||||||
§ page.team.author.commitsSmall: коммитов
|
§ page.team.author.commitsSmall: commits
|
||||||
§ page.team.author.tasks: Задач
|
§ page.team.author.tasks: Tasks
|
||||||
§ page.team.author.tasksSmall: задач
|
§ page.team.author.tasksSmall: tasks
|
||||||
§ page.team.author.workedLosses: Дни с коммитами и без
|
§ page.team.author.workedLosses: Days with and without commits
|
||||||
§ page.team.author.worked: работа
|
§ page.team.author.worked: work
|
||||||
§ page.team.author.losses: дни без коммитов
|
§ page.team.author.losses: days without commits
|
||||||
§ page.team.author.days: дней
|
§ page.team.author.days: days
|
||||||
§ page.team.author.daysForTask: Дней на задачу
|
§ page.team.author.daysForTask: Days per task
|
||||||
§ page.team.author.scopes: Фич
|
§ page.team.author.scopes: Features
|
||||||
§ page.team.author.moneyAll: Получил
|
§ page.team.author.moneyAll: Received
|
||||||
§ page.team.author.moneyWorked: Отработал
|
§ page.team.author.moneyWorked: Worked for
|
||||||
§ page.team.author.moneyLosses: Переплата
|
§ page.team.author.moneyLosses: Overpayment
|
||||||
§ page.team.hours.title: Распределение коммитов в течении каждого дня недели
|
§ page.team.hours.title: Distribution of commits during each day of the week
|
||||||
§ page.team.month.title: Календарь работы по проекту
|
§ page.team.month.title: Project Work Calendar
|
||||||
§ page.team.scope.title: Статистика по фичам
|
§ page.team.scope.title: Feature Statistics
|
||||||
§ page.team.scope.scope: Фича
|
§ page.team.scope.scope: Feature
|
||||||
§ page.team.scope.days: Раб. дней
|
§ page.team.scope.days: Working Days
|
||||||
§ page.team.scope.authorsDays: Человеко-дней
|
§ page.team.scope.authorsDays: Person-Days
|
||||||
§ page.team.scope.tasks: Задач
|
§ page.team.scope.tasks: Tasks
|
||||||
§ page.team.scope.commits: Коммитов
|
§ page.team.scope.commits: Commits
|
||||||
§ page.team.scope.commitsSmall: коммитов
|
§ page.team.scope.commitsSmall: commits
|
||||||
§ page.team.scope.types: Тип работ
|
§ page.team.scope.types: Types of Work
|
||||||
§ page.team.scope.authors: Персональный вклад
|
§ page.team.scope.authors: Personal Contribution
|
||||||
§ page.team.scope.cost: Стоимость
|
§ page.team.scope.cost: Cost
|
||||||
§ page.team.type.title: Статистика по типам задач
|
§ page.team.type.title: Task Type Statistics
|
||||||
§ page.team.type.description: *Персональный вклад* считается по количеству коммитов, а не объему измененных строк или файлов. Поэтому следует так же смотреть раздел «Анализ файлов», чтобы оценить масштаб изменений.
|
§ page.team.type.description: *Personal contribution* is counted by the number of commits, not the volume of changed lines or files. Therefore, the "File Analysis" section should also be consulted to assess the scale of changes.
|
||||||
§ page.team.type.type: Тип работы
|
§ page.team.type.type: Type of Work
|
||||||
§ page.team.type.tasks: Задач
|
§ page.team.type.tasks: Tasks
|
||||||
§ page.team.type.tasksSmall: задач
|
§ page.team.type.tasksSmall: tasks
|
||||||
§ page.team.type.days: Дней
|
§ page.team.type.days: Days
|
||||||
§ page.team.type.daysSmall: дней
|
§ page.team.type.daysSmall: days
|
||||||
§ page.team.type.authorsDays: Человеко-дней
|
§ page.team.type.authorsDays: Person-Days
|
||||||
§ page.team.type.commits: Коммитов
|
§ page.team.type.commits: Commits
|
||||||
§ page.team.type.authors: Персональный вклад
|
§ page.team.type.authors: Personal Contribution
|
||||||
§ page.team.total.titleA: Объём работ
|
§ page.team.total.titleA: Volume of Work
|
||||||
§ page.team.total.titleB: Стоимость
|
§ page.team.total.titleB: Cost
|
||||||
§ page.team.total.daysWorked.title: человеко-дней
|
§ page.team.total.daysWorked.title: person-days
|
||||||
§ page.team.total.daysWorked.description: Учтены только дни, в которые делались коммиты
|
§ page.team.total.daysWorked.description: Only days with commits are counted
|
||||||
§ page.team.total.commits.title: коммитов
|
§ page.team.total.commits.title: commits
|
||||||
§ page.team.total.commits.description: Удалённые ветки не считаются
|
§ page.team.total.commits.description: Deleted branches are not counted
|
||||||
§ page.team.total.daysLosses.title: дней без коммитов
|
§ page.team.total.daysLosses.title: days without commits
|
||||||
§ page.team.total.daysLosses.description: Все дни минус: праздники, выходные, отпуск, дни с коммитами
|
§ page.team.total.daysLosses.description: All days minus: holidays, weekends, vacation, days with commits
|
||||||
§ page.team.total.employment.title: работает / уволилось
|
§ page.team.total.employment.title: working / dismissed
|
||||||
§ page.team.total.employment.description: Если сотрудник в течении месяца не сделал ни одного коммита, он считается уволенным
|
§ page.team.total.employment.description: If an employee does not make any commits within a month, they are considered dismissed
|
||||||
§ page.team.total.moneyAll.title: общая
|
§ page.team.total.moneyAll.title: total
|
||||||
§ page.team.total.moneyAll.description: Суммарные затраты на зп
|
§ page.team.total.moneyAll.description: Total salary expenses
|
||||||
§ page.team.total.moneyWorked.title: фактическая
|
§ page.team.total.moneyWorked.title: actual
|
||||||
§ page.team.total.moneyWorked.description: Фактически отработанные дни умноженные на среднюю зп
|
§ page.team.total.moneyWorked.description: Actual days worked multiplied by average salary
|
||||||
§ page.team.total.moneyLosses.title: возможная переплата
|
§ page.team.total.moneyLosses.title: possible overpayment
|
||||||
§ page.team.total.moneyLosses.description: Оплаченные рабочие дни, когда коммитов не было
|
§ page.team.total.moneyLosses.description: Paid working days when there were no commits
|
||||||
§ page.team.total.weekendPayment.title: работа на выходных
|
§ page.team.total.weekendPayment.title: weekend work
|
||||||
§ page.team.total.weekendPayment.description: Суммарная переплата за работу в выходные дни
|
§ page.team.total.weekendPayment.description: Total overpayment for weekend work
|
||||||
§ page.team.total.workSpeed.title: задач в день
|
§ page.team.total.workSpeed.title: tasks per day
|
||||||
§ page.team.total.workSpeed.description: Средняя скорость работы команды при текущем составе сотрудников
|
§ page.team.total.workSpeed.description: Average work speed of the team with the current composition of employees
|
||||||
§ page.team.total.moneySpeed.title: в месяц
|
§ page.team.total.moneySpeed.title: per month
|
||||||
§ page.team.total.moneySpeed.description: Прогнозируемая сумма выплаты на зп при текущем составе сотрудников без учета налогов и сопутствующих затрат
|
§ page.team.total.moneySpeed.description: Forecasted salary payment amount with the current team composition, excluding taxes and related expenses
|
||||||
§ page.team.total.description1: *Человеко-дни* — это работа одного сотрудника в течение одного рабочего дня. Например, за один календарный день, команда из трех сотрудников выдает объем работы в три человеко-дня.
|
§ page.team.total.description1: *Person-days* — the work of one employee during a single working day. For example, in one calendar day, a team of three employees produces a work volume of three person-days.
|
||||||
§ page.team.total.description2: *Днями прогулов* считаются только рабочие дни, когда коммиты могли бы быть сделаны. Выходные, государственные праздники и отпуска в расчёте не участвуют.
|
§ page.team.total.description2: *Absentee days* are counted only as working days when commits could have been made. Weekends, public holidays, and vacations are not included in the calculation.
|
||||||
§ page.team.total.description3: Карточка *работает и уволилось* показывает фактический состав сотрудников, которые постоянно участвуют в работе. Кроме этого, есть «помощники» — это сотрудники, как правило другой специализации, которые могут иногда делать коммиты в проект.
|
§ page.team.total.description3: The *working and dismissed* card shows the actual composition of employees who are continuously involved in work. Additionally, there are "assistants" — typically employees of a different specialization who may occasionally make commits to the project.
|
||||||
§ page.team.total.description4: *Переплатой* считаются только рабочие дни, когда коммиты могли бы быть сделаны. Выходные, государственные праздники и отпуска в расчёте не участвуют. Именно поэтому переплата + фактическая стоимость != общей. В общей стоимости заложена оплата выходных, государственных праздников и отпусков.
|
§ page.team.total.description4: *Overpayment* includes only working days when commits could have been made. Weekends, public holidays, and vacations are not included in the calculation. This is why overpayment + actual cost != total. The total cost includes payment for weekends, public holidays, and vacations.
|
||||||
§ page.team.total.description5: *Работой на выходных* считается по коэффициенту х2 от оплаты обычного дня. Выше отображена именно переплата (х1), т.к. сам факт переработки в данном контексте не интересен. Мы не смотрим скорость сжигания бюджета. Мы смотрим переплату при увеличении скорости работы.
|
§ page.team.total.description5: *Weekend work* is calculated at a rate of x2 the payment of a regular day. The displayed amount is specifically the overpayment (x1), as the fact of overtime in this context is not of interest. We focus on overpayment when increasing work speed.
|
||||||
§ page.team.tree.title: Дерево проекта с учётом выбранных фильтров
|
§ page.team.tree.title: Project Tree Considering Selected Filters
|
||||||
§ page.team.tree.filters.author: Сотрудник
|
§ page.team.tree.filters.author: Employee
|
||||||
§ page.team.tree.filters.commits: Количество коммитов
|
§ page.team.tree.filters.commits: Number of Commits
|
||||||
§ page.team.tree.filters.help: Минимальное количество коммитов, которое сделал сотрудник в файле
|
§ page.team.tree.filters.help: The minimum number of commits an employee has made in a file
|
||||||
§ page.team.tree.filters.all: Все сотрудники
|
§ page.team.tree.filters.all: All Employees
|
||||||
§ page.team.tree.add: Кто добавлял
|
§ page.team.tree.add: Who added
|
||||||
§ page.team.tree.change: Кто менял
|
§ page.team.tree.change: Who changed
|
||||||
§ page.team.tree.remove: Кто удалял
|
§ page.team.tree.remove: Who removed
|
||||||
§ page.team.tree.line: строк
|
§ page.team.tree.line: lines
|
||||||
§ page.team.tree.lineAdd: добавили
|
§ page.team.tree.lineAdd: added
|
||||||
§ page.team.tree.lineRemove: изменили
|
§ page.team.tree.lineRemove: changed
|
||||||
§ page.team.week.title: Статистика по неделям
|
§ page.team.week.title: Weekly Statistics
|
||||||
§ page.team.week.date: Дата
|
§ page.team.week.date: Date
|
||||||
§ page.team.week.numberTasks: Количество задач
|
§ page.team.week.numberTasks: Number of Tasks
|
||||||
§ page.team.week.people: Количество человек
|
§ page.team.week.people: Number of People
|
||||||
§ page.team.week.line: Изменение строк
|
§ page.team.week.line: Line Changes
|
||||||
§ page.team.week.days: Дни с коммитами и без
|
§ page.team.week.days: Days with and without commits
|
||||||
§ page.team.week.lossesDetails: Кто не коммитил
|
§ page.team.week.lossesDetails: Who did not commit
|
||||||
§ page.team.week.add: добавили
|
§ page.team.week.add: added
|
||||||
§ page.team.week.change: изменили
|
§ page.team.week.change: changed
|
||||||
§ page.team.week.remove: удалили
|
§ page.team.week.remove: removed
|
||||||
§ page.team.week.hasCommits: были коммиты
|
§ page.team.week.hasCommits: had commits
|
||||||
§ page.team.week.hasNotCommits: небыло коммитов
|
§ page.team.week.hasNotCommits: had no commits
|
||||||
§ page.team.week.days: дней
|
§ page.team.week.days: days
|
||||||
§ page.team.week.tasks: задач
|
§ page.team.week.tasks: tasks
|
||||||
§ page.team.pr.task: Задача
|
§ page.team.pr.task: Task
|
||||||
§ page.team.pr.tasks: задач
|
§ page.team.pr.tasks: tasks
|
||||||
§ page.team.pr.firstCommitTime: Первый коммит
|
§ page.team.pr.firstCommitTime: First Commit
|
||||||
§ page.team.pr.lastCommitTime: Последний
|
§ page.team.pr.lastCommitTime: Last
|
||||||
§ page.team.pr.workDays: Дней разработки
|
§ page.team.pr.workDays: Development Days
|
||||||
§ page.team.pr.delayDays: Дней ожидания влития
|
§ page.team.pr.delayDays: Days Waiting for Merge
|
||||||
§ page.team.pr.commits: Коммиты
|
§ page.team.pr.commits: Commits
|
||||||
§ page.team.pr.date: Дата влития
|
§ page.team.pr.date: Merge Date
|
||||||
§ page.team.pr.mergeAuthor: Влил
|
§ page.team.pr.mergeAuthor: Merged by
|
||||||
§ page.team.pr.author: Сотрудник
|
§ page.team.pr.author: Employee
|
||||||
§ page.team.pr.middleTimeRelease: Среднее время поставки (дни)
|
§ page.team.pr.middleTimeRelease: Average Delivery Time (days)
|
||||||
§ page.team.pr.work: разработка
|
§ page.team.pr.work: development
|
||||||
§ page.team.pr.delay: ожидание
|
§ page.team.pr.delay: waiting
|
||||||
§ page.team.pr.days: дней
|
§ page.team.pr.days: days
|
||||||
§ page.team.pr.oneTaskDays: Время потраченное на одну задачу
|
§ page.team.pr.oneTaskDays: Time Spent on One Task
|
||||||
§ page.team.pr.description1: *Время разработки* это разница времени от первого до последнего коммита по задаче. Не важно были перерывы в несколько дней между коммитами или нет. Сам факт какого-либо коммита увеличивает время.
|
§ page.team.pr.description1: *Development time* is the time difference from the first to the last commit on a task. It does not matter if there were breaks of several days between commits or not. Any commit increases the time.
|
||||||
§ page.team.pr.description2: *Время ожидания* это время между последним коммитом и влитием кода. Оно показывает фактический простой в ожидании чего-либо.
|
§ page.team.pr.description2: *Waiting time* is the time between the last commit and the code merge. It shows the actual downtime while waiting for something.
|
||||||
§ page.team.pr.description3: *Зачем отображать время разработки* без разбивки на кодинг и код-ревью? Затем, чтобы показать бизнесу фактическое время поставки кода. Ожидание тестирования, замечания на ревью, проблемы DevOps и прочие несовершенства процесса, как раз уже заложены в этот срок.
|
§ page.team.pr.description3: *Why display development time* without splitting into coding and code review? To show the business the actual delivery time of the code. Waiting for testing, review comments, DevOps problems, and other process imperfections are already included in this term.
|
||||||
§ page.team.pr.statByAuthors: Статистика по сотрудникам
|
§ page.team.pr.statByAuthors: Statistics by Employees
|
||||||
§ page.team.pr.longDelay: Длительное ожидание влития
|
§ page.team.pr.longDelay: Prolonged Waiting for Merge
|
||||||
§ page.person.print.photo.title: Фотография
|
§ page.person.print.photo.title: Photo
|
||||||
§ page.person.print.photo.description: место для фотографии
|
§ page.person.print.photo.description: space for a photo
|
||||||
§ page.person.total.title: Основные характеристики
|
§ page.person.total.title: Main Characteristics
|
||||||
§ page.person.total.daysWorked.title: дней работы
|
§ page.person.total.daysWorked.title: days of work
|
||||||
§ page.person.total.daysWorked.description: Учтены только дни, в которые делались коммиты
|
§ page.person.total.daysWorked.description: Only days with commits are counted
|
||||||
§ page.person.total.tasks.title: задач
|
§ page.person.total.tasks.title: tasks
|
||||||
§ page.person.total.tasks.description: Если коммиты правильно подписаны
|
§ page.person.total.tasks.description: If commits are properly signed
|
||||||
§ page.person.character.title: Персонаж
|
§ page.person.character.title: Character
|
||||||
§ page.person.achievement.title: Достижения
|
§ page.person.achievement.title: Achievements
|
||||||
§ page.person.achievement.positive: Позитивные
|
§ page.person.achievement.positive: Positive
|
||||||
§ page.person.achievement.normal: Нейтральные
|
§ page.person.achievement.normal: Neutral
|
||||||
§ page.person.achievement.negative: Негативные
|
§ page.person.achievement.negative: Negative
|
||||||
§ page.person.achievement.description: Чем больше сотрудник набрал отрицательных достижений, тем больше вероятность, что ситуация нестандартная. Возможно, стоит изменить режим его работы, задачи или отчётность. Следует поговорить с ним и узнать, какие проблемы мешают его работе.
|
§ page.person.achievement.description: The more negative achievements an employee accumulates, the higher the likelihood that the situation is unusual. It may be necessary to change their work mode, tasks, or reporting. A discussion with them to understand what problems are hindering their work is advisable.
|
||||||
§ page.person.gets.title: Взятые геты:
|
§ page.person.gets.title: Gets taken:
|
||||||
§ page.person.gets.description: «Взять гет» в данном случае означает первым оставить коммит к задаче с «красивым» номером.
|
§ page.person.gets.description: "Taking a get" in this context means being the first to leave a commit on a task with a "nice" number.
|
||||||
§ page.person.business.days.title: дней работы
|
§ page.person.business.days.title: days of work
|
||||||
§ page.person.business.days.description: Учтены только дни, в которые делались коммиты
|
§ page.person.business.days.description: Only days with commits are counted
|
||||||
§ page.person.business.tasks.title: задач
|
§ page.person.business.tasks.title: tasks
|
||||||
§ page.person.business.tasks.description: Если коммиты правильно подписаны
|
§ page.person.business.tasks.description: If commits are properly signed
|
||||||
§ page.person.business.losses.title: дней без коммитов
|
§ page.person.business.losses.title: days without commits
|
||||||
§ page.person.business.losses.description: Все дни минус: праздники, выходные, отпуск, дни с коммитами
|
§ page.person.business.losses.description: All days minus: holidays, weekends, vacation, days with commits
|
||||||
§ page.person.business.commits.title: коммитов
|
§ page.person.business.commits.title: commits
|
||||||
§ page.person.business.commits.description: Удалённые ветки не считаются
|
§ page.person.business.commits.description: Deleted branches are not counted
|
||||||
§ page.person.business.time.description: Время от первого, до последнего коммита (в том числе, нерабочие дни)
|
§ page.person.business.time.description: Time from the first to the last commit (including non-working days)
|
||||||
§ page.person.business.time.title: Дней на проекте:
|
§ page.person.business.time.title: Days on the project:
|
||||||
§ page.person.business.time.dismissed: (уволен)
|
§ page.person.business.time.dismissed: (dismissed)
|
||||||
§ page.person.business.time.staff: (не в команде)
|
§ page.person.business.time.staff: (not in the team)
|
||||||
§ page.person.business.achievements: Достижения
|
§ page.person.business.achievements: Achievements
|
||||||
§ page.person.changes.title: Достижения
|
§ page.person.changes.title: Achievements
|
||||||
§ page.person.changes.description:
|
§ page.person.changes.description:
|
||||||
При некоторых видах форматирования git отмечает строки как «удалённые» и «добавленные»,
|
With some types of formatting, git marks lines as "deleted" and "added",
|
||||||
хотя на самом деле они были «изменены». Поэтому, если вы провели большой рефакторинг,
|
although in reality, they were "changed". Therefore, if you conducted a major refactoring,
|
||||||
git может показать малое количество изменений в статистике, а фактический результат
|
git might show a small number of changes in the statistics, but the actual result
|
||||||
будет отмечен, как скачок «удаленных» и «добавленных» строк.
|
will be marked as a jump in "deleted" and "added" lines.
|
||||||
§ page.person.changes.description: Список коммитов и количество изменений в них за этот день:
|
§ page.person.changes.description: List of commits and the number of changes in them for that day:
|
||||||
§ page.person.commits.title: Список коммитов:
|
§ page.person.commits.title: List of commits:
|
||||||
§ page.person.money.title.total: За всё время
|
§ page.person.money.title.total: Total over time
|
||||||
§ page.person.money.title.middle: Средняя стоимость
|
§ page.person.money.title.middle: Average cost
|
||||||
§ page.person.money.moneyAll.title: получил
|
§ page.person.money.moneyAll.title: received
|
||||||
§ page.person.money.moneyAll.description: Предполагаемая сумма зп с проекта (см. настройки)
|
§ page.person.money.moneyAll.description: Assumed total salary from the project (see settings)
|
||||||
§ page.person.money.moneyWorked.title: отработал
|
§ page.person.money.moneyWorked.title: worked for
|
||||||
§ page.person.money.moneyWorked.description: Фактически отработанные дни умноженные на среднюю зп
|
§ page.person.money.moneyWorked.description: Actual days worked multiplied by average salary
|
||||||
§ page.person.money.moneyLosses.title: возможная переплата
|
§ page.person.money.moneyLosses.title: possible overpayment
|
||||||
§ page.person.money.moneyLosses.description: Дни без коммитов умноженные на среднюю зп
|
§ page.person.money.moneyLosses.description: Days without commits multiplied by average salary
|
||||||
§ page.person.money.tasks.title: задача
|
§ page.person.money.tasks.title: task
|
||||||
§ page.person.money.tasks.description: Количество закрытых задач к стоимости дня
|
§ page.person.money.tasks.description: Number of closed tasks to the cost of the day
|
||||||
§ page.person.money.commits.title: коммит
|
§ page.person.money.commits.title: commit
|
||||||
§ page.person.money.commits.description: Количество коммитов к стоимости рабочего дня
|
§ page.person.money.commits.description: Number of commits to the cost of the workday
|
||||||
§ page.person.speed.task: Одна задача в среднем это
|
§ page.person.speed.task: One task on average is
|
||||||
§ page.person.speed.max: Максимальная скорость в день
|
§ page.person.speed.max: Maximum speed per day
|
||||||
§ page.person.speed.days.title: дней
|
§ page.person.speed.days.title: days
|
||||||
§ page.person.speed.days.description: Имеются ввиду рабочие дни, если коммиты правильно подписаны
|
§ page.person.speed.days.description: Refers to workdays, if commits are properly signed
|
||||||
§ page.person.speed.commits.title: коммитов
|
§ page.person.speed.commits.title: commits
|
||||||
§ page.person.speed.commits.description: Отрезаны 10% максимальных и минимальных значений
|
§ page.person.speed.commits.description: Top and bottom 10% of values are trimmed
|
||||||
§ page.person.speed.line.title: строк кода
|
§ page.person.speed.line.title: lines of code
|
||||||
§ page.person.speed.line.description: Отрезаны 10% максимальных и минимальных значений
|
§ page.person.speed.line.description: Top and bottom 10% of values are trimmed
|
||||||
§ page.person.speed.tasks.title: задач
|
§ page.person.speed.tasks.title: tasks
|
||||||
§ page.person.speed.tasks.description: Задача может быть не доделана, но работа по ней должна быть
|
§ page.person.speed.tasks.description: A task may not be completed, but work should be done on it
|
||||||
§ page.person.speed.maxCommits.title: коммитов
|
§ page.person.speed.maxCommits.title: commits
|
||||||
§ page.person.speed.maxCommits.description: Задача может быть не доделана, но работа по ней должна быть
|
§ page.person.speed.maxCommits.description: A task may not be completed, but work should be done on it
|
||||||
§ page.person.hours.title: Распределение коммитов в течении каждого дня недели
|
§ page.person.hours.title: Distribution of commits during each day of the week
|
||||||
§ page.person.week.date: Дата
|
§ page.person.week.date: Date
|
||||||
§ page.person.week.tasks: Количество задач
|
§ page.person.week.tasks: Number of Tasks
|
||||||
§ page.person.week.workDays: Дни с коммитами
|
§ page.person.week.workDays: Days with Commits
|
||||||
§ page.person.week.taskInDay: Задач в день
|
§ page.person.week.taskInDay: Tasks per Day
|
||||||
§ page.person.week.days: дней
|
§ page.person.week.days: days
|
||||||
§ page.person.week.workDay: будни
|
§ page.person.week.workDay: weekdays
|
||||||
§ page.person.week.weekends: выходные
|
§ page.person.week.weekends: weekends
|
||||||
`;
|
`;
|
|
@ -1,506 +1,503 @@
|
||||||
export default `
|
export default `
|
||||||
§ recommendations.title
|
§ recommendations.title
|
||||||
Рекомендации и факты
|
Recommendations and Facts
|
||||||
|
|
||||||
§ recommendations.timestamp.firstCommit.description
|
§ recommendations.timestamp.firstCommit.description
|
||||||
сделал первый коммит
|
made the first commit
|
||||||
|
|
||||||
День недели: $1
|
Day of the Week: $1
|
||||||
|
|
||||||
§ recommendations.timestamp.lastCommit.description
|
§ recommendations.timestamp.lastCommit.description
|
||||||
сделал последний коммит
|
made the last commit
|
||||||
|
|
||||||
День недели: $1
|
Day of the Week: $1
|
||||||
|
|
||||||
§ recommendations.timestamp.common.title: $1 дней
|
§ recommendations.timestamp.common.title: $1 days
|
||||||
§ recommendations.timestamp.allDays.description: от первого до последнего коммита (включая выходные и праздники).
|
§ recommendations.timestamp.allDays.description: from the first to the last commit (including weekends and holidays).
|
||||||
§ recommendations.timestamp.lossesDays.description: без коммитов, даже с учётом выходных, отпуска и государственных праздников.
|
§ recommendations.timestamp.lossesDays.description: days without commits, even considering weekends, vacation, and public holidays.
|
||||||
§ recommendations.timestamp.weekendDays.description
|
§ recommendations.timestamp.weekendDays.description
|
||||||
работы на выходных
|
working on weekends
|
||||||
|
|
||||||
# Почему это плохо:
|
# Why this is bad:
|
||||||
- заказчик платит двойную цену за работу в выходной день;
|
- the client pays double the price for work on a weekend day;
|
||||||
- сотрудники быстрее выгорают;
|
- employees burn out faster;
|
||||||
|
|
||||||
§ recommendations.timestamp.regularWeekendWord.title: Регулярные переработки
|
§ recommendations.timestamp.regularWeekendWord.title: Regular Overtime
|
||||||
§ recommendations.timestamp.sometimeWeekendWord.title: Бывают переработки
|
§ recommendations.timestamp.sometimeWeekendWord.title: Occasional Overtime
|
||||||
§ recommendations.timestamp.weekendWord.description
|
§ recommendations.timestamp.weekendWord.description
|
||||||
Вероятно, стоит сменить менеджера проекта, аналитика и архитектора.
|
It might be advisable to change the project manager, analyst, and architect.
|
||||||
|
|
||||||
# Почему это плохо:
|
# Why this is bad:
|
||||||
- заказчик платит двойную цену за работу в выходной день;
|
- the client pays double the price for work on a weekend day;
|
||||||
- качество продукта, как правило, получается низкое;
|
- the quality of the product is usually low;
|
||||||
- часть сотрудников увольняется;
|
- some employees resign;
|
||||||
- из-за спешки появляются новые ошибки;
|
- new errors emerge due to the rush;
|
||||||
|
|
||||||
# Скорее всего:
|
# Most likely:
|
||||||
- неверно оценили сроки в самом начале;
|
- deadlines were incorrectly estimated at the beginning;
|
||||||
- тех. задание отсутствует;
|
- technical specifications are missing;
|
||||||
- слабая аналитика;
|
- weak analytics;
|
||||||
- слабая архитектура (архитектора не нанимали, а команда состоит из мидл разработчиков);
|
- weak architecture (no architect was hired, and the team consists of mid-level developers);
|
||||||
- сначала начали писать код, потом проектировать;
|
- started writing code first, then planning;
|
||||||
- нет нормальных процессов, чтобы понять ошибки;
|
- lack of proper processes to understand mistakes;
|
||||||
|
|
||||||
§ recommendations.timestamp.neverWeekendWord.title: Обычно без переработок
|
§ recommendations.timestamp.neverWeekendWord.title: Usually Without Overtime
|
||||||
§ recommendations.timestamp.neverWeekendWord.description
|
§ recommendations.timestamp.neverWeekendWord.description
|
||||||
Но иногда бывают.
|
But sometimes it happens.
|
||||||
|
|
||||||
# Почему это плохо:
|
# Why this is bad:
|
||||||
- заказчик платит двойную цену за работу в выходной день;
|
- the client pays double the price for work on a weekend day;
|
||||||
- сотрудники быстрее выгорают;
|
- employees burn out faster;
|
||||||
|
|
||||||
§ recommendations.scope.parallelism.not.title
|
§ recommendations.scope.parallelism.not.title
|
||||||
Нет параллельных работ
|
No Parallel Work
|
||||||
|
|
||||||
§ recommendations.scope.parallelism.not.description
|
§ recommendations.scope.parallelism.not.description
|
||||||
любую фичу в один момент времени делает один человек.
|
any feature at any given time is done by one person.
|
||||||
|
|
||||||
# Метод расчёта:
|
# Calculation method:
|
||||||
- человеко-дни делятся на фактические дни для каждой фичи;
|
- person-days are divided by the actual days for each feature;
|
||||||
- находим среднее арифметическое;
|
- we find the arithmetic mean;
|
||||||
- если результат меньше 1.3 считаем, что параллельных работ в рамках большинства фичей обычно нет;
|
- if the result is less than 1.3, we consider that there is usually no parallel work within most features;
|
||||||
|
|
||||||
# Почему это плохо:
|
# Why this is bad:
|
||||||
- повышается bus factor;
|
- increases bus factor;
|
||||||
- сотрудники медленнее развиваются;
|
- employees develop more slowly;
|
||||||
- трудно качественно проверить работу сотрудника;
|
- difficult to properly check an employee's work;
|
||||||
|
|
||||||
# Почему это хорошо:
|
# Why this is good:
|
||||||
- появляются эксперты, которые очень глубоко погружены в предметную область и могут предложить более качественные решения;
|
- experts emerge who are deeply immersed in the subject area and can offer more quality solutions;
|
||||||
- скорее всего не бывает merge конфликтов;
|
- most likely there are no merge conflicts;
|
||||||
- проект может очень быстро параллельно развиваться в разные стороны;
|
- the project can quickly develop in different directions simultaneously;
|
||||||
|
|
||||||
§ recommendations.scope.parallelism.has.title
|
§ recommendations.scope.parallelism.has.title
|
||||||
Часть работ параллельно
|
Some Work Done in Parallel
|
||||||
|
|
||||||
§ recommendations.scope.parallelism.has.description
|
§ recommendations.scope.parallelism.has.description
|
||||||
Иногда фичу делают одновременно несколько человек.
|
Sometimes a feature is worked on simultaneously by several people.
|
||||||
|
|
||||||
# Метод расчёта:
|
|
||||||
- человеко-дни делятся на фактические дни для каждой фичи;
|
|
||||||
- находим среднее арифметическое;
|
|
||||||
- если результат от 1.3 до 2.0 считаем, что часть работ в рамках разных фичей иногда делается параллельно;
|
|
||||||
|
|
||||||
|
# Calculation method:
|
||||||
|
- person-days are divided by the actual days for each feature;
|
||||||
|
- we find the arithmetic mean;
|
||||||
|
- if the result is from 1.3 to 2.0, we consider that some of the work within different features is sometimes done in parallel;
|
||||||
|
|
||||||
§ recommendations.scope.parallelism.every.title
|
§ recommendations.scope.parallelism.every.title
|
||||||
Параллельные работы
|
Parallel Work
|
||||||
|
|
||||||
§ recommendations.scope.parallelism.every.description
|
§ recommendations.scope.parallelism.every.description
|
||||||
любую фичу в один момент времени делают несколько человек
|
any feature at any given time is worked on by several people
|
||||||
|
|
||||||
# Метод расчёта:
|
|
||||||
- человеко-дни делятся на фактические дни для каждой фичи;
|
|
||||||
- находим среднее арифметическое;
|
|
||||||
- если результат больше двух считаем, что большая часть работ в рамках разных фичей обычно делается параллельно;
|
|
||||||
|
|
||||||
|
# Calculation method:
|
||||||
|
- person-days are divided by the actual days for each feature;
|
||||||
|
- we find the arithmetic mean;
|
||||||
|
- if the result is more than two, we consider that most of the work within different features is usually done in parallel;
|
||||||
|
|
||||||
§ recommendations.scope.money
|
§ recommendations.scope.money
|
||||||
в такую сумму можно оценить работу по данному проекту.
|
this is the estimated cost for the work on this project.
|
||||||
|
|
||||||
# Метод расчёта:
|
# Calculation method:
|
||||||
- человеко-дни затраченные на разработку умножаются на индивидуальную зарплату разработчиков;
|
- person-days spent on development are multiplied by the individual salaries of the developers;
|
||||||
|
|
||||||
Изменить зарплату каждого разработчика, для более точной суммы, можно в разделе «Настройки»
|
To change the salary of each developer for a more accurate total, go to the "Settings" section.
|
||||||
|
|
||||||
# Это много или мало?
|
# Is this too much or too little?
|
||||||
Для ответа на этот вопрос, нужно ответить на следующие:
|
To answer this question, consider the following:
|
||||||
- Можно ли за эти деньги было купить готовое решение?
|
- Could a ready-made solution have been purchased for this amount of money?
|
||||||
- Можно ли за эти деньги сделать более хороший продукт?
|
- Could a better product have been developed for this amount of money?
|
||||||
|
|
||||||
Если ответ на оба вопроса «да», то возможно, разработка с нуля не стоила потраченных на неё денег.
|
If the answer to both questions is "yes," then perhaps developing from scratch was not worth the money spent.
|
||||||
|
|
||||||
§ recommendations.scope.bus.everyHasOne.title
|
§ recommendations.scope.bus.everyHasOne.title
|
||||||
Bus factor = 1
|
Bus factor = 1
|
||||||
|
|
||||||
§ recommendations.scope.bus.everyHasOne.description
|
§ recommendations.scope.bus.everyHasOne.description
|
||||||
В большинство фич погружен один человек.
|
Most features are deeply understood by only one person.
|
||||||
Надо переключать людей.
|
It's necessary to rotate people.
|
||||||
|
|
||||||
# Почему это плохо:
|
# Why this is bad:
|
||||||
- если сотрудники будут увольняться, будет трудно продолжить их работу;
|
- if employees resign, it will be difficult to continue their work;
|
||||||
- невозможно контролировать качество его кода;
|
- it’s impossible to control the quality of their code;
|
||||||
|
|
||||||
# Как делается выборка:
|
# How the sample is chosen:
|
||||||
- более 80% коммитов в фичу делает один человек;
|
- more than 80% of commits in a feature are made by one person;
|
||||||
- проект имеет более 60% таких фичей;
|
- the project has more than 60% of such features;
|
||||||
|
|
||||||
§ recommendations.scope.bus.oneMaintainer
|
§ recommendations.scope.bus.oneMaintainer
|
||||||
в фичи погружен один человек.
|
one person is deeply involved in a feature.
|
||||||
|
|
||||||
# Почему это плохо:
|
# Why this is bad:
|
||||||
- если он уволится, будет трудно продолжить разработку;
|
- if they resign, it will be hard to continue development;
|
||||||
- снижается качество code-review;
|
- the quality of code-review decreases;
|
||||||
- трудно запараллелить разработку при необходимости;
|
- it’s difficult to parallelize development when needed;
|
||||||
|
|
||||||
# Как делается выборка:
|
# How the sample is chosen:
|
||||||
- более 80% коммитов в фичу сделал один человек;
|
- more than 80% of commits in a feature are made by one person;
|
||||||
|
|
||||||
§ recommendations.scope.types.process.title
|
§ recommendations.scope.types.process.title
|
||||||
Плохие процессы
|
Poor Processes
|
||||||
|
|
||||||
§ recommendations.scope.types.process.description
|
§ recommendations.scope.types.process.description
|
||||||
Большинство фич содержат один тип задач.
|
Most features contain one type of task.
|
||||||
|
|
||||||
§ recommendations.scope.types.one
|
§ recommendations.scope.types.one
|
||||||
фичи содержат один тип задач.
|
features contain one type of task.
|
||||||
|
|
||||||
§ recommendations.scope.types.common
|
§ recommendations.scope.types.common
|
||||||
Возможно, разработчики неправильно подписывают коммиты или менеджер заводит один и тот же тип задач.
|
It's possible that developers are incorrectly signing commits or the manager is entering the same type of tasks.
|
||||||
|
|
||||||
# Почему это важно:
|
# Why this is important:
|
||||||
- невозможно передать поддержку другой команде;
|
- it's impossible to hand over support to another team;
|
||||||
- невозможно выпустить "коробочную" версию;
|
- it's impossible to release a "boxed" version;
|
||||||
- сильная зависимость от конкретных разработчиков;
|
- strong dependence on specific developers;
|
||||||
- большое количество ошибок и низкое качество кода;
|
- a high number of errors and low code quality;
|
||||||
- вероятное замедление разработки в будущем;
|
- potential slowdown in development in the future;
|
||||||
|
|
||||||
# В чём ошибка менеджера:
|
# The manager's mistake:
|
||||||
- взгляд на продукт, только с позиции «работающей демки»;
|
- viewing the product only from the perspective of a "working demo";
|
||||||
|
|
||||||
# Что должно быть:
|
# What should be done:
|
||||||
- тесты;
|
- tests;
|
||||||
- ошибки (выявленные по результатам тестов);
|
- bugs (identified through testing);
|
||||||
- рефакторинг (т.к. архитектура может измениться);
|
- refactoring (as architecture may change);
|
||||||
- документация;
|
- documentation;
|
||||||
- правки стиля (как результат опроса фокус-группы);
|
- style revisions (as a result of focus group feedback);
|
||||||
|
|
||||||
§ recommendations.scope.plan.title
|
§ recommendations.scope.plan.title
|
||||||
Постройте долгосрочный план
|
Develop a Long-Term Plan
|
||||||
|
|
||||||
§ recommendations.scope.plan.description
|
§ recommendations.scope.plan.description
|
||||||
с учетом архитектуры.
|
taking architecture into account.
|
||||||
|
|
||||||
При том опираться этот план должен сразу на самые трудные задачи.
|
This plan should immediately focus on the most challenging tasks.
|
||||||
|
|
||||||
# Почему отсутствие плана плохо:
|
# Why the lack of a plan is bad:
|
||||||
- сотрудники делают минимально работающую версию, не закладывая точки расширения. После этого пишется не масштабируемый код, который тормозит следующие фичи;
|
- employees create a minimally viable version without planning for expansion points. After this, unscalable code is written, which slows down future features;
|
||||||
|
|
||||||
# В чём ошибка менеджера:
|
# The manager's mistake:
|
||||||
- он не показал, как продукт будет развиваться далее и в каких точках будет рост;
|
- they haven't shown how the product will develop further and where the growth points will be;
|
||||||
|
|
||||||
# Как должно быть:
|
# How it should be done:
|
||||||
- составляется глобальный план развития продукта;
|
- a global product development plan is created;
|
||||||
- составляется глобальный план развития архитектуры (с разработчиками и DBA);
|
- a global architecture development plan is created (with developers and DBAs);
|
||||||
- на уровне схем сразу проговариваются моменты, которые могут сильно измениться;
|
- potential significant changes are discussed upfront at the schematic level;
|
||||||
|
|
||||||
§ recommendations.scope.cost.title
|
§ recommendations.scope.cost.title
|
||||||
Оцените инвестиции в фичу
|
Evaluate Investment in a Feature
|
||||||
|
|
||||||
§ recommendations.scope.cost.description
|
§ recommendations.scope.cost.description
|
||||||
с количеством потенциальной прибыли.
|
in terms of potential profit.
|
||||||
|
|
||||||
Фичи которые дорого стоят в разработке, но приносят мало прибыли, возможно, стоит отложить или вообще отменить. Это сделает проект более коммерчески успешным.
|
Features that are expensive to develop but bring little profit may need to be postponed or even canceled. This will make the project more commercially successful.
|
||||||
|
|
||||||
§ recommendations.author.lotOfLazy
|
§ recommendations.author.lotOfLazy
|
||||||
пишет слишком мало кода.
|
writes too little code.
|
||||||
|
|
||||||
# Может уволить?
|
# Should they be fired?
|
||||||
- он тимлид, архитектор, аналитик?
|
- are they a team leader, architect, or analyst?
|
||||||
- это его основной проект?
|
- is this their primary project?
|
||||||
- есть какие-то зависимости от него?
|
- are there any dependencies on them?
|
||||||
|
|
||||||
# Почему нет смысла исправлять
|
# Why it makes no sense to correct
|
||||||
Суммарные затраты на разработчика уже больше чем прибыль от его работы.
|
The total costs for the developer are already more than the profit from their work.
|
||||||
Если мы считаем, что объективных помех его работе не было, то человек либо не хочет работать вообще, либо работает на двух проектах одновременно.
|
If we believe that there were no objective hindrances to their work, then the person either does not want to work at all or is working on two projects simultaneously.
|
||||||
Увольнение и замена новым сотрудником выглядит оправданным с точки зрения общей статистики.
|
Firing and replacing them with a new employee seems justified from a statistical point of view.
|
||||||
|
|
||||||
§ recommendations.author.manyLazy
|
§ recommendations.author.manyLazy
|
||||||
пишет мало кода. Нужно взять на контроль.
|
writes little code. Needs to be monitored.
|
||||||
|
|
||||||
# Как делается выборка:
|
# How the sample is chosen:
|
||||||
- на тестовых выборках хороший программист пишет код больше 80% времени;
|
- in test samples, a good programmer writes code for more than 80% of the time;
|
||||||
- в данном случае показатель от 60% до 80%;
|
- in this case, the indicator is between 60% and 80%;
|
||||||
|
|
||||||
# Как контролировать:
|
# How to monitor:
|
||||||
- дробить задачи на 1..2 дня;
|
- break tasks into 1..2 days;
|
||||||
- каждый день спрашивать статус;
|
- ask for a status update every day;
|
||||||
- убедиться, что задачи хорошо расписаны и готовы к началу разработки;
|
- ensure tasks are well defined and ready for development;
|
||||||
- устроить парное программирование, чтобы проверить фактическую скорость;
|
- arrange pair programming to check actual speed;
|
||||||
|
|
||||||
§ recommendations.author.oneTypeMans
|
§ recommendations.author.oneTypeMans
|
||||||
получает слишком однообразные задачи по типу. Может выгореть.
|
receives too many monotonous tasks of the same type. Risk of burnout.
|
||||||
|
|
||||||
# Почему это важно:
|
# Why this is important:
|
||||||
- если сотрудник выгорит, его скорость работы снизится;
|
- if an employee burns out, their work speed will decrease;
|
||||||
- замедляется профессиональный рост;
|
- professional growth slows down;
|
||||||
- повышается вероятность увольнения;
|
- the likelihood of resignation increases;
|
||||||
|
|
||||||
# Как делается выборка:
|
# How the sample is chosen:
|
||||||
- для каждого коммита определятся тип задачи;
|
- the type of task is determined for each commit;
|
||||||
- если больше 70% задач одного типа, значит человек делает одно и тоже;
|
- if more than 70% of tasks are of the same type, it means the person is doing the same thing repeatedly;
|
||||||
|
|
||||||
§ recommendations.author.workToday.title: Работает $1
|
§ recommendations.author.workToday.title: Working $1
|
||||||
§ recommendations.author.workToday.description
|
§ recommendations.author.workToday.description
|
||||||
над проектом в данный момент.
|
on the project at this moment.
|
||||||
|
|
||||||
# Состав:
|
# Composition:
|
||||||
- $1;
|
- $1;
|
||||||
|
|
||||||
# Почему именно они:
|
# Why specifically them:
|
||||||
- рабочих дней более 50%;
|
- more than 50% of workdays;
|
||||||
- работали в течении последних 30 дней;
|
- have worked during the last 30 days;
|
||||||
|
|
||||||
§ recommendations.author.dismissed.title: Уволилось $1
|
§ recommendations.author.dismissed.title: Dismissed $1
|
||||||
§ recommendations.author.dismissed.description
|
§ recommendations.author.dismissed.description
|
||||||
или работало короткий промежуток времени.
|
or worked for a short period.
|
||||||
|
|
||||||
# Состав:
|
# Composition:
|
||||||
- $1;
|
- $1;
|
||||||
|
|
||||||
# Почему именно они:
|
# Why specifically them:
|
||||||
- работали в нормальном ритме (видимо, это их основной репозиторий);
|
- worked at a normal pace (apparently, this is their main repository);
|
||||||
- за последний месяц не было ни одного коммита;
|
- no commits in the last month;
|
||||||
- отпуск обычно 14 дней (их отсутствие не похоже на отпуск);
|
- vacation usually lasts 14 days (their absence does not resemble a vacation);
|
||||||
|
|
||||||
§ recommendations.author.staff.title: Помогают $1
|
§ recommendations.author.staff.title: Assisting $1
|
||||||
§ recommendations.author.staff.description
|
§ recommendations.author.staff.description
|
||||||
Люди другой специализации, которые что-либо коммитили.
|
People of other specializations who have committed something.
|
||||||
|
|
||||||
# Состав:
|
# Composition:
|
||||||
- $1;
|
- $1;
|
||||||
|
|
||||||
# Почему именно они:
|
# Why specifically them:
|
||||||
- это не open-source проект;
|
- this is not an open-source project;
|
||||||
- рабочих дней менее 15% от общего числа;
|
- workdays less than 15% of the total number;
|
||||||
- изменяют примерно одни и те же файлы;
|
- modify roughly the same files;
|
||||||
|
|
||||||
§ recommendations.author.projectType.openSource.title
|
§ recommendations.author.projectType.openSource.title
|
||||||
Открытый проект
|
Open Project
|
||||||
|
|
||||||
§ recommendations.author.projectType.openSource.description
|
§ recommendations.author.projectType.openSource.description
|
||||||
пять дней в неделю тут не работают.
|
they do not work five days a week here.
|
||||||
|
|
||||||
Проект может быть и закрытым, просто такой темп работы обычно у открытых библиотек на GitHub.
|
The project may be closed, but this work pace is typical for open libraries on GitHub.
|
||||||
|
|
||||||
# Метод оценки:
|
# Assessment method:
|
||||||
- берется статистика по всем активным разработчикам;
|
- statistics are taken for all active developers;
|
||||||
- подсчитывается среднее число дней работы и без коммитов;
|
- the average number of working days and days without commits is calculated;
|
||||||
- у open-source библиотек рабочих дней обычно максимум 15..20%;
|
- for open-source libraries, working days are usually a maximum of 15..20%;
|
||||||
|
|
||||||
# Последствия
|
# Consequences
|
||||||
Для проектов, где работа не постоянна, нет смысла во многих показателях. Поэтому показатели без коммитов, скорости и т.п. будут скрыты.
|
For projects where work is not constant, many indicators do not make sense. Therefore, indicators like days without commits, speed, etc., will be hidden.
|
||||||
|
|
||||||
Как правило, оценку таких проектов делают перед началом разработки своей закрытой версии. Самые интересные показатели в этом случае вероятная стоимость и суммарное время на разработку.
|
|
||||||
|
|
||||||
|
Typically, such projects are assessed before starting the development of their own closed version. The most interesting indicators in this case are the probable cost and total development time.
|
||||||
|
|
||||||
§ recommendations.author.projectType.easy.title
|
§ recommendations.author.projectType.easy.title
|
||||||
Слабая загрузка
|
Light Workload
|
||||||
|
|
||||||
§ recommendations.author.projectType.easy.description
|
§ recommendations.author.projectType.easy.description
|
||||||
слишком много дней без коммитов. Нужно понять почему команда не пишет код.
|
too many days without commits. It is necessary to understand why the team is not writing code.
|
||||||
|
|
||||||
# Метод оценки:
|
# Assessment method:
|
||||||
- берется статистика по всем активным разработчикам;
|
- take statistics from all active developers;
|
||||||
- подсчитывается среднее число дней работы и без коммитов;
|
- calculate the average number of working days and days without commits;
|
||||||
- загрузка считается слабой, если процент без коммитов от 5% до 20%;
|
- workload is considered light if the percentage of days without commits is between 5% and 20%;
|
||||||
|
|
||||||
# Возможные причины:
|
# Possible reasons:
|
||||||
- фактически нет задач;
|
- there are actually no tasks;
|
||||||
- задачи есть, но хорошо ложатся на текущую архитектуру;
|
- there are tasks, but they fit well with the current architecture;
|
||||||
- разработчиков отвлекают совещаниями;
|
- developers are distracted by meetings;
|
||||||
- команда не работает;
|
- the team is not working;
|
||||||
|
|
||||||
# Варианты решения:
|
# Solutions:
|
||||||
- обсудить проблему с командой;
|
- discuss the issue with the team;
|
||||||
- уменьшить гранулярность задач, чтобы за день можно было успеть сделать одну или две задачи;
|
- reduce task granularity so that one or two tasks can be completed in a day;
|
||||||
- ввести ежедневные совещания, чтобы проверять движение задач по статусу;
|
- introduce daily meetings to check the status of tasks;
|
||||||
- устроить сеансы парного программирования, чтобы убедиться, что разработчик может работать быстрее;
|
- arrange pair programming sessions to ensure that the developer can work faster;
|
||||||
|
|
||||||
§ recommendations.author.manager.title
|
§ recommendations.author.manager.title
|
||||||
Обозначьте дедлайны
|
Set Deadlines
|
||||||
|
|
||||||
§ recommendations.author.manager.description
|
§ recommendations.author.manager.description
|
||||||
У любой задачи должен быть чёткий дедлайн.
|
Every task should have a clear deadline.
|
||||||
|
|
||||||
Это позволит не затягивать её выполнение на несколько дней или недель.
|
This will prevent dragging out its completion for several days or weeks.
|
||||||
|
|
||||||
# Какие показатели стоит проверить:
|
# Indicators to check:
|
||||||
- количество дней на одну задачу, которое тратит работник;
|
- the number of days spent on one task by an employee;
|
||||||
- количество дней ожидания влития PR (страница статистики по PR);
|
- the number of days waiting for PR merge (PR statistics page);
|
||||||
|
|
||||||
§ recommendations.author.shorTalk.title
|
§ recommendations.author.shorTalk.title
|
||||||
Проводите ежедневные совещания
|
Conduct Daily Meetings
|
||||||
|
|
||||||
§ recommendations.author.shorTalk.description
|
§ recommendations.author.shorTalk.description
|
||||||
они помогают быть в курсе проекта.
|
they help stay informed about the project.
|
||||||
|
|
||||||
Не растягивайте их отвлекаясь на посторонние темы.
|
Do not stretch them by getting sidetracked on irrelevant topics.
|
||||||
|
|
||||||
# На какие вопросы должен ответить сотрудник:
|
# Questions the employee should answer:
|
||||||
- что было сделано;
|
- what was done;
|
||||||
- что будет сделано;
|
- what will be done;
|
||||||
- есть ли какие-либо проблемы;
|
- are there any issues;
|
||||||
|
|
||||||
# Следует обрывать монолог, если:
|
# Interruptions should occur if:
|
||||||
- начинают подробно описывать мелкие детали, которые не важны;
|
- they start describing minor details in-depth, which are not important;
|
||||||
- уводят диалог в сторону, от первоначального плана;
|
- they steer the conversation away from the original plan;
|
||||||
|
|
||||||
# Почему это важно:
|
# Why this is important:
|
||||||
Часто сотрудник, который ничего не делает, старается уйти от ответа. Для этого он рассказывает кучу ненужных подробностей свой работы. Это позволяет усыпить внимание участников и растянуть время ответа. Создается ощущение что он чем-то занят, хотя по факту работы не было.
|
Often an employee who does nothing tries to avoid the answer by telling a bunch of unnecessary details of their work. This lulls the participants' attention and stretches the time for a response. It creates an impression that they are busy, even though there was no actual work done.
|
||||||
|
|
||||||
§ recommendations.author.ipr.title
|
§ recommendations.author.ipr.title
|
||||||
Составьте план обучения
|
Develop a Training Plan
|
||||||
|
|
||||||
§ recommendations.author.ipr.description
|
§ recommendations.author.ipr.description
|
||||||
на каждого сотрудника.
|
for each employee.
|
||||||
|
|
||||||
*Индивидуальный план обучения* — это список целей и задач, которые помогают человеку развиваться в определенной области.
|
*Individual training plan* is a list of goals and tasks that help a person develop in a certain area.
|
||||||
|
|
||||||
# Как составить план:
|
# How to create a plan:
|
||||||
- составить матрицу компетенций;
|
- create a competency matrix;
|
||||||
- определить по каким компетенциям меньше всего знаний и опыта;
|
- identify which competencies have the least knowledge and experience;
|
||||||
- узнать какие из этих компетенций интересны сотруднику;
|
- find out which of these competencies are of interest to the employee;
|
||||||
- придумать 3..5 целей в рамках каждой такой компетенции на полпостороние года или год;
|
- come up with 3..5 goals within each such competency for the next six months or a year;
|
||||||
- каждый месяц пытаться сделать что-либо для достижения одной цели;
|
- try to do something every month to achieve one goal;
|
||||||
- каждый месяц напоминать об общем плане достижения этих целей;
|
- remind every month about the overall plan to achieve these goals;
|
||||||
|
|
||||||
# Нужен ли план руководителю?
|
# Does a manager need a plan?
|
||||||
Да, руководитель так же должен составить план на себя. Если нет вышестоящего руководителя, то он должен проверять сам себя.
|
Yes, the manager should also make a plan for themselves. If there is no higher-level manager, they should self-assess.
|
||||||
|
|
||||||
# Почему это важно:
|
# Why this is important:
|
||||||
- сотрудники становятся более лояльны к компании;
|
- employees become more loyal to the company;
|
||||||
- за теже деньги вы получаете более квалифицированные кадры;
|
- you get more qualified personnel for the same money;
|
||||||
|
|
||||||
§ recommendations.author.oneToOne.title
|
§ recommendations.author.oneToOne.title
|
||||||
Проводите 1-1 каждый месяц
|
Conduct One-on-One Meetings Every Month
|
||||||
|
|
||||||
§ recommendations.author.oneToOne.description
|
§ recommendations.author.oneToOne.description
|
||||||
это поможет выявить проблемы на ранней стадии.
|
it helps to identify problems at an early stage.
|
||||||
|
|
||||||
*One-to-one* — это регулярные личные встречи руководителя с подчиненным. На таких встречах обычно обсуждают всё, что важно для сотрудника, что его волнует, и то, чем он может поделиться с руководителем только наедине.
|
*One-to-one* is a regular personal meeting of a manager with a subordinate. Such meetings typically discuss everything important to the employee, what concerns them, and what they can share with the manager in private.
|
||||||
|
|
||||||
# Почему это важно:
|
# Why this is important:
|
||||||
- легко выяснить, кто из сотрудников перегружен, а у кого есть свободное время;
|
- easy to find out who is overburdened and who has free time;
|
||||||
- можно предотвратить выгорание сотрудника;
|
- possible to prevent employee burnout;
|
||||||
- можно получить быструю обратную связь о процессах, которые вы можете не замечать;
|
- quick feedback can be obtained about processes that you might not notice;
|
||||||
- формируется доверительное отношение, сотрудники становятся более лояльны к компании;
|
- trust is built, making employees more loyal to the company;
|
||||||
- повышается мотивация и вовлеченность сотрудников;
|
- increases employee motivation and engagement;
|
||||||
|
|
||||||
§ recommendations.author.club.title
|
§ recommendations.author.club.title
|
||||||
Ходите в бар
|
Go to a Bar
|
||||||
|
|
||||||
§ recommendations.author.club.description
|
§ recommendations.author.club.description
|
||||||
один раз в месяц или два.
|
once a month or two.
|
||||||
|
|
||||||
Это поможет выстроить неформальную коммуникацию в коллективе и сплотить команду, даже если общение будет сжатым.
|
This will help build informal communication within the team and bring the team together, even if the interaction is brief.
|
||||||
|
|
||||||
# Почему это важно:
|
# Why this is important:
|
||||||
- можно получить быструю обратную связь о процессах, которые вы можете не замечать;
|
- quick feedback can be obtained about processes that you might not notice;
|
||||||
- формируется доверительное отношение, сотрудники становятся более лояльны к компании;
|
- trust is built, making employees more loyal to the company;
|
||||||
- повышается вовлеченность сотрудников;
|
- increases employee engagement;
|
||||||
|
|
||||||
§ recommendations.hour.onlyWork.title: Выходных тут нет
|
§ recommendations.hour.onlyWork.title: No Weekends Here
|
||||||
§ recommendations.hour.onlyWork.description: Вероятно, стоит уволить менеджера проекта.
|
§ recommendations.hour.onlyWork.description: The project manager should probably be fired.
|
||||||
§ recommendations.hour.weekends.title: Работа на выходных
|
§ recommendations.hour.weekends.title: Working on Weekends
|
||||||
§ recommendations.hour.weekends.description: Вероятно, стоит проверить менеджера проекта.
|
§ recommendations.hour.weekends.description: The project manager should probably be checked.
|
||||||
§ recommendations.hour.easy.title: Бывают проблемы
|
§ recommendations.hour.easy.title: There Are Problems
|
||||||
§ recommendations.hour.easy.description: Вероятно, бывают завалы и приходится работать на выходных.
|
§ recommendations.hour.easy.description: There are likely crunch times and work is needed on weekends.
|
||||||
§ recommendations.week.lazyDays.down.title: Стало меньше прогулов
|
§ recommendations.week.lazyDays.down.title: Fewer Absences
|
||||||
§ recommendations.week.lazyDays.down.description: за последние три недели этот показатель упал
|
§ recommendations.week.lazyDays.down.description: this indicator has dropped over the last three weeks
|
||||||
§ recommendations.week.lazyDays.up.title: Стало больше прогулов
|
§ recommendations.week.lazyDays.up.title: More Absences
|
||||||
§ recommendations.week.lazyDays.up.description: нет задач или нужен более жесткий контроль
|
§ recommendations.week.lazyDays.up.description: no tasks or stricter control is needed
|
||||||
§ recommendations.week.notWork.title: Стабильно не дорабатывает
|
§ recommendations.week.notWork.title: Consistently Underperforms
|
||||||
§ recommendations.week.notWork.description: т.к. каждую неделю пишет код не 100% времени
|
§ recommendations.week.notWork.description: as every week the code is not 100% of the time
|
||||||
§ recommendations.week.upWork.title: Стабильно перерабатывает
|
§ recommendations.week.upWork.title: Consistently Overworks
|
||||||
§ recommendations.week.upWork.description: т.к. каждую неделю пишет код в выходные дни
|
§ recommendations.week.upWork.description: as every week code is written on weekend days
|
||||||
§ recommendations.week.task.up.title: Растёт производительность
|
§ recommendations.week.task.up.title: Productivity is growing
|
||||||
§ recommendations.week.task.up.description: или задачи стали слишком мелкие. Нужно проверить. Если гранулярность та же - закрепить результат.
|
§ recommendations.week.task.up.description: or tasks have become too small. Need to check. If granularity is the same - reinforce the result.
|
||||||
§ recommendations.week.task.lazyMaintainer.description: стабильный лидер по прогулам. Уволить?
|
§ recommendations.week.task.lazyMaintainer.description: consistently leads in absences. Fire?
|
||||||
§ recommendations.week.task.down.title: Падает производительность
|
§ recommendations.week.task.down.title: Productivity is Falling
|
||||||
§ recommendations.week.task.down.description
|
§ recommendations.week.task.down.description
|
||||||
или задачи хуже разбивают. Нужно проверить. Если гранулярность та же - взять на контроль.
|
or tasks are poorly split. Need to check. If granularity is the same - take control.
|
||||||
|
|
||||||
# Метод оценки:
|
# Assessment method:
|
||||||
- количество задач в день, над которыми работают, на протяжении последних трех недель стабильно падает.
|
- the number of tasks per day that are being worked on has been steadily decreasing over the last three weeks.
|
||||||
|
|
||||||
# Возможные ошибки:
|
# Possible errors:
|
||||||
- задачи могли быть сложнее, чем казались;
|
- tasks could have been more complex than they seemed;
|
||||||
- задачи могли иметь большой объём работы (нужно проверить количество изменений, падают они или нет за этот же период)
|
- tasks could have had a large volume of work (need to check if the number of changes is also decreasing during this period)
|
||||||
|
|
||||||
§ recommendations.type.everyHasOne.title: Не подписывают тип задачи
|
§ recommendations.type.everyHasOne.title: Not Signing Task Types
|
||||||
§ recommendations.type.everyHasOne.description: большинство типов задач делает один человек.
|
§ recommendations.type.everyHasOne.description: Most task types are done by one person.
|
||||||
§ recommendations.type.oneMaintainer.title: Узкая специализация
|
§ recommendations.type.oneMaintainer.title: Narrow Specialization
|
||||||
§ recommendations.type.oneMaintainer.description
|
§ recommendations.type.oneMaintainer.description
|
||||||
большинство задач одного типа делают одни и те же люди.
|
most tasks of one type are done by the same people.
|
||||||
|
|
||||||
# Типы задач:
|
# Task types:
|
||||||
|
|
||||||
§ recommendations.type.common
|
§ recommendations.type.common
|
||||||
# Возможно, это не так
|
# It might not be the case
|
||||||
|
|
||||||
Нужно убедиться, что остальные сотрудники верно подписывают коммиты.
|
Make sure that other employees correctly sign commits.
|
||||||
|
|
||||||
Шаги, которые помогут это сделать:
|
Steps to ensure this:
|
||||||
- настроить пре-коммит проверку для commit message;
|
- set up a pre-commit check for commit messages;
|
||||||
- объяснить команде, что нужно указывать тип;
|
- explain to the team the need to indicate the type;
|
||||||
- проверить в новых ветках, что сотрудники следуют правилу;
|
- check in new branches that employees follow this rule;
|
||||||
|
|
||||||
# Если это действительно так
|
# If it is indeed the case
|
||||||
|
|
||||||
Вы настроили проверки и убедились что один и тот же сотрудник, делает задачи одного и того же типа.
|
You have set up checks and ensured that the same employee does tasks of the same type.
|
||||||
|
|
||||||
Почему это плохо:
|
Why this is bad:
|
||||||
- его увольнение остановит целую пачку процессов;
|
- their resignation will halt a whole bunch of processes;
|
||||||
- уменьшается компетенция остальных членов команды;
|
- it reduces the competence of other team members;
|
||||||
- трудно верхнеуровнево понять его правки;
|
- difficult to understand their edits at a higher level;
|
||||||
|
|
||||||
Как это исправить:
|
How to fix this:
|
||||||
- распределять разные типы задач равномерно;
|
- distribute different types of tasks evenly;
|
||||||
- менять область работы (тесты, документация, ошибки) между сотрудниками через спринт;
|
- change the area of work (tests, documentation, bugs) among employees every sprint;
|
||||||
|
|
||||||
§ recommendations.type.fewTypes.title
|
§ recommendations.type.fewTypes.title
|
||||||
Это локальный продукт
|
This is a Local Product
|
||||||
|
|
||||||
§ recommendations.type.fewTypes.description
|
§ recommendations.type.fewTypes.description
|
||||||
для конкретного заказчика или проблемы.
|
for a specific customer or problem.
|
||||||
|
|
||||||
# Какие признаки есть у «глобального» продукта:
|
# Signs of a "global" product:
|
||||||
- локализация;
|
- localization;
|
||||||
- документация;
|
- documentation;
|
||||||
- большой объём тестов;
|
- a large volume of tests;
|
||||||
- визуальная кастомизация;
|
- visual customization;
|
||||||
- рефакторинг узких мест;
|
- refactoring of bottlenecks;
|
||||||
- и т.п.
|
- etc.
|
||||||
|
|
||||||
# Почему этот продукт выглядит как «локальный»:
|
# Why this product looks like a "local" one:
|
||||||
- у каждого «глобального» признака будет перевес по своему типу задач;
|
- each "global" sign will be outweighed by its type of task;
|
||||||
- чем больше «глобальных» признаков, тем больше вероятность «глобального» продукта;
|
- the more "global" signs, the more likely a "global" product;
|
||||||
|
|
||||||
В данном случае мы видим небольшое число типов, а следовательно, скорее всего есть недоработки, мешающие легко масштабировать продукт на мировой рынок и продавать его в других странах.
|
In this case, we see a small number of types, which likely indicates shortcomings that prevent the product from being easily scaled to the global market and sold in other countries.
|
||||||
|
|
||||||
# Возможно, это не так
|
# It might not be the case
|
||||||
По типам файлов мы можем предположить тип программы (сайт, серверное приложение, DevOps скрипты и т.д.). Для frontend приложения наша гипотеза будет более верной, чем для DevOps-скриптов, которые могут быть лишь микро-модулем инициализации.
|
Based on file types, we can assume the type of program (website, server application, DevOps scripts, etc.). For a frontend application, our hypothesis will be more accurate than for DevOps scripts, which might just be a micro-module of initialization.
|
||||||
|
|
||||||
§ recommendations.type.diff.title
|
§ recommendations.type.diff.title
|
||||||
Разбейте лидирующий тип на подтипы
|
Break Down the Leading Type into Subtypes
|
||||||
|
|
||||||
§ recommendations.type.diff.description
|
§ recommendations.type.diff.description
|
||||||
для детализации ошибок.
|
to detail errors.
|
||||||
|
|
||||||
Как правило, тип задач с меткой «исправление ошибок» является лидирующим. Это делает статистику слабо-детализированной.
|
Typically, the task type labeled "bug fixing" is leading. This makes the statistics weakly detailed.
|
||||||
|
|
||||||
*Если у вас произошла такая ситуация*, вы можете разбить этот тип на подтипы (например, по месту обнаружения).
|
*If you encounter this situation*, you can break down this type into subtypes (e.g., based on the location of detection).
|
||||||
|
|
||||||
Рассмотрим несколько вариантов подтипов:
|
Consider several options for subtypes:
|
||||||
- fix_dev (ошибка выявленная в процессе разработки);
|
- fix_dev (error detected during development);
|
||||||
- fix_test (ошибка выявленная в процессе тестирования);
|
- fix_test (error detected during testing);
|
||||||
- fix (ошибка выявленная в проде);
|
- fix (error detected in production);
|
||||||
|
|
||||||
§ recommendations.type.buddy.title
|
§ recommendations.type.buddy.title
|
||||||
Копите мелкие задачи
|
Accumulate Minor Tasks
|
||||||
|
|
||||||
§ recommendations.type.buddy.description
|
§ recommendations.type.buddy.description
|
||||||
для новых сотрудников.
|
for new employees.
|
||||||
|
|
||||||
# Если задача:
|
# If a task is:
|
||||||
- не важная;
|
- not important;
|
||||||
- не большая;
|
- not big;
|
||||||
- не требует сильного погружения в контекст;
|
- doesn't require deep immersion in the context;
|
||||||
- больше про рефакторинг, чем про новый код;
|
- more about refactoring than new code;
|
||||||
|
|
||||||
# Положите её в backlog с меткой «для новичков».
|
# Put it in the backlog with the label "for beginners".
|
||||||
|
|
||||||
Когда придёт новый сотрудник, вы сможете моментально достать ему пачку небольших и разнообразных по типу задач, для ознакомления с проектом.
|
When a new employee arrives, you will be able to immediately pull out a bunch of small and varied tasks for them to get acquainted with the project.
|
||||||
|
|
||||||
Также, если у вас будет застой в работе, вы сможете доставать по одной такой мелкой задаче из backlog-а.
|
Also, if you have a lull in work, you can pull out one such minor task from the backlog.
|
||||||
`;
|
`;
|
||||||
|
|
|
@ -1,27 +1,27 @@
|
||||||
export default `
|
export default `
|
||||||
§ page.settings.document.title: Настройки отображения
|
§ page.settings.document.title: Display Settings
|
||||||
§ page.settings.document.name: Заголовок страницы
|
§ page.settings.document.name: Page Title
|
||||||
§ page.settings.document.language: Язык интерфейса
|
§ page.settings.document.language: Interface Language
|
||||||
§ page.settings.links.title: Префиксы ссылок
|
§ page.settings.links.title: Link Prefixes
|
||||||
§ page.settings.links.task: Для номеров задач
|
§ page.settings.links.task: For Task Numbers
|
||||||
§ page.settings.links.pr: Для PR
|
§ page.settings.links.pr: For PR
|
||||||
§ page.settings.user.title: Индивидуальные настройки
|
§ page.settings.user.title: Individual Settings
|
||||||
§ page.settings.user.notFound: Индивидуальных настроек нет. Данные по всем сотрудникам вычисляются по общим параметрам.
|
§ page.settings.user.notFound: No individual settings. Data for all employees are calculated based on common parameters.
|
||||||
§ page.settings.user.subTitle: Дополнение к трудовому договору №$1
|
§ page.settings.user.subTitle: Addendum to employment contract №$1
|
||||||
§ page.settings.user.from: Дата начала действия
|
§ page.settings.user.from: Start date
|
||||||
§ page.settings.mailmap: Настройки .mailmap
|
§ page.settings.mailmap: .mailmap Settings
|
||||||
§ page.settings.common.title: Общие данные по зарплате
|
§ page.settings.common.title: General Salary Data
|
||||||
§ page.settings.common.type.title: Тип работы над проектом
|
§ page.settings.common.type.title: Type of Work on the Project
|
||||||
§ page.settings.common.type.full: Полная занятость
|
§ page.settings.common.type.full: Full-time
|
||||||
§ page.settings.common.type.part: Проектная работа
|
§ page.settings.common.type.part: Project Work
|
||||||
§ page.settings.common.salary: Зарплата в месяц
|
§ page.settings.common.salary: Monthly Salary
|
||||||
§ page.settings.common.currency: Currency
|
§ page.settings.common.currency: Currency
|
||||||
§ page.settings.common.workDaysInYear: Количество рабочих дней в году
|
§ page.settings.common.workDaysInYear: Number of Working Days in a Year
|
||||||
§ page.settings.common.vacationDaysInYear: Количество дней отпуска в год
|
§ page.settings.common.vacationDaysInYear: Number of Vacation Days in a Year
|
||||||
§ page.settings.common.workDaysInWeek: Рабочие дни
|
§ page.settings.common.workDaysInWeek: Workdays
|
||||||
§ page.settings.form.save: Save
|
§ page.settings.form.save: Save
|
||||||
§ page.settings.form.cancel: Cancel
|
§ page.settings.form.cancel: Cancel
|
||||||
§ page.settings.form.remove: Remove
|
§ page.settings.form.remove: Remove
|
||||||
§ page.settings.form.addEmployee: Добавить сотрудника
|
§ page.settings.form.addEmployee: Add Employee
|
||||||
§ page.settings.form.addContract: Добавить трудовой договор
|
§ page.settings.form.addContract: Add Employment Contract
|
||||||
`;
|
`;
|
Loading…
Reference in a new issue