Skip to content

Commit

Permalink
[DOCS-3] translate comments
Browse files Browse the repository at this point in the history
  • Loading branch information
MaxAlyokhin committed Apr 1, 2023
1 parent ba91043 commit 8fbfa97
Show file tree
Hide file tree
Showing 14 changed files with 241 additions and 252 deletions.
156 changes: 74 additions & 82 deletions client/src/js/audio.js

Large diffs are not rendered by default.

26 changes: 13 additions & 13 deletions client/src/js/helpers.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/**
* Функция округляет значение до 4 знаков после запятой по-умолчанию
* @param {Number} number - число
* @param {Number} digits - количество знаков после запятой
* @return {Number} Отдаёт округлённое число
* The function rounds the value to 4 decimal places by default
* @param {Number} number - number
* @param {Number} digits - number of decimal places
* @return {Number} Returns a rounded number
*/

let pow = null
Expand All @@ -12,19 +12,19 @@ export function toFixedNumber(number, digits = 4) {
}

/**
* Функция выполняет целочисленное деление
* @param {Number} value - что делить
* @param {Number} by - на что делить
* @return {Number} Отдаёт искомое число
* The function performs integer division
* @param {Number} value - what to divide
* @param {Number} by - by what
* @return {Number} Returns the number you are looking for
*/

export const div = (value, by) => (value - (value % by)) / by

/**
* Функция ищет ближайшее меньшее и большее число к заданному
* @param {Number} number - число, вокруг которого нужно найти ближайшие значения
* @param {Array} array - массив чисел, из которых выбираем ближайшие значения
* @return {Array} Отдаёт массив из двух чисел: меньшее и большее
* The function searches for the nearest lower and nearest higher number to a given number
* @param {Number} number - the number around which we need to find the nearest values
* @param {Array} array - an array of numbers from which we select the nearest values
* @return {Array} Returns an array of two numbers: a smaller and a larger one
*/

let nearbyLess = null
Expand All @@ -38,7 +38,7 @@ export function getNearbyValues(number, array) {
}

/**
* Функция возвращает строку со временем вызова в формате число-месяц-год-час-минуты-секунды
* The function returns a string with the time of the call in the format number-month-year-hour-minutes-seconds
* @return {String}
*/

Expand Down
2 changes: 1 addition & 1 deletion client/src/js/i18n.js
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ export const i18n = {
links: '<a href="https://github.com/MaxAlyokhin/audio-motion-interface" target="_blank" rel="noopener noreferrer">Исходники</a> <a href="https://github.com/MaxAlyokhin/audio-motion-interface/blob/master/README_RU.md#user-guide" target="_blank" rel="noopener noreferrer">Инструкция</a>',
run: 'Запуск',
interface: 'Скрыть интерфейс',
slide: 'Перетащи кружок за черту для разблокировки интерфейса'
slide: 'Перетащите кружок за черту для разблокировки интерфейса'
},

en: {
Expand Down
18 changes: 9 additions & 9 deletions client/src/js/language.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
// Управление языком
// Сначала инициализируем язык из настроек браузера
// Затем передаём управление кнопкам переключения языка
// Language Control
// First we initialize the language from the browser settings
// Then we pass the control to the language switching buttons

import { i18n } from './i18n'
import { syncLocalStorage } from './localstorage'
import { clientsCount } from './motion'
import { settings } from './settings'

export let language = null // Объект со всеми строками интерфейса
export let language = null // Object with all interface strings

let languageElements = []

/**
* Определяет язык из настроек браузера
* @return {String} ru если русский, en если английский
* Defines the language from the browser settings
* @return {String} ru if Russian, en if English
*/

const getLanguage = () => {
function getLanguage() {
if (settings.ui.language) {
return settings.ui.language
} else {
Expand All @@ -28,8 +28,8 @@ const getLanguage = () => {
}

/**
* Устанавливает язык интерфейса
* @param {String} languageMarker - 'ru' или 'en'
* Sets the interface language
* @param {String} languageMarker - 'ru' or 'en'
* @return {undefined}
*/

Expand Down
20 changes: 10 additions & 10 deletions client/src/js/latency.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ import { toFixedNumber } from './helpers'
import { socket, socketIsInit } from './websocket'

/**
* Вычисляет задержку звука
* На смартфоне она равна audioContext.outputLatency
* На десктопе она равна audioContext.outputLatency + время передачи данных от смартфона
* @param {String} device - тип устройства (смартфон или десктоп)
* @return {Number} latency - задержка
* Calculates the sound latency
* On the smartphone it is equal to audioContext.outputLatency
* On the desktop it is equal to audioContext.outputLatency + the data transmission time from the smartphone
* @param {String} device - device type (smartphone or desktop)
* @return {Number} latency
*/

const latencyElement = document.querySelector('.latency__amount')
Expand All @@ -18,29 +18,29 @@ let intervalIsInit = false
export function latency(device) {
if (device === 'desktop') {

// Периодически отправляем ping с временем десктопа
// Periodically send a ping with the desktop time
setInterval(() => {
socket.emit('ping', Date.now())
}, updateFrequency)

// Со смартфона возвращается pong с тем же временем десктопа
// From the smartphone returns pong with the same desktop time
socket.on('pong', (dateOfPing) => {
latencyElement.textContent = (Date.now() - dateOfPing) / 2 + toFixedNumber(audioContext.outputLatency, 3) * 1000
})
}

if (device === 'mobile') {
if (socketIsInit) {
// Пришёл пинг с декстопа с таймстемпом
// Возвращаем его обратно десктопу
// A ping came from the desktop with timestamp
// Bringing it back to the desktop
socket.on('ping', (dateFromDesktop) => {
socket.emit('pong', dateFromDesktop)
})
}

if (!intervalIsInit) {
intervalIsInit = true
// Пишем задержку в DOM
// Writing a latency in the DOM
setInterval(() => {
latencyElement.textContent = toFixedNumber(audioContext.outputLatency, 3) * 1000
}, updateFrequency)
Expand Down
6 changes: 3 additions & 3 deletions client/src/js/localstorage.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { settings, syncSettingsFrontend } from "./settings"

// Управление localStorage
// localStorage control
export function checkLocalStorage() {
// Если первый раз открыли AMI, то записываем дефолтные настройки
// If this is the first time opened AMI, then write down the default settings
if (!localStorage.getItem('init')) {
localStorage.setItem('init', 'true')
syncLocalStorage(settings)
} else {
// Иначе грузим из localStorage ранние настройки и переписываем
// Otherwise, loading the earlier settings from localStorage and rewriting
Object.assign(settings, JSON.parse(localStorage.getItem('settings')))
syncSettingsFrontend(settings)
}
Expand Down
8 changes: 4 additions & 4 deletions client/src/js/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ languageInit()
settingsExchangeInit()

window.addEventListener('load', () => {
// Показываем контент
// Showing content
document.querySelector('body').style.transition = 'all 1000ms cubic-bezier(0.83, 0, 0.17, 1)'
document.querySelector('body').style.opacity = 1

// Кнопка Run запускает алгоритм
// The Run button starts the system
document.querySelector('.button.run').addEventListener(
'click',
function () {
Expand All @@ -23,7 +23,7 @@ window.addEventListener('load', () => {
motionInit()

},
{ once: true } // Сработает только один раз
{ once: true } // Only works once
)

document.querySelector('.button.run').addEventListener(
Expand All @@ -41,7 +41,7 @@ window.addEventListener('load', () => {
setTimeout(() => { document.querySelector('.cover').style.opacity = 1 })
})

// Вывод ошибок на экран
// Displaying errors on the screen
let errorElement = document.querySelector('.errors')
window.addEventListener('error', (event) => {
errorElement.innerHTML += `
Expand Down
Loading

0 comments on commit 8fbfa97

Please sign in to comment.