Лень - двигатель прогресса 😊, или как я написал скрипт для перевода файлов. #разработка
Здравствуйте. Много раз говорили фразу из заголовка, но я как-то особо не прочувствовал её... Но вот недавно создал бота @price_informerBot, и опять надо было переводить на Английский язык интерфейс...
Раньше как делал:
Копировал файл, переименовывал в en, открывал, по очереди переводил все тексты и вставлял...
Дело было муторным, долгим... Мне надоело этим заниматься 😊!
И вот вчера мне пришла идея автоматизировать этот момент.
api был предоставлен моим знакомым: обращение по url с передачей text=текст GET запросом:
site/?text=переводим это.
Я домен не буду давать, чтоб не нагружать запросами...
В общем, засел за написание скрипта...
И вспомнил, что у меня ведь не json, а js файлы, т. к. это удобнее: можно делать многострочные тексты, например...
После этого начались попытки распарсить файл так, чтоб создать новый без ошибок.
В итоге, после 15 часов работы, получилось.
Конечно недочёты все равно есть, но найти ошибки и исправить - легко...
Помимо js файлов инструмент позволяет переводить любые многострочные текстовые файлы.
Правда не все данные сможет вам дать, т. к. не все символы допустимы в url, например, #, & и пр. (сейчас обработан только вариант с #, т. к. он мне был нужен).
Итог?
1. Запрос названия файла.
2. видим проценты выполнения для конкретного языка.
3. После перевода предлагается нажать "Enter" для закрытия.
В config.json файле следующее:
1. url к api;
2. Список языков, на которые переводим: массив.
3. Язык приложения: выбор между ru, en, zh, ko, ar, es.
Благодаря этой замечательной программулине 😊 перевёл интерфейс бота на 5 языков (список идентичен языкам приложения), а также README.md dpos.space.
На скринах:
1. config.json с одним языком для демо.
2. Окно приложения от стартового сообщения до завершающего.
3. Пример Русского js файла бота.
4. Пример переведённого файла.
5. Исходный README.md на Русском.
6. Пример README.md на Английском.
(Репозиторий).
Всё. Благодарю за внимание.
@blind_dev
Post #877
732






- 👍 6