hugo-translator: Python-скрипт для автоматического перевода содержимого блога Хьюго
Общее введение
hugo-translator - это инструмент автоматического перевода для статического конструктора сайтов Hugo, размещенный на GitHub и созданный разработчиком Rico00121. Инструмент призван помочь пользователям Hugo быстро перевести содержимое своего блога на несколько языков, используя API Google Translate для эффективной многоязычной поддержки. Независимо от того, являетесь ли вы индивидуальным блоггером или веб-мастером, которому необходимо интернационализировать свой контент, этот инструмент упростит процесс перевода. Он имеет открытый исходный код и позволяет пользователям свободно загружать, изменять и вносить свой вклад в код, что делает его идеальным для сообщества разработчиков, стремящихся к эффективности и персонализации. В настоящее время проект все еще находится на стадии разработки, имеет относительно базовые функции, но обладает определенной степенью практичности и потенциала.

Список функций
- Автоматический перевод содержимого блога: Переведите Markdown-файлы Hugo (например, index.en.md) на указанный язык.
- Поддержка API Google Translate: Быстрый и точный перевод контента с помощью служб перевода Google.
- многоязычный вывод: В настоящее время жестко закодирована поддержка французского, немецкого и испанского языков, в будущем планируется поддержка других языков.
- Сканирование и обработка документов: Сканирует указанную директорию, выявляет и переводит подходящие файлы Markdown.
- Открытый исходный код и расширяемость: Код находится в открытом доступе на GitHub и может быть разработан пользователями по запросу.
Использование помощи
hugo-translator - это инструмент командной строки, основанный на Go и используемый в основном для перевода содержимого блога Hugo. Здесь представлено подробное руководство по установке и использованию, которое поможет вам начать работу.
Процесс установки
- Подготовка среды
- Убедитесь, что на вашем компьютере установлен язык программирования Go (рекомендуется версия 1.16 или выше). Это можно сделать с помощью команды
go version
Проверьте, успешно ли прошла установка. - Вам понадобится аккаунт Google Cloud с включенным Google Translate API. Войдите в Google Cloud Console, создайте проект, включите Translate API, а затем сгенерируйте файл ключа API (обычно в формате JSON, например.
google-secret.json
).
- Убедитесь, что на вашем компьютере установлен язык программирования Go (рекомендуется версия 1.16 или выше). Это можно сделать с помощью команды
- Скачать код проекта
- Откройте терминал и введите следующую команду, чтобы клонировать проект локально:
git clone https://github.com/Rico00121/hugo-translator.git
- Перейдите в каталог проектов:
cd hugo-translator
- Откройте терминал и введите следующую команду, чтобы клонировать проект локально:
- Настройка API Google Translate
- Добавьте загруженный
google-secret.json
файл в корневом каталоге проекта hugo-translator. Это файл учетных данных для вызова Google Translate API, поэтому убедитесь, что путь к нему правильный и имя файла не изменилось.
- Добавьте загруженный
- компилятор
- Выполните следующую команду в каталоге проекта, чтобы получить зависимости и скомпилировать исполняемый файл:
go get go build translate.go
- По завершении компиляции создается файл под названием
translate
исполняемый файл (Windowstranslate.exe
).
- Выполните следующую команду в каталоге проекта, чтобы получить зависимости и скомпилировать исполняемый файл:
- Проверка установки
- импорт
./translate -h
(Windowstranslate.exe -h
), если отображается сообщение о помощи, значит, установка прошла успешно.
- импорт
Использование
Основная функция hugo-translator - перевод английских Markdown-файлов блога Hugo на другие языки. Вот шаги, которые необходимо предпринять для этого:
Подготовьте файлы блога Hugo
- Убедитесь, что содержание вашего блога Hugo начинается со слов
index.en.md
Форматируйте имена так, чтобы они указывали на англоязычное содержание. Пример:
content/posts/my-blog/index.en.md
- Содержимое файла должно быть в стандартном формате Markdown, содержащее первую часть текста Хьюго (например, заголовок, дату и т.д.) и основной текст.
Выполните команду перевода
- Основные операции перевода
- В терминале выполните следующую команду, чтобы указать путь к переводимому файлу:
./translate <文件路径>
Пример:
./translate content/posts/my-blog/index.en.md
- Текущая версия автоматически переводит файл на французский (fr), немецкий (de) и испанский (es) языки и генерирует соответствующий файл, например
index.fr.md
, иindex.de.md
, иindex.es.md
.
- Проверка выходного файла
- После завершения перевода новый языковой файл появится в той же директории, что и исходный файл. Пример:
content/posts/my-blog/ ├── index.en.md ├── index.fr.md ├── index.de.md ├── index.es.md
- Откройте эти файлы и проверьте результаты перевода: раздел, посвященный первой части, обычно остается без изменений, а основной текст переводится на язык перевода.
предостережение
- Соглашения об именовании файлов: В настоящее время инструмент распознает только
index.en.md
формат, другие соглашения об именовании (например.index.md
) в настоящее время не поддерживается. - Ограничения на перевод: В настоящее время языковая поддержка жестко закодирована (французский, немецкий, испанский), и нет возможности указать другие языки через командную строку. Выбор языка может быть добавлен в будущих версиях.
- сетевые требованияДля работы требуется доступ в Интернет, так как перевод осуществляется с помощью Google Translate API.
- обнаружение ошибок: Если перевод не удался, проверьте
google-secret.json
Правильно ли они размещены, или проверьте правильность работы сетевого подключения.
Функциональное управление
Автоматизированная многоязычная поддержка
- Изюминка hugo-translator в том, что он генерирует сразу несколько языковых версий файла. Например, если вы введете файл английского блога, он автоматически сгенерирует перевод на три языка, избавив вас от необходимости переводить их вручную по одному.
- Пример работы:
./translate content/posts/my-blog/index.en.md
- Выходные результаты:
index.fr.md
Французская версияindex.de.md
: версия на немецком языкеindex.es.md
: Испанская версия
Расширения с открытым исходным кодом
- Если вам нужно перевести на другой язык, вы можете изменить исходный код. Например, откройте файл
translate.go
файл, найдите логическую часть перевода (обычно она включает в себяtranslateTextWithModel
функция), добавьте код целевого языка (например."it"
(указывает на итальянский язык). - Измените и перекомпилируйте:
go build translate.go
- Такая гибкость идеально подходит для пользователей с навыками программирования.
Пример сценариев использования
Допустим, у вас есть статья в блоге. index.en.md
Содержание следующее:
---
title: "My First Blog"
date: 2023-01-01
---
Hello, this is my first blog post!
Выполнить команду:
./translate content/posts/my-blog/index.en.md
После перевода.index.fr.md
Это может быть следующим образом:
---
title: "My First Blog"
date: 2023-01-01
---
Salut, ceci est mon premier article de blog !
Остальные языковые файлы похожи и могут быть использованы непосредственно в проекте Hugo для реализации многоязычного блога.
Направления для будущего совершенствования
- Текущая версия является простой, разработчик Rico00121 упомянул на GitHub о планируемых улучшениях, таких как поддержка определенных языков, пакетная обработка всех файлов в каталоге и многое другое. Пользователи могут следить за обновлениями проекта или внести свой вклад.
Выполнив описанные выше действия, вы сможете легко использовать hugo-translator для перевода содержимого вашего блога на несколько языков, улучшая доступность и интернационализацию вашего сайта.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...