🎯 Project Overview

In this project, you will work with a real webpage from The Nature Conservancy's Python Patrol campaign and localize it into Miami Spanish—the variety of Spanish spoken in South Florida, shaped by Colombian, Cuban, and other Latin American influences. Your target audience is Spanish-speaking Floridians who may encounter Burmese pythons and need to know how to report them.

This project asks you to do two things at once: produce a working bilingual website, and think critically about what a CAT tool's segment-by-segment translation does and doesn't get right. You'll get hands-on experience with a real TEnT (Translation Environment Tool), practice your link localization skills, and reflect honestly on translation quality, SEO, and LLM discoverability.

🐍 Why Python Patrol?
The Burmese python invasion in the Florida Everglades is a real and ongoing ecological crisis. The Nature Conservancy's Python Patrol program trains volunteers to safely report python sightings—but the program's reach depends on people knowing it exists. A Spanish-language version of this page has the potential to bring thousands of South Florida residents into the conservation effort. That's a real use case, with a real audience, and real stakes for getting the localization right.

🍮 Part 1: Fork the Repository

Your first step is to create your own copy of the project repository on GitHub.

1

Fork the Repo

Navigate to the loc801-python-patrol repository on GitHub. Click the Fork button in the top-right corner to create your own copy under your GitHub account.

2

Clone to Your Computer

Clone your forked repository to your local machine using GitHub Desktop or the command line, as you've done in previous projects. Open it in Visual Studio Code and read through the README before you do anything else.

🔧 Part 2: Translate with a CAT Tool

Now comes the core task: translating index.html using the CAT tool of your choice.

1

Choose Your TEnT

Review the tools covered in this topic and select one to work with. Refer to the Technology Scorecard and the Segmentation Forum for guidance. You'll be asked to explain your choice in your reflection, so think it through before you commit.

💡 Tip
If you're new to CAT tools, OmegaT is free, open-source, and handles HTML files well. If you want to try a professional cloud-based environment, SmartCAT offers a free tier. Either way, make sure you can export a clean HTML file when you're done.
2

Handle the JavaScript String First

Open PythonPatrol-base.js and find the STRINGS object near the top of the file. The es-US key has a placeholder value in English. Before loading index.html into your CAT tool, think about how you'll handle this string. It won't be picked up automatically from the HTML file.

Some options: add it to your translation memory manually, create a small plain-text file with just this string and run it through your tool first, or translate it directly. Whatever you decide, be ready to explain your approach in your reflection.

3

Import and Translate index.html

Load index.html into your CAT tool as the source file, with Miami Spanish (es-US) as the target language. Work through the segments, translating the page content.

Pay attention to what your tool segments correctly and what it doesn't. Does it keep HTML tags intact? Does it handle inline elements like <strong> and <em> sensibly? Take notes on anything unusual—you'll use these observations in your reflection.

What to Translate

  • All visible text content: headings, paragraphs, lists, button labels, placeholder text
  • Image alt and title attributes
  • The <title> element and all <meta> content (description, keywords, Open Graph tags)
  • Footer link text

What Not to Translate

  • HTML tag names or attribute names (class, id, href, etc.)
  • CSS class names
  • Local file paths (image src values, stylesheet links)
  • The phone number 1-888-IVEGOT1 — this is a real hotline; keep it as-is
4

Export as inicio.html

Export your translated file and save it as inicio.html in the repo root. Then open it in VS Code and make the following manual adjustments, which your CAT tool won't handle automatically:

  • Set <html lang="es-US">
  • Set og:locale to es_US and og:url to inicio.html
  • Move class="active" to the Español link in the language switcher
  • Update the JS string placeholder in PythonPatrol-base.js with your translation

🔗 Part 3: Localize External Links

A localized page shouldn't send Spanish-speaking users to English-only resources if better options exist. For each external link in index.html, check whether a Spanish-language equivalent page is available.

Links to Check

For each link where a Spanish equivalent exists, update both the href and the visible link text in inicio.html. If no Spanish equivalent exists, keep the English link. Either way, note your findings in your reflection—the absence of Spanish resources is itself worth commenting on.

🚀 Part 4: Publish to GitHub Pages

1

Commit and Push

Commit all your changes—inicio.html and the updated PythonPatrol-base.js—with a descriptive commit message and push to your GitHub repository.

2

Enable GitHub Pages

In your repository settings, go to Settings → Pages → Deploy from branch → main → / (root). Wait a minute, then verify that both pages load correctly at your GitHub Pages URL:

  • https://[your-username].github.io/loc801-python-patrol/index.html → English page
  • https://[your-username].github.io/loc801-python-patrol/inicio.html → Spanish page
3

Test the Language Switcher

Confirm that the language switcher in the header links correctly between your English and Spanish pages in both directions.

✍ Part 5: Write Your Reflection

After completing the localization, write a reflection that addresses all four areas below. This is not a summary of what you did—it's an analysis of how well it worked and why.

1. Tool Choice

Which CAT tool did you use, and why did you choose it over the other options covered in this topic? Consider factors like cost, HTML support, translation memory features, and ease of use. Would you choose the same tool for a larger or more complex project?

2. The JavaScript String

How did you handle the UI string in PythonPatrol-base.js? Describe your approach and explain why you handled it that way. What does this experience tell you about the challenges of localizing content that lives outside the main translatable file?

3. Translation Quality

How well did the segment-by-segment translation perform? Give specific examples—segments that translated well and segments that needed significant post-editing. Think about things like: Did the tool handle inline HTML tags correctly? Were there any segments where the segmentation itself caused problems? How did the CAT tool's output compare to what you would have written from scratch?

4. SEO and LLM Discoverability

Evaluate what the sentence-by-sentence translation did for—and possibly against—the page's SEO and LLM discoverability. Did the translated content read naturally enough to rank well in Spanish-language search? Were there keyword choices in the translation that felt awkward or unnatural for a Miami Spanish audience? Did the structure and metadata carry over in a way that would serve the page well in Spanish-language search and AI-generated responses?

💡 What Makes a Good Reflection
Strong reflections are specific and honest. "The translation was mostly good" is not a useful answer. Name actual segments, describe actual problems, and connect your observations back to what you've learned about translation quality, SEO, and localization workflows. If the tool performed poorly on something, say so clearly and explain why you think that happened.

📋 Submission Checklist

Before submitting, verify that you've completed all required elements:

  • Repository forked from locessentials/loc801-python-patrol
  • inicio.html committed to the repo root with lang="es-US"
  • All visible text content translated into Miami Spanish
  • Metadata translated (<title>, meta description, keywords, Open Graph tags)
  • Language switcher active state updated to Español in inicio.html
  • UI string in PythonPatrol-base.js translated (the es-US key)
  • External links checked for Spanish equivalents and updated where applicable
  • Site published to GitHub Pages with both pages loading correctly
  • Language switcher navigates correctly between English and Spanish pages
  • Reflection written addressing all four required areas
Submission Format

Submit the following in the format requested by your instructor:

  1. Link to your GitHub Pages site (the Spanish page: inicio.html)
  2. Your written reflection addressing all four areas