diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..91f2f49 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,34 @@ +{ + "name": "YouTranslate Dev Container", + // Reference: https://github.com/devcontainers/images/tree/main/src/python + "image": "ghcr.io/adiksondev/youtranslate:latest", + "customizations": { + "vscode": { + "extensions": [ + "eamodio.gitlens", + "ms-python.python", + "ms-python.pylint", + "vscode-icons-team.vscode-icons", + "njpwerner.autodocstring", + "aaron-bond.better-comments", + "GitHub.copilot", + "GitHub.copilot-chat", + "bierner.github-markdown-preview", + "VisualStudioExptTeam.vscodeintellicode", + "ms-vsliveshare.vsliveshare", + "EditorConfig.EditorConfig", + "dotenv.dotenv-vscode" + ] + } + }, + "forwardPorts": [5000], + "portsAttributes": { + "5000": { + "label": "Application", + "onAutoForward": "notify" + } + }, + + "postCreateCommand": "sudo cp .devcontainer/welcome.txt /usr/local/etc/vscode-dev-containers/first-run-notice.txt", + "postStartCommand": "pip install -r requirements.txt" +} diff --git a/.devcontainer/welcome.txt b/.devcontainer/welcome.txt new file mode 100644 index 0000000..46958c2 --- /dev/null +++ b/.devcontainer/welcome.txt @@ -0,0 +1,6 @@ +Welcome to YouTranslate! 💻 You're currently on a custom Dev Container for GitHub Codespaces! + +To get started, make sure you have your API Key for the ElevenLab's speech synthesis +ElevenLabs API: https://docs.elevenlabs.io/api-reference/quick-start/introduction + +Have fun! 😊 diff --git a/.github/.devcontainer/devcontainer.json b/.github/.devcontainer/devcontainer.json new file mode 100644 index 0000000..d15108f --- /dev/null +++ b/.github/.devcontainer/devcontainer.json @@ -0,0 +1,13 @@ +{ + "name": "YouTranslate Dev Container", + // Reference: https://github.com/devcontainers/images/tree/main/src/python + "image": "mcr.microsoft.com/devcontainers/python:3", + "features": { + "ghcr.io/devcontainers/features/git-lfs:1": { + "version": "latest" + }, + "ghcr.io/devcontainers/features/github-cli:1": { + "version": "latest" + } + } +} diff --git a/.github/workflows/devcontainer-build-and-push.yml b/.github/workflows/devcontainer-build-and-push.yml new file mode 100644 index 0000000..b20373a --- /dev/null +++ b/.github/workflows/devcontainer-build-and-push.yml @@ -0,0 +1,34 @@ +name: Dev Container Build and Push Image + +on: + push: + paths: + - '.github/**' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build-and-push: + runs-on: ubuntu-latest + steps: + - name: Checkout + id: checkout + uses: actions/checkout@v4 + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Convert Repository name to lower case + id: lowercase + run: echo "REPO=$(echo "${{ github.repository }}" | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV + - name: Pre-build Dev Container image + uses: devcontainers/ci@v0.3 + with: + subFolder: .github + imageName: ghcr.io/${{ env.REPO }} + cacheFrom: ghcr.io/${{ github.repository }} + push: always diff --git a/README.md b/README.md index ad29951..6b2cd4f 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,9 @@ Logo


+ +[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/AdiKsOnDev/YouTranslate) + YouTranslate is a Python script that allows you to create multilingual YouTube videos by cloning the voice of the video's author and translating the video's transcript to a different language. The script then performs a voice-over using the translated script and cloned voice, enabling you to reach a broader audience by offering content in multiple languages! ## :open_file_folder: Installation