# DOTA Web

Devnagri On the Air is a platform that translates your website on the fly.

The platform enables your website to go multilingual in minutes, without any hassle. You don't need to change anything at the code and infrastructure level. Its just a plug and play solution to go multilingual.

Devnagri On The Air makes your multilingual journey quick and easy.

DOTA

# Login Page

User has to provide the login id and password and click on Log In.

signin

# User Dashboard

User will be taken on his/her dashboard. He/She can choose to place a new Website Translation order.

dashboard

# New Order on DOTA

  1. User needs to enter the URL of his website which needs to be localised.
  2. Select the pricing plan.
  3. Select the duration.

neworder

# Order Summary

order_summary

# Payment

User will redirect to the payment page and choose any payment method for the transaction and confirm the order.

payment

Order gets confirmed and page will navigate to the verify website ownership page.

# Order Confirmation

If existing user has balance in wallet, the order will get confirmed and you will redirect to the verify website ownership page.

If new user does not have any credits, it will redirect to the payment page and then to the verify website ownership page.

# Verify Website Ownership

Sign in to your domain name provider and add the generated TXT record for you into your DNS Configuration (opens new window).

domain_verify

Click on verify and then it will take up few minutes for verification.

# Select approach

  1. Subdomain (hi.example.com)
  2. Subdirectory (example.com/hi)
  3. Live JS (example.com)

setup

# 1. Subdomain

Step 1.

subdomain_step1

a. Please enter the CNAME entries generated for you in your DNS record.

Note: If you are using CDN, you need to disable proxy on Cloudflare.

If you are using GoDaddy or Cloudflare you can see how to do it in the videos below:

GoDaddy (opens new window)

Cloudflare (opens new window)

Click on Verify CNAME and after verification the red cross should become green tick after a few minutes.

Devnagri is currently initializing your subdomains. Please be patient while the process completes.

b. To apply SSL on localised website, add below CNAME record to your DNS service provider. Click on Verify SSL to verify this step.

Step 2.

subdomain_step2

It is recommended that you include the Javascript code snippet immediately before your closing body tag. This will enable the language switcher to appear on your website, as well as add hreflang tags to notify Google of the different variations of the same page and prioritize indexing of these pages. This is particularly beneficial for your SEO efforts.

Once its done, you can click on Finish and you're done!

Step 3.

subdomain_step3

Your project has been created. Now, you can go to DOTA dashboard by clicking on Go to my dashboard.

# 2. Subdirectory

This approach involves creating a new subdirectory for each language version of your website. For example, if your main website is www.example.com, the Hindi version would be www.example.com/hi.

Step 1.

subdirectory_step1

It is recommended to include Apache/Ngnix code snippet to your website server configuration.

subdirectory_step1

Once the mapping has been done click on Verify & Next. In order to verify server configuration for subdirectory approach.

Step 2.

subdirectory_step1

The final step is to include the JS code, which simplifies the creation or the language button and also adds hreflang tags to your website.

It is recommended that you include the Javascript code snippet immediately before your closing body tag.This will enable the language switcher to appear on your website.

Once its done, you can click on Finish and you're done!

# 3. Live JS

Step 1.

liveJS1

You're welcome to adhere to the guidelines and include the Javascript code snippet immediately before your closing body tag. This will enable the language switcher to appear on your website.

Step 2.

liveJS2

Your project has been created. Now, you can go to DOTA dashboard by clicking on Go to my dashboard.

# DOTA dashboard

User dashboard shows all the details of order placed for a domain.

  1. Website name
  2. Languages
  3. URLs
  4. Status
  5. Plan
  6. Publish
  7. Progress
  8. Valid Till
  9. Page Views
  10. Word Count

dashboard

# URLs tab

wordcount

# Progress

If all the URLs translated by system then the progress will show 100% on the dashboard.

# Add URLs

If system did not crawl any url due to some technical issue or user want only one particular URL to be translated so user can provide the URL and translate the page. Upon clicking on the add URLs page will redirect to the next page.

url_status

# URL sync again button

Upon clicking on the Sync again button all the URLs will sync and will display on the screen.

# Translate button

Click on the translate button URLs will be loaded to the DOTA dashboard.

# Don't have URL

If system not crawling all the URLs user can click on the click here button and add URLs manually.

# Upload files

User has to update all the URLs in the file and click on the upload button.

upload_files

# Paste URLs

User can use this tab by pasting individually URLs. to crawl.

paste_urls

# Publish URLs

User can add all the URLs in the file and publish it directly.

publish_urls

# Words

This shows word count - how many words are in the URL.

# Translation Type

This shows translation type of URLs - MT,PT,HT.

# Machine Translation

The translation done by machine.

# Human Translation

As user want to translate URL him self by using proof read option.

# Premium Translation

# Created On

Shows the date on which the URL was created.

# Published On

Show the date on which the URL was published for the First time.

# Updated On

Shows the date on which the URL was updated with some new content.

# Action

# Preview

User can view the translated URL of the particular language.

# Proof Read/Translate

Click on proof read tab.

Proof read shows all the sentences of the URL along with the translation.

User can also do modification of the sentences.

proofread

# Sync Word Count

User can sync word count for each url.

proofread

# Published

Only published links are shown as translated. We don't translate unpublished URLs.

ative

# Search Tab

User can search any URL in the search button.

search

# Change URL Status

urlupdate

# Publish In All Languages

User can publish url in all languages.

publishall

# Add more language

morelanguage

morelanguage1

# Delete URL

We can delete the URLs by using the delete button.

RR

# Change Block/Unblock URL Status

User can change Block/Unblock url status.

Block

# Change language dropdown filter button

User can see all the progress of the translated URLs in the particular language.

PT

# Filter Button

User can use the filter button to search for Active/Inactive, Translation type, URls.

filter

# Publish

Enable translation for the domain.

# Language Switcher

User can add the following script to display the language switcher on your website.

language_switcher

# Custom CSS

You can use Custom CSS to customize the positioning of Language Switcher Dropdown. Recommendation: Please use combination of (right and bottom) or (left and bottom) and rest field is empty for better dropdown position.

dropdown_position

# Settings

Language dropdown on your website Recommendation : if you are using custom dropdown, please disable both the options.

publish_settings

# Subdomain Redirect

If you are using Devnagri language dropdown, you need to "ON" the settings. This will help you populating a dropdown on your proxy website. This option will work only after you have added the CNAME successfully. Recommended: if you are not using your default language dropdown.

# Language Dropdown UI

Enabling This will help you populating an automatic language dropdown on your proxy website.

# Automatic Translations

If this is toggled to ON then any new URL that comes into the system automatically is marked ACTIVE and localised. If this is toggled to OFF then any new URL that comes into the system automatically is marked INACTIVE and NOT localised. The user is taken to the parent site when he tried to access this new URL.

# Static Content Website

This settings for if your website has static content then enabling this would speed up the content localisation.

# Show Professional Translations ONLY

Setting this to ON would ensure only manually approved, professional translations would be shown else the content would be in English.

# SSL Certificate CNAME

Please include the CNAME that has been generated for your localized website.

SSL_certificate

# Subdomain

You can active subdomains for language with the CNAME.

subdomain

# Page Views

Here, the user can see no. of visitors for each URL and language.

pageview

# Total Views

Total Views has the total no. of visitors on your localised website.

# Premium Translation Tab

User can see all the Premium translation orders on this page.

PTOrder

# Order for Premium Translation

Upon clicking 'Order for Premium Translation', you will be redirected to the page where you can select the URLs for which you want to create Premium Translation order. Click on 'Next' after selecting the URLs and you will land on 'Create Order' page.

PT_order_urls

# Create Order

This is where the user can create order by filling all the details.

Order

Ordersucess

# PT orders will reflect on orders page and PT

The list of PT orders will be shown under orders page and Premium translation page of DOTA dashboard.

ordersummary

ptorder

# Translate Button

PTtranslate

# Translate Page

In this page user can see many option and toggle button.

Order type,

Order Industry,

Level of Politeness.

Sorting.

Jump to segment.

Language.

Link.

Duplicate words.

No.of words in the page.

toggle

# Toggle Controls

Upon clicking on toggle button the toggle will hide all the button present on the bottom of the page.

toggle tg

# Keyboard Shortcuts

glossary

# Instructions

This shows the instructions given at the order creation time.

instruction

font

# Description on Translate Page

# Save Translation

User/Translator can save a particular segment after making any changes by clicking on the save translation button.

save

# Add Comment

User can add comment on the translation of any segment.

addcomment

# Revision History

The Revision History feature allows users to review the complete history of changes made to a particular segment.

revision

# Accept Translation

Reviewers can accept the translations done by translators by clicking on this button.

# Reject Translation

Reviewers can reject the translations done by translators by clicking on this button.

reject

# Accept/Reject All

Reviewers can accept/reject all segments at once from here.

allinks

# Filter By

User can filter all the segment by using the options such as Translated, Untranslated, Accepted, Rejected, Commented, Duplicates etc.

sort

# Advance Filter

User can filter all the segment by using advance filter option such as Source Text, Translation Type, Sort By, Source with tags

Advancesort

Advancesort

# Find And Replace

User can find segment text and replace using this option.

find

replace

# Jump to Segment

User can enter any segment number in the search box and click on Go button to jump to that segment number on the page.

jumptosorting

# Autofill MT

Using this option all the untranslated sentence will be filled up with devnagri MT.

Autofill

# Preview

Using this option user can preview page in translated language once translation is completed.

Preview

# Stats

User can check Translation Statistics using this option

StatsOption

Stats

# Settings

# Caching

# Custom Purge

# URLs Purge

Used to purge the cache of URLs.
Limit - 5 URLs at a time, one per line.

purge_url

# Folder/Prefix Purge

Used to purge all the URLs of mentioned folder.
Limit - One folder at a time.

purge_folder

# Domains

Purge all cached files of domains.

purge_domain

# Purge Settings

Purge settings data so that changes done for the localised website get reflected.

purge_settings

# Bypass Cache

This feature is used to Bypass Page Cache.

bypass_cache

# Query/Hash Params

Parameters after ? and # can be handled using this feature.

query

# Merge and Block

# Merge Folders

To merge msite or amp folders so that they do not show up repeatedly in the system.
Please add comma seprated folder names. eg:- amp,msite etc.

merge_folders

# Blocked Keywords/URLs

For preventing blocked URLs to store in system.
Please delete the malformed URLs once after adding them in the block list.

blocked_keywords

# Exclude Block

Mention class or div that you do not want to translate.

exclude_block

# Robots.txt

Please check the syntax and ensure you upload correct robots.txt.

robots.txt

# Object Mapping

An image on the main site will be replaced by the localised image by providing the URLs of the images.

  • English URL - has the image url of the main site.
  • Language - select the localised language.
  • Localised URL - has the image url that is to be put on the localised site.

Note:- This feature can be used for images, docs, ppts etc.

object_mapping

# Iframes

Specify iframe IDs that you want to localise.
Limit - Mentioned iframes should exist across the site. Please add comma separated iframe ids, for eg:- iframeid1, iframeid2 etc.

iframes

# Hreflang Tags

Please add hreflang tags in your source code. These tags let Google know you have different versions of the same page and favor indexing of these pages. You can find these hreflang tags in the head tag of your website source code. Note that with this method, you don't need to edit your sitemap.

hreflang_tags

# Purge Cache

# 1. Clear Cache of a Single URL

POST 'https://dota-web-api.devnagri.com/api/purge-cache-url'

{
    "api_key" : "abcdefghijk_xxx",
    "url" : "https://fourtek.com/"
}

# Request Parameters

The request requires input in the json data

Key Sample value Description
api_key abcdefghijk_xxx API Key
url "https://fourtek.com/" URL for purging

# 2. Clear Cache of Complete Domain

POST 'http://localhost:8081/api/purge-cache-url'

{
    "api_key" : "abcdefghijk_xxx",
    "isDomainWise" : true
}

# Request Parameters

The request requires input in the json data

Key Sample value Description
api_key abcdefghijk_xxx API Key
isDomainWise true This as true will purge the complete domain for this API key