Skip to main content

Translation system

All user-visible strings in StartMyVPN are wrapped in {{ __('...') }} — Laravel’s localization helper. This means you can change any text either by:
  1. Editing the template directly — fastest for one-off changes
  2. Editing the language file — best when the same string appears in multiple places or when you support multiple languages
Language files live in lang/:

Edit the English language file

Open lang/en.json and change values:
The key is the original English string; the value is what’s displayed. If no entry exists for a key, Laravel falls back to displaying the key itself — so both approaches work.

Add a new language

Create lang/[locale].json (e.g. lang/fr.json) with translated values:
Then add the locale to config/app.php:
The language switcher in the navigation bar will automatically show the new option.

Landing page content

File: resources/views/landing.blade.php

Hero text

Update the strings in lang/en.json or edit the template directly.

Trust badges

Below the hero buttons:
Change these to match your actual offering (e.g. “14-Day Free Trial”).

Stats bar

Four stat blocks appear in this section. Update the numbers and labels directly in the template.

Feature cards

Six cards in the Features section. Each card has a title and description paragraph:
To add a card, duplicate an existing <div class="bg-white p-8 rounded-xl..."> block and change the content. To remove a card, delete the block. The grid auto-adjusts (CSS grid-cols-1 md:grid-cols-2 lg:grid-cols-3).
Replace the href="#" values with your real App Store / Google Play URLs.

Features page

File: resources/views/features.blade.php This is a dedicated feature showcase page. Edit the feature list, descriptions, and any comparison tables directly in the template.

Pricing page

File: resources/views/pricing.blade.php The pricing page dynamically loads plans from the database — you do not hardcode prices here. Plan names, prices, bandwidth limits, and features come from Admin → Plans. The template controls the visual layout of the pricing cards. To change the layout or add a custom “Most Popular” badge, edit this file.
The public navigation is in resources/views/components/layouts/public.blade.php.
To add a new link, add an <a> tag pointing to the relevant route. To remove a link, delete the <a> tag.

Sign in / Sign up button text

Change the text by updating the translation strings.
File: resources/views/components/footer.blade.php Edit this file to change:
  • Footer links and columns
  • Copyright notice and year
  • Social media links
  • Company description or tagline

Support page

File: resources/views/support.blade.php Contains the support landing page content. Edit it to add contact information, hours of availability, or links to external resources.

Auth page text

These pages use standard form layouts. Edit heading text, helper text, and button labels directly or via translation strings.

Email template content

Email body text is in resources/views/emails/. Each file corresponds to a transactional email:

Example: Service activation email

File: resources/views/emails/service-activated.blade.php
Edit the subject line in app/Mail/ServiceActivated.php:

Customer dashboard content

File: resources/views/dashboard.blade.php The dashboard displays the user’s active service, server list, and bandwidth usage. Edit this template to change:
  • Section headings and labels
  • Empty state messages (shown when no active service)
  • Help text and tooltips

After editing templates

No rebuild is needed for .blade.php changes — Laravel compiles them on request. However, clear the view cache if you have it enabled:
For changes to lang/en.json or other language files, clear the config cache: