Python Patrol Localization Project
Use a CAT tool to localize a real conservation webpage into Miami Spanish, then reflect on the quality of what segment-by-segment translation actually produces.
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.
Part 1: Fork the Repository
Your first step is to create your own copy of the project repository on GitHub.
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.
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.
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.
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.
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
altandtitleattributes - 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
srcvalues, stylesheet links) - The phone number 1-888-IVEGOT1 â this is a real hotline; keep it as-is
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:localetoes_USandog:urltoinicio.html - Move
class="active"to the Español link in the language switcher - Update the JS string placeholder in
PythonPatrol-base.jswith 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
- IveGot1.org â Check for a language toggle or Spanish URL
- Florida Fish and Wildlife Conservation Commission â Look for an
essubdomain or Spanish page - UF IFAS Extension â Non-Native Reptiles Guide â Check for a Spanish PDF or alternate page
- New York Times article â Check NYT en Español
- Nature Conservancy donate link â Check for a Spanish donation page
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
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.
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 pagehttps://[your-username].github.io/loc801-python-patrol/inicio.htmlâ Spanish page
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?
Submission Checklist
Before submitting, verify that you've completed all required elements:
- Repository forked from locessentials/loc801-python-patrol
inicio.htmlcommitted to the repo root withlang="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.jstranslated (thees-USkey) - 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
Submit the following in the format requested by your instructor:
- Link to your GitHub Pages site (the Spanish page:
inicio.html) - Your written reflection addressing all four areas