Added scripts for Transifex upload/download & updated translations

This commit is contained in:
Bernd Bestel
2019-03-05 21:22:54 +01:00
parent c813a6500d
commit 45db9ff90c
21 changed files with 1062 additions and 34 deletions

349
localization/ru/strings.php Normal file
View File

@@ -0,0 +1,349 @@
<?php
return array(
'Stock overview' => 'Обзор склада',
'#1 products expiring within the next #2 days' => 'У #1 продуктов заканчивается срок годности через #2 дня (дней)',
'#1 products are already expired' => 'У #1 продуктов закончился срок годности',
'#1 products are below defined min. stock amount' => '#1 продуктов имеются в количестве меньше минимально заданного',
'Product' => 'Продукт',
'Amount' => 'Количество',
'Next best before date' => 'Следующий срок годности',
'Logout' => 'Выйти',
'Chores overview' => 'Обзор работ по дому',
'Batteries overview' => 'Обзор батарей',
'Purchase' => 'Покупка',
'Consume' => 'Потребление',
'Inventory' => 'Инвентарь',
'Shopping list' => 'Список покупок',
'Chore tracking' => 'Выполнить работу по дому',
'Battery tracking' => 'Отслеживание батарей',
'Products' => 'Продукты',
'Locations' => 'Места хранения',
'Quantity units' => 'Единицы измерения',
'Chores' => 'Работы по дому',
'Batteries' => 'Батареи',
'Chore' => 'Работа по дому',
'Next estimated tracking' => 'Следующий период отслеживания',
'Last tracked' => 'Последнее время отслеживания',
'Battery' => 'Батарея',
'Last charged' => 'Последний раз заряжалась',
'Next planned charge cycle' => 'Следующий запланированный цикл заряда',
'Best before' => 'Срок годности',
'OK' => 'Готово',
'Product overview' => 'Обзор продуктов',
'Stock quantity unit' => 'Единица измерения запаса',
'Stock amount' => 'Количество в запасе',
'Last purchased' => 'Последняя покупка',
'Last used' => 'Последний раз использовалось',
'Spoiled' => 'Испорчено',
'Barcode lookup is disabled' => 'Поиск по штрихкоду отключён',
'will be added to the list of barcodes for the selected product on submit' => 'будет добавлен к списку штрихкодов для выбранного продукта при сохранении',
'New amount' => 'Новое количество',
'Note' => 'Заметки',
'Tracked time' => 'Время выполнения',
'Chore overview' => 'Обзор работы по дому',
'Tracked count' => 'Количество выполнений',
'Battery overview' => 'Обзор батарей',
'Charge cycles count' => 'Количество циклов заряда',
'Create shopping list item' => 'Создать элемент списка покупок',
'Edit shopping list item' => 'Изменить элемент списка покупок',
'Save' => 'Сохранить',
'Add' => 'Добавить',
'Name' => 'Имя',
'Location' => 'Место хранения',
'Min. stock amount' => 'Мин. количество в запасе',
'QU purchase' => 'Ед.изм. покупки',
'QU stock' => 'Ед.изм. запаса',
'QU factor' => 'Пересчёт ед.изм.',
'Description' => 'Описание',
'Create product' => 'Создать продукт',
'Barcode(s)' => 'Штрихкод(ы)',
'Minimum stock amount' => 'Минимальное количество в запасе',
'Default best before days' => 'Срок годности по умолчанию',
'Quantity unit purchase' => 'Единица измерения про покупке',
'Quantity unit stock' => 'Единица измерения в запасе',
'Factor purchase to stock quantity unit' => 'Коэффициент пересчёта единиц измерения при покупке и в запасе',
'Create location' => 'Создать место хранения',
'Create quantity unit' => 'Создать единицу измерения',
'Period type' => 'Тип периода',
'Period days' => 'Период в днях',
'Create chore' => 'Создать работу по дому',
'Used in' => 'Используется в',
'Create battery' => 'Создать батарею',
'Edit battery' => 'Изменить батарею',
'Edit chore' => 'Изменить работу по дому',
'Edit quantity unit' => 'Изменить единицу измерения',
'Edit product' => 'Изменить продукт',
'Edit location' => 'Изменить место хранения',
'Record data' => 'Записать данные',
'Manage master data' => 'Управление основными данными',
'This will apply to added products' => 'Будет применено к добавленным продуктам',
'never' => 'никогда',
'Add products that are below defined min. stock amount' => 'Add products that are below defined min. stock amount',
'For purchases this amount of days will be added to today for the best before date suggestion' => 'For purchases this amount of days will be added to today for the best before date suggestion',
'This means 1 #1 purchased will be converted into #2 #3 in stock' => 'Означает, что 1 купленный #1 будет пересчитан в #2 #3 в запасе',
'Login' => 'Вход',
'Username' => 'Имя пользователя',
'Password' => 'Пароль',
'Invalid credentials, please try again' => 'Неправильные данные для входа, попробуйте снова',
'Are you sure to delete battery "#1"?' => 'Вы уверены, что нужно удалить батарею "#1"? ',
'Yes' => 'Да',
'No' => 'Нет',
'Are you sure to delete chore "#1"?' => 'Вы уверены, что нужно удалить работу по дому "#1"?',
'"#1" could not be resolved to a product, how do you want to proceed?' => '"#1" не может быть преобразован к существующему продукту. Как вы хотите продолжить?',
'Create or assign product' => 'Создать или назначить продукт',
'Cancel' => 'Отмена',
'Add as new product' => 'Добавить как новый продукт',
'Add as barcode to existing product' => 'Добавить в качестве штрихкода к существующему продукту',
'Add as new product and prefill barcode' => 'Добавить новый продукт, заполнив штрихкод',
'Are you sure to delete quantity unit "#1"?' => 'Вы уверены, что нужно удалить единицу измерения "#1"?',
'Are you sure to delete product "#1"?' => 'Вы уверены, что нужно удалить продукт "#1"?',
'Are you sure to delete location "#1"?' => 'Вы уверены, что нужно удалить место хранения "#1"?',
'Manage API keys' => 'Управление ключами доступа к API',
'REST API & data model documentation' => 'Документация на REST API и модуль данных',
'API keys' => 'Ключи доступа к API',
'Create new API key' => 'Создать ключ доступа к API',
'API key' => 'Ключ доступа к API',
'Expires' => 'Истекает',
'Created' => 'Создан',
'This product is not in stock' => 'Данного продукта нет в запасе',
'This means #1 will be added to stock' => 'Означает, что #1 будет добавлен в запас',
'This means #1 will be removed from stock' => 'Означает, что #1 будет убран из запаса',
'This means it is estimated that a new execution of this chore is tracked #1 days after the last was tracked' => 'Это означает, что следующее выполнение данной работы по дому будет назначено спустя #1 дней после самого недавнего выполнения',
'Removed #1 #2 of #3 from stock' => 'Убрано #1 #2 из #3 из запаса',
'About grocy' => 'О grocy',
'Close' => 'Закрыть',
'#1 batteries are due to be charged within the next #2 days' => '#1 батарей нужно будет зарядить в ближайшие #2 дня',
'#1 batteries are overdue to be charged' => '#1 батарей нужно зарядить',
'#1 chores are due to be done within the next #2 days' => 'Срок исполнения #1 работ по дому наступает в ближайшие #2 дня (дней)',
'#1 chores are overdue to be done' => 'У #1 работ по дому уже подошёл срок выполнения',
'Released on' => 'Выпуск от',
'Consume #3 #1 of #2' => 'Употреблено #3 #1 из #2',
'Added #1 #2 of #3 to stock' => 'Добавлено #1 #2 из #3 в запас',
'Stock amount of #1 is now #2 #3' => '#1 в запасе теперь #2 #3',
'Tracked execution of chore #1 on #2' => 'Отмечено выполнения работы по дому #1 в #2',
'Tracked charge cycle of battery #1 on #2' => 'Отмечен цикл заряд батареи #1 в #2',
'Consume all #1 which are currently in stock' => 'Употребить все #1, что находятся в запасе',
'All' => 'Все',
'Track charge cycle of battery #1' => 'Отметить цикл заряда батареи #1',
'Track execution of chore #1' => 'Отметить выполнение работы по дому #1',
'Filter by location' => 'Отфильтровать по месту хранения',
'Search' => 'Поиск',
'Not logged in' => 'Нет входа в систему',
'You have to select a product' => 'Вам нужно выбрать продукт',
'You have to select a chore' => 'Вам нужно выбрать работу по дому',
'You have to select a battery' => 'Вам нужно выбрать батарею',
'A name is required' => 'Имя необходимо',
'A location is required' => 'Место хранения необходимо',
'The amount cannot be lower than #1' => 'Количество не может быть меньше #1',
'This cannot be negative' => 'Значение не может быть отрицательным',
'A quantity unit is required' => 'Необходима единица измерения',
'A period type is required' => 'Необходим тип периода',
'A best before date is required and must be later than today' => 'Необходим срок годности и он должен быть не раньше сегодня',
'Settings' => 'Настройки',
'This can only be before now' => 'Данное поле должно быть раньше текущего времени',
'Calendar' => 'Календарь',
'Recipes' => 'Рецепты',
'Edit recipe' => 'Изменить рецепт',
'New recipe' => 'Новый рецепт',
'Ingredients list' => 'Список ингредиентов',
'Add recipe ingredient' => 'Добавить ингредиент рецепта',
'Edit recipe ingredient' => 'Изменить ингредиент рецепта',
'Are you sure to delete recipe "#1"?' => 'Вы уверены, что нужно удалить рецепт "#1"?',
'Are you sure to delete recipe ingredient "#1"?' => 'Вы уверены, что нужно удалить ингредиент рецепта "#1"?',
'Are you sure to empty the shopping list?' => 'Вы уверены, что нужно очистить список покупок?',
'Clear list' => 'Очистить список',
'Requirements fulfilled' => 'Требования выполнены',
'Put missing products on shopping list' => 'Добавить отсутствующие продукты в список покупок',
'Not enough in stock, #1 ingredients missing' => 'Запаса недостаточно, #1 ингредиентов нет',
'Enough in stock' => 'Достаточно в запасе',
'Not enough in stock, #1 ingredients missing but already on the shopping list' => 'Запаса недостаточно, #1 ингредиентов нет, но уже добавлены в список покупок',
'Expand to fullscreen' => 'Раскрыть на весь экран',
'Ingredients' => 'Ингредиенты',
'Preparation' => 'Приготовление',
'Recipe' => 'Рецепт',
'Not enough in stock, #1 missing, #2 already on shopping list' => 'Запаса недостаточно, #1 ингредиентов нет, #2 уже добавлены в список покупок',
'Show notes' => 'Показать заметки',
'Put missing amount on shopping list' => 'Добавить отсутствующее количество в список покупок',
'Are you sure to put all missing ingredients for recipe "#1" on the shopping list?' => 'Вы уверены, что нужно добавить все отсутствующие ингредиенты для рецепта "#1" в список покупок?',
'Added for recipe #1' => 'Добавлен рецепт #1',
'Manage users' => 'Управление пользователями',
'User' => 'Пользователь',
'Users' => 'Пользователи',
'Are you sure to delete user "#1"?' => 'Вы уверены, что нужно удалить пользователя "#1"?',
'Create user' => 'Создать пользователя',
'Edit user' => 'Изменить пользователя',
'First name' => 'Имя',
'Last name' => 'Фамилия',
'A username is required' => 'Имя пользователя обязательно',
'Confirm password' => 'Подтверждение пароля',
'Passwords do not match' => 'Пароли не совпадают',
'Change password' => 'Изменить пароль',
'Done by' => 'Выполнено ',
'Last done by' => 'Последний раз выполнено',
'Unknown' => 'Неизвестно',
'Filter by chore' => 'Отфильтровать по работе по дому',
'Chores journal' => 'Журнал выполнения работ по дому',
'0 means suggestions for the next charge cycle are disabled' => '0 означен, что предложения следующего цикла заряда выключены',
'Charge cycle interval (days)' => 'Цикл работы от 1 заряда (дней)',
'Last price' => 'Последняя цена покупки',
'Price history' => 'История цен',
'No price history available' => 'Нет истории цен для показа',
'Price' => 'Цена',
'in #1 per purchase quantity unit' => 'в #1 на покупку единицы измерения',
'The price cannot be lower than #1' => 'Цена не может быть ниже #1',
'#1 product expires within the next #2 days' => 'У #1 продукта закончится срок годности через #2 дня(дней)',
'#1 product is already expired' => 'У #1 продукта уже закончился срок годности',
'#1 product is below defined min. stock amount' => '#1 продукт имеется в количестве меньше минимально заданного',
'Unit' => 'Ед.изм.',
'Units' => 'Ед.изм.',
'#1 chore is due to be done within the next #2 days' => 'Срок исполнения #1 работы по дому наступает в ближайшие #2 дня (дней) ',
'#1 chore is overdue to be done' => 'У #1 работы по дому уже подошёл срок исполнения ',
'#1 battery is due to be charged within the next #2 days' => '#1 батарею нужно будет зарядить в ближайшие #2 дня ',
'#1 battery is overdue to be charged' => '#1 батарею нужно зарядить',
'#1 unit was automatically added and will apply in addition to the amount entered here' => '#1 unit was automatically added and will apply in addition to the amount entered here',
'in singular form' => 'в единственном числе',
'in plural form' => 'в множественном числе',
'Never expires' => 'Бесконечный срок годности',
'This cannot be lower than #1' => 'Не может быть менее #1',
'-1 means that this product never expires' => '-1 означает, что у данного продукта бесконечный срок годности',
'Quantity unit' => 'Единица измерения',
'Only check if a single unit is in stock (a different quantity can then be used above)' => 'Only check if a single unit is in stock (a different quantity can then be used above)',
'Are you sure to consume all ingredients needed by recipe "#1" (ingredients marked with "check only if a single unit is in stock" will be ignored)?' => 'Are you sure to consume all ingredients needed by recipe "#1" (ingredients marked with "check only if a single unit is in stock" will be ignored)?',
'Removed all ingredients of recipe "#1" from stock' => 'Все ингредиенты рецепта "#1" убраны из запаса',
'Consume all ingredients needed by this recipe' => 'Употребить все ингредиенты, необходимые данному рецепту',
'Click to show technical details' => 'Нажмите, чтобы посмотреть технические детали',
'Error while saving, probably this item already exists' => 'Ошибка при сохранении, вероятно, данный элемент уже существует',
'Error details' => 'Детали ошибки',
'Tasks' => 'Задачи',
'Show done tasks' => 'Показать законченные задачи',
'Task' => 'Задача',
'Due' => 'Срок выполнения',
'Assigned to' => 'Назначена',
'Mark task "#1" as completed' => 'Пометить задачу "#1" как выполненную',
'Uncategorized' => 'Без категории',
'Task categories' => 'Категории задач',
'Create task' => 'Создать задачу',
'A due date is required' => 'Необходим срок выполнения',
'Category' => 'Категория',
'Edit task' => 'Изменить задачу',
'Are you sure to delete task "#1"?' => 'Вы уверены, что нужно удалить задачу "#1"?',
'#1 task is due to be done within the next #2 days' => 'У #1 задачи заканчивается срок выполнения в ближайшие #2 дня(дней)',
'#1 tasks are due to be done within the next #2 days' => 'У #1 задач заканчивается срок выполнения в ближайшие #2 дня (дней)',
'#1 task is overdue to be done' => 'У #1 задачи вышел срок выполнения',
'#1 tasks are overdue to be done' => 'У #1 задач вышел срок выполнения',
'Edit task category' => 'Изменить категорию задач',
'Create task category' => 'Создать категорию задач',
'Product groups' => 'Группы продуктов',
'Ungrouped' => 'Без группы',
'Create product group' => 'Создать группу продуктов',
'Edit product group' => 'Изменить группу продуктов',
'Product group' => 'Группа продуктов',
'Are you sure to delete product group "#1"?' => 'Are you sure to delete product group "#1"?',
'Stay logged in permanently' => 'Оставаться в сети всегда',
'When not set, you will get logged out at latest after 30 days' => 'Если не отмечено, то вы выйдете автоматически через 30 дней',
'Filter by status' => 'Отфильтровать по статусу',
'Below min. stock amount' => 'Below min. stock amount',
'Expiring soon' => 'Скоро заканчивается срок',
'Already expired' => 'Срок годности вышел',
'Due soon' => 'Срок выполнения подходит',
'Overdue' => 'Срок выполнен кончился',
'View settings' => 'Настройки показа',
'Auto reload on external changes' => 'Автоматическая перезагрузка при внешних изменениях',
'Enable night mode' => 'Включить ночной режим',
'Auto enable in time range' => 'Автоматически включать на данном отрезке времени',
'From' => 'Начиная с',
'in format' => 'в формате',
'To' => 'Заканчивая на',
'Time range goes over midnight' => 'Временной период пересекает полночь',
'Product picture' => 'Изображение продукта',
'No file selected' => 'Файл не выбран',
'If you don\'t select a file, the current picture will not be altered' => 'Если файл не выбран, то текущее изображение не изменится',
'Delete' => 'Удалить',
'The current picture will be deleted when you save the product' => 'Текущее изображение будет удалено при сохранении продукта',
'Select file' => 'Выбрать файл',
'Image of product #1' => 'Изображение продукта #1',
'This product cannot be deleted because it is in stock, please remove the stock amount first.' => 'Данный продукт не может быть удалён, так как он ещё есть в запасе. Пожалуйста, сначала опустошите запас.',
'Delete not possible' => 'Удаление невозможно',
'Equipment' => 'Техника',
'Instruction manual' => 'Инструкция',
'The selected equipment has no instruction manual' => 'У данной техники нет инструкции',
'Notes' => 'Заметки',
'Edit equipment' => 'Изменить технику',
'Create equipment' => 'Создать технику',
'If you don\'t select a file, the current instruction manual will not be altered' => 'Если файл не выбран, то текущая инструкция не будет изменена',
'No instruction manual available' => 'Нет доступной инструкции
',
'The current instruction manual will be deleted when you save the equipment' => 'Текущая инструкция будет удалена при сохранении техники',
'No picture available' => 'Нет доступного изображения',
'Filter by product group' => 'Отфильтровать по групп',
'Presets for new products' => 'Настройки по умолчанию для новых продуктов',
'Included recipes' => 'Включённые рецепты',
'A recipe is required' => 'Необходим рецепт',
'Add included recipe' => 'Добавить включённый рецепт',
'Edit included recipe' => 'Изменить включённый рецепт',
'Group' => 'Группа',
'This will be used as a headline to group ingredients together' => 'This will be used as a headline to group ingredients together',
'Journal' => 'Журнал',
'Stock journal' => 'Журнал запасов',
'Filter by product' => 'Отфильтровать по продукту',
'Booking time' => 'Booking time',
'Booking type' => 'Booking type',
'Undo booking' => 'Undo booking',
'Undone on' => 'Отменено',
'Batteries journal' => 'Журнал батарей',
'Filter by battery' => 'Отфильтровать по батарее',
'Undo charge cycle' => 'Undo charge cycle',
'Undo chore execution' => 'Отменить выполнение работы по дому',
'Chore execution successfully undone' => 'Успешно отменено выполнение работы по дому',
'Undo' => 'Отменить',
'Booking successfully undone' => 'Booking successfully undone',
'Charge cycle successfully undone' => 'Charge cycle successfully undone',
'This cannot be negative and must be an integral number' => 'This cannot be negative and must be an integral number',
'Disable stock fulfillment checking for this ingredient' => 'Disable stock fulfillment checking for this ingredient',
'Add all list items to stock' => 'Add all list items to stock',
'Add #3 #1 of #2 to stock' => 'Add #3 #1 of #2 to stock',
'Adding shopping list item #1 of #2' => 'Adding shopping list item #1 of #2',
'Use a specific stock item' => 'Use a specific stock item',
'The first item in this list would be picked by the default rule which is "First expiring first, then first in first out"' => 'The first item in this list would be picked by the default rule which is "First expiring first, then first in first out"',
'Mark #3 #1 of #2 as open' => 'Mark #3 #1 of #2 as open',
'When a product was marked as opened, the best before date will be replaced by today + this amount of days (a value of 0 disables this)' => 'When a product was marked as opened, the best before date will be replaced by today + this amount of days (a value of 0 disables this)',
'Default best before days after opened' => 'Default best before days after opened',
'Marked #1 #2 of #3 as opened' => 'Marked #1 #2 of #3 as opened',
'Mark as opened' => 'Mark as opened',
'Expires on #1; Bought on #2' => 'Expires on #1; Bought on #2',
'Not opened' => 'Not opened',
'Opened' => 'Opened',
'Mark #3 #1 of #2 as open' => 'Mark #3 #1 of #2 as open',
'#1 opened' => '#1 opened',
'Product expires' => 'Product expires',
'Task due' => 'Task due',
'Chore due' => 'Срок выполнения работы по дому',
'Battery charge cycle due' => 'Battery charge cycle due',
'Show clock in header' => 'Show clock in header',
'Stock settings' => 'Stock settings',
'Shopping list to stock workflow' => 'Shopping list to stock workflow',
'Automatically do the booking using the last price and the amount of the shopping list item, if the product has "Default best before days" set' => 'Automatically do the booking using the last price and the amount of the shopping list item, if the product has "Default best before days" set',
'Skip' => 'Skip',
'Servings' => 'Servings',
'Costs' => 'Costs',
'Based on the prices of the last purchase per product' => 'Based on the prices of the last purchase per product',
'The ingredients listed here result in this amount of servings' => 'The ingredients listed here result in this amount of servings',
'Do not check against the shopping list when adding missing items to it' => 'Do not check against the shopping list when adding missing items to it',
'By default the amount to be added to the shopping list is "needed amount - stock amount - shopping list amount" - when this is enabled, it is only checked against the stock amount, not against what is already on the shopping list' => 'By default the amount to be added to the shopping list is "needed amount - stock amount - shopping list amount" - when this is enabled, it is only checked against the stock amount, not against what is already on the shopping list',
'Picture' => 'Picture',
'Uncheck ingredients to not put them on the shopping list' => 'Uncheck ingredients to not put them on the shopping list',
'This is for statistical purposes only' => 'This is for statistical purposes only',
'You have to select a recipe' => 'You have to select a recipe',
'Key type' => 'Key type',
'Share/Integrate calendar (iCal)' => 'Share/Integrate calendar (iCal)',
'Use the following (public) URL to share or integrate the calendar in iCal format' => 'Use the following (public) URL to share or integrate the calendar in iCal format',
'Allow partial units in stock' => 'Allow partial units in stock',
'Enable tare weight handling' => 'Enable tare weight handling',
'This is useful e.g. for flour in jars - on purchase/consume/inventory you always weigh the whole jar, the amount to be posted is then automatically calculated based on what is in stock and the tare weight defined below' => 'This is useful e.g. for flour in jars - on purchase/consume/inventory you always weigh the whole jar, the amount to be posted is then automatically calculated based on what is in stock and the tare weight defined below',
'Tare weight' => 'Tare weight',
'Tare weight handling enabled - please weigh the whole container, the amount to be posted will be automatically calculcated' => 'Tare weight handling enabled - please weigh the whole container, the amount to be posted will be automatically calculcated',
'You have to select a location' => 'You have to select a location',
'List' => 'List',
'Gallery' => 'Gallery'
);