How does Linguify translate website?
Linguify run-time engine intercepts webpages requested by the user using Reverse Proxy methodology and then carries out on-the-fly “replacement” of original text with translated text. With this methodology, the main website can continue to be in original language while users get to view the pages in the language of their choice.
Can you do a POC for us on our website / web application? Are there any charges for the PoC?
Yes, we can carry out a limited PoC for your website / web application. The PoC is generally carried out free if the scope of PoC is small, and the scope can be extended for a small charge. Such PoC enables you to clarify all queries / doubts and satisfy yourself about the overall Linguify solution and services capabilities.
Can Linguify carry out translation of large website?
Yes, Linguify can comfortably translate website having tens of thousands of pages without need of any special storage, CPU or RAM requirements, and carry out translation with desired performance. Linguify easily handles Translation Repositories running into Several Million strings.
Can Linguify carry out Translation of web application?
Yes, Linguify can translate web application including enterprise applications. Linguify handles interactive pages and pages with dynamic data.
Can Linguify be used off-the-shelf or does it require configuration or customization?
Since most websites and web application have peculiarities and customizations, Linguify requires some degree of configuration. The efforts required for this configuration are dependent on the specifics of the original website or web application plus the specific custom requirement.
Over a period of time, having worked with more than 300 websites and web applications (delivery, pilot or Proof of concept), Linguify has evolved to a level wherein most such requirements are met through configuration carried out using the tools available with Linguify framework, and code-level customization is rarely required. Such approach ensures that you get production quality solution which is extensively tested as product (and not as a custom solution where code is touched by many developers).
To sum it up: Linguify generally requires configuration and the efforts depend upon actual website & specific requirements. Customization of Linguify is not required.
What all languages Linguify supports?
Practically all languages which can be displayed on desktops and mobile! Since Linguify run-time engine replaces text of one language with text of other language, it can do so for any such combination. It can translate website to and from Indic (most Indian languages including Hindi, Bengali, Marathi, Telugu, Tamil, Kannada, Malayalam, Gujarati, Odia, Punjabi, Assamese, Urdu, Maithili, Santali, Kashmiri, etc.), other Asian languages (Chinese, Japanese, Korean, Thai, Arabic, Farsi, Hebrew, Russian etc.), European languages (English, Spanish, Portuguese, French, German, Dutch, Italian, Turkish, Polish etc.) and even African languages (Swahili, Amharic, Zulu etc.).
Basically Linguify will be able to support any source and target language pair that you will require commercially and is supported by popular Operating systems (for display of the language script).
Does Linguify support multilingual translation?
Yes, Linguify can simultaneous translate website or web application into multiple languages, or you can start with one and keep adding languages as per your choice.
Does Linguify work with secured website or web applications?
Yes, Linguify works with SSL/HTTPS.
Does Linguify support SEO for translated website?
Yes, Linguify not just supports SEO, but brings in several features to help improve SEO of translated website and even help boost overall ranking. Further details are provided in SEO section.
What amount of efforts required from our team in order to do the translation of our website?
Practically no effort is required from your developer / tech team. Generally the user team (e.g. Digital Marketing) will be involved for identifying the section of the website & the part of the webpages to translate (or exclude) and add language selection to the Home page of main website. In case of web application, you will need to provide test login and the navigation details (screens and test data). You will also need to provision the servers for solution deployment.
Is Linguify an Automated (Machine) Translation Engine?
No. Linguify carries out on-the-fly “replacement” of original text with translated text. All the translations required for this replacement are prepared in advance.
Is it similar to Google Translation engine? If not, what are the differences?
As explained above, Linguify acts as a layer between the original website and user, and uses repository of already translated text for carrying out translation of pages. Google Translation engine produces translated text. However, Linguify (in terms of end result) is somewhat similar to Google Translation Widget.
How is translated text prepared for Linguify?
In most cases, translations are carried out by Human translators since the translation need to be not just accurate but also appropriate. In some cases, translation is obtained through MT-PE method – this is a combination of Machine Translation with Post Edit. However, human translation expert always performs the final QA.
Why Linguify does not use Machine Translation?
Machine translation, though fairly improved in recent time, suffers from several issues like lack of accuracy, quality, appropriateness, reliability, consistency, and worst – inability to change translations. Translation accuracy of 90% still means 1 in 10 sentences is wrong – which is unacceptable in commercial world. Moreover, the translations are required to be not just linguistically correct but also appropriate of the intended audience. MT does not have the domain information, and hence can translate only based on training set and not as per the required domain. Another serious issue with MT is reliability since the translations do not come attached with “confidence percentage” – this means that translation can go wrong without any warning.
Does Linguify require/use any API calls?
No. Use of API call to external sever can compromise data confidentiality. In general, any API call to obtain translations has severe impact on translation speed and overall performance. Linguify keeps all translation on the same server (where Linguify is installed) and does not make any external calls.
Is there any change to Source code required for Linguify implementation?
No, source code change in not required for standard website translation.
However, in case you need to use special facilities of Linguify like suppression of specific part of page (e.g. customer reviews – which you may not want to translate & hence may need to be hidden while showing the translated page), your elements will need to have ControlIDs or ClassID (or data attribues) in order to identify the element. In case if such identifiers do not exist, you may need to add these identifiers only to the relevant elements.
Does LinguaSol team need access to source code?
Absolutely not. LinguaSol team does not even need to know the development framework used by you.
Is any change to database structure required?
No change is required to be made to your existing database structure in order to translate your website or web application.
Which CMS and development platform are supported?
How is the text collected from the website?
Linguify Crawler is used for automated extraction of contents from static (non-interactive) pages, and Linguify Page Grabber is used for collection of text from interactive pages. Linguify also employs text collection on server. In addition to this, contents are also obtained by importing the data exported from customer’s database or files (especially the error strings and alert messages).
What exactly is Linguify?
Linguify is not just a run-time on-the-fly page translation engine – it also has large set of application and tools to manage the collect-extract-translate-deploy cycle. It comprises of following major components:
- Run-time Engine for interception & replacement of web page contents consisting of various types of parsers and high-performance translation repository
- Crawlers, Page grabbers, text filters & connectors
- Text pre-processing engines like Term-base Detection, Name Entity Recognition
- Translation Management System with In-context Translation Editor, Advanced QA tools
- Scheduler & data connector for content change detection
How does Linguify translate webpages?
Simplified description of Linguify run-time translation process is as follows:
- Step 1: Intercept web data – implemented using Reverse Proxy technique.
- Step 3: Get the translated contents from the repository and replace the text. This step can get complicated when you have strings which contain both fixed text and variable data. Obviously, actual operations are far more complex to handle all varieties of web data and provide flexible translation options.
Why Linguify doesn’t use Scripting?
Simple – translation with Scripting cannot assure full SEO. Any translated website without SEO is almost meaningless. Moreover Scripting results into sluggish text replacement, especially on slower internet connections, resulting in poor user experience. Since these two factors are absolute show-stoppers, LinguaSol does not recommend using this.
To explain the above factors, it is useful to understand how Scripting works. Script is added (to each page), which executes after the page is downloaded and rendered on user’s browser. This execution navigates the page DOM, and collects text from each node. This text is now sent to server where translations are kept, and response received. Now the Script again navigates the DOM and replaces the original text with translated text. It is obvious that the contents are initially displayed in original language and then replaced (after some time) with translated text – hence the delay. During indexing, Bots would have (in almost all cases) already parsed and extracted text from the page before the Translation Script is able to populate translated contents and hence indexing takes place with original text.
However, LinguaSol has Scripting available as an Add-on just in case user want to translation web application for use within LAN where SEO is not required.
Linguify Scripting is highly advanced algorithm to ensure that there is no delay in showing translated contents. This is achieved by employing a proprietary method to avoid double node navigation & round-trip.
Does Linguify store translated webpages?
No, since Linguify translated pages on-the-fly, there is no need to store translated pages.
Are Reverse Proxy based solutions capable of translation of all type of pages including complex pages?
Most Reverse Proxy solutions are capable of translation of basic HTML, but have limitations in handling complex formats e.g. contents in HTML format inside Script tag, nested JSON with array type data which require selective translation (since Values of some Keys need to be left untouched), contents inside dynamically created JS etc.
Linguify has evolved to handle all such cases, and also has a super-processor (internally known as Page Processing Language) which enables it to handle any unseen or non-standard situations.
Can Linguify handle translation of Data, complex strings, error strings, alerts etc?
Yes. Linguify can translate static as well as dynamic contents with ease. Linguify also translates strings which consist of both static and dynamic text. Error strings and alerts sometimes fall in this category, and Linguify routinely translates such text.
Can Linguify translate Proper nouns?
Yes, Linguify can be configured to include Phonetic Transliteration Engine for almost all Indian language (both English to Indian language & reverse). It may be noted that the transliteration acceptability is about 80-85% due to lack of equivalence of English & Indian language phonemes.
What types of web data streams are translated by Linguify?
Linguify can translate wide variety of data streams:
- Plain and complex text (text having embedded attributes for part of string) in base HTML
- Text in HTML, XML or JSON format embedded within Script tag
- JSON, Nested JSON, JSON with array – with selective translation of specific Keys
- String consisting of fixed text and variable data
- Dynamic PDFs, Excel Reports
What all type of contents can Linguify translate?
- Simple fixed text (paragraphs, label, menus, captions etc.)
- Dynamic text – contents from database
- String containing fixed plus variable/dynamic contents (translation of such string also results into reordering of location of variable part depending upon source and target languages)
- Rich text: HTML text with embedded attributes and href
- Complex text: text broken across multiple tags within a span
- Translation of proper nouns (name/place)
Can Linguify translate images and PDFs?
Yes. Linguify achieves this by replacing the original images and PDFs by their translated versions.
What are the exclusions i.e. is there something that Linguify does not translate?
In case the application has used proprietary data communication protocol outside HTTP e.g. encrypted API call or sockets, LinguaSol may not be able to intercept such data and hence may not be able to translate such data. It may be noted that such implementations are extremely rare, and LinguaSol has encountered only 2-3 such websites in last 5-6 years (out of about 300+ major websites and applications).
Linguify also does not translated Password Protected or Signed PDFs (obviously replacement of original text with translated text invalidates the checksum). But there are other ways of fulfilling this requirement which requires minor changes in the flow.
Does Linguify allow translation of specific URLs and hide excluded links?
Yes, Linguify provides selection of specific URLs (or pattern of URLs) to be translated (and exclude all others). Linguify can also remove the HREF tag if the URL is excluded from translation so that the clickable link is no longer shown to the user.
Can Linguify translate only select part of page?
Yes, you can specify which elements to translate. For doing this, it is necessary to identify such elements, which can be done on the basis of ControlID / ClassID or data attribute.
Can Linguify help hiding the untranslated part of page?
Yes. In real life, you may not want to (or have budget for) translate full contents of the page. Often elements like User Reviews or Comments are excluded from translation. In order to keep uniform user experience i.e. all contents to be shown in target language, you don’t want to show any page contents which are not translated. Linguify allows you to hide such untranslated elements.
Are there any pre-requisites for use of Linguify e.g. i18N or any such preparation?
No, Linguify can translate practically any type of website or web application in as-is mode – you don’t need to make any changes or provisions. There are no pre-requisites.
How fast is Linguify?
Linguify is really fast – it can translate dynamic content heavy webpage (100KB) under 200ms. Even very large pages (about 500-700KB – generally Search Engine Result Pages tend to be very large) are translated under 1 second.
Typical webpages (average 50KB) are generally translated under 100ms.
Linguify can deliver such performance for websites having Translation Repositories having 3‑5 Million strings.
Fast translation is not only important for good user experience, but also for search indexing since any slow response would eventually result in lower page ranking.
Can Linguify handle large loads?
Linguify has been handling translation load exceeding 3 million pages per day (2 x 8 CPU servers). Such loads are common during Google Indexing Bot execution. Since SEO is the most important requirement, such load handling capacity is necessary. Linguify has evolved over a period to quickly translate the page while working at such high loads.
How scalable is Linguify?
Scaling up Linguify is very easy – just add CPUs or servers along with load balance. Linguify also works well with auto-scale servers.
Can Linguify be deployed in High availability mode?
Yes, using a load balancer allows Linguify to be configured for high availability. Linguify framework includes online Health-check service which ensures quick automated recovery in case of fatal situations thereby helping achieve almost zero downtime.
Does Linguify support SEO?
Yes, Linguify provides extensive support for SEO.
How is SEO implemented since no translated pages are stored?
URLs with language qualified path are provided in the sitemap file. Indexing bots use this file to query the pages. When the bots use this file to request the page with language qualified URL, page with translated content is returned to the bat (via Linguify) which facilitates indexing in translated language. Such method is highly suited for website with dynamic data as well as websites which frequently keep updating the contents since the translated pages served are always fresh.
What are “language qualified URLs”
URL which contain some language marker is called language qualified URL. There are various ways of achieving this (“hi” for Hindi is used as an example):
1. Sub-folder approach: https://yourdomain.com/ https://yourdomain.com/hi/
2. Sub-domain approach: https://yourdomain.com/ https://hi.yourdomain.com/
3. Language flag approach: https://yourdomain.com/about.html https://yourdomain.com/about.html#hi
Do we need to always use language qualified URLs?
Yes, if you need SEO. This is necessary since translated version of URL need to be identified and indexed uniquely, and the obvious way of achieving this is to use language qualifier.
What are other SEO factors addressed by Linguify (LinguaSol)?
Linguify addresses SEO both at Technology level and Translation Services level in the following manner:
- Automatically add (and strip) language qualifier
- Translate URL path (keyword translation in URL path is useful for SEO)
- Prepare (and update) sitemap file for language qualified URLs
- Provides Term-base detection to facilitate focused translation of search keywords
- Use keyword based translation of META tags
- Add hreflang tag automatically with appropriate referencing to the original page
- LinguaSol translator’s team carries out SEO compliant and “easy to read” translations – literal or bookish translations are not easy to read and hence result into poor user stickiness
- Supports quick fine-tuning & changes of Terminology translations based on analytics feedback
Can I not keep the same URL for translated version?
Yes, you can. In this case, the language qualifier is passed through the Cookie or header. Please note that this will not allow independent indexing of translated page, and hence suitable only for web applications (where SEO is generally not required).
What is “Language Selector”?
This is the option generally provided on the Home page through which each individual user selects the language. Behind this language selector, small code is added for redirecting the requests for translated pages to Linguify server.
Can language selection be provided on each page?
Yes, however you may note that the page will be refreshed & request resubmitted.
In case such option is required for web application where page resubmission is not permitted, Linguify can use Scripting (by automatically injecting the script in the required pages). Linguify Scripting also ensures that the translations are shown quickly. Obviously, the page may not get indexed for translated language.
Can Scripting support SEO?
No. As explained earlier in FAQ, indexing is carried out by the bots even before Script replaces the original text with translated text and hence indexing does not happen for translated text. Moreover, the URL remains same, and hence the translated page cannot be uniquely identified. Due to these two factors, it is clear that Scripting does not support SEO.
Can the language selection be provided by the web application through User Profile?
Yes, the language flag can be set in Cookie or Header. Linguify can read this and automatically switch the language.
Are there any other ways to set the language?
Yes, Linguify can switch language based on Locale (language selected for the OS), but this is generally considered unreliable since few users change & select the OS or browser language. Linguify can also switch language based on region using IP based geo-location (3rd party service is required for this).
What Infrastructure is required for Linguify?
Basic deployment of Linguify can start on One Core 2 GB Server instance.
What are deployment options?
Linguify has been deployed on AWS, GCP, Microsoft Azure, Dedicated Server and some local hosting providers, and hence you can choose the infrastructure provider as per your norm.
Depending upon your loads (user load and Indexing Bot load), more CPUs and RAM is required.
Our website has about 500 static pages, 20 interactive pages. User traffic is about 5000 page requests per day and no specific bot indexing. What type of server will we require?
You can start with basic configuration of One Core 2 GB Server instance. In case your page requests are bunched (i.e. most requests are concentrated in few peak hours) and your website gets undated frequently (and hence you frequently trigger indexing requests), you are better off provisioning 2 Core 4 GB Server.
Does deployment for multiple languages require multiple servers?
No, the configuration and number of servers depend on the traffic. If your traffic is moderate, multiple languages can be deployed on single server, though more RAM (8GB or 16GB) may be required if the translation repository is large. In case of very high traffic volumes, dedicated servers can be assigned for each language as per the load of specific languages (e.g. Hindi traffic is always going to be higher as compared to other Indian languages).
You can start with smaller configuration and scale it up if the traffic become high.
What is strategy for scalability and fail-over?
Linguify can be easily configured to work with load balancers and auto-scale server. Linguify itself uses on-line health check service to automatically detect any malfunctioning of Linguify components and restart the services. Combination of load-balancer with health-check ensures almost 100% up-time.
Is Linguify compatible with CDN page caching?
Yes, the CDNs store even the translated pages, and hence requests for translated pages are handled at CDN layer itself.
What if the definition of low, moderate or high traffic?
Though there are no strict rules, the general guidelines are as follows:
- Traffic below 10,000 page requests per day is low basic server is adequate
- Traffic upto about 50,000 requests per day is moderate 2 Core 4GB
- Above 50,000 requests per day can be considered as high Start with 4 Core 8GB and increase to 8 Core 16 GB server (or more servers) depending upon loads
What is a typical responsibilities division during implementation?
Most of the heavy lifting is handled by LinguaSol team. Your team needs to just carry out the following:
- Identify & finalize the scope (LinguaSol team help you in sizing)
- In case of interactive pages or post-login pages: provide test login and navigation details, provide user level access to the LinguaSol team along with test data
- Provide data (in case of eCommerce or similar data driven applications), error messages and alert strings
- Provide high level translation guidelines e.g. use of translation or transliteration for key terminologies, brand names and product names
- Provide test server and provision the production server
- Add Language selector and configure language redirector
What is typical timeframe of implementation?
From the word “Go”, you can go live in 4-8 weeks depending upon size of website / web application, number of language and configuration/customization.
Is there any risk of disruption of the main website / web application during the implementation or after deployment?
No, since Linguify is completely external to the main website / web application, implementation of Linguify has absolutely no impact on the main website. Linguify eliminates need for any code or database change in the main website / web application, hence there is zero possibility of any adverse effect of Linguify on the main website.
Even after deployment, all the requests for original language directly go to the main website / web application, and hence have no relation with Linguify deployment. Only the requests for translated pages go to Linguify, and hence worst case scenario is temporary (small duration) disruption of delivery of translated pages.
In fact one of the great feature of Linguify is zero-disruption implementation and deployment of translation capability.
How are Patches and Updates handled? What is the frequency?
LinguaSol team prepares the patches and updates, and tests these by first deploying on test server (against the live main website / web application). After successful test period, these are handed over to your IT team for deployment on production server. Patches are released in response to any deficiency in translation. Translation Repository patch is routine since this contains incremental translations for newly added contents. Patches may also contain configuration change – this happens only when the new types of pages are added or major change is made to structure of existing pages. These patches are released typically as per SLA for translation updates, or as and when urgent translation updates are required.
Patching is rarely required for Linguify Run-time software since it is already a mature product, and is released only after rigorous testing. Such patches are released only when there some major functionality improvement – prepared either due to your own requirement or part of generic improvement. In recent time, such release periodicity is about once a quarter to six months.
What is the upgrade policy and periodicity?
All upgrades are free as long as you are under active subscription or maintenance contract. Version upgrades are released in about 8-12 months.
What are the security implications of Linguify implementation?
Linguify has been built for enterprise web applications, and hence security has been given prime consideration. Linguify is deployed either inside your data centre or on server (or VM) provisioned by you. Hence, your security team is always & completely in control of the security implementations.
Moreover, Linguify strictly implements following key protocols:
- LinguaSol team does not require any direct access to Production instance of server where Linguify is deployed. LingaSol team deploys Linguify on Testing or Staging server, and deployment on Production server can be carried out through automated scripts or by your IT team. This way, the Production server is always within sole control of your IT team.
- Linguify does not store any customer data. The only data captured or stored by Linguify run-time is new text (not found in the translation repository) or logging data. Even this captured on Production server and handed over to LinguaSol team by your IT team, and hence your IT team is in complete control.
- Linguify makes page requests only to the designated domain (your main domain or internal IP address) for fetching the web page. Other than this, Linguify does not make any other outbound connection or request.
- All the configuration data & translation repositories required by Linguify for translation are stored on your server only (where Linguify is deployed), and Linguify does not require any API call or fetch translations from any external source or server.
Following are the points related to security for different deployment scenario:
- On-premise deployment (inside data centre): Linguify server gets deployed behind the firewall, and is assigned local IP address. Due to this, any request going in or coming out of Linguify server is fully controlled by the firewall, and Linguify server cannot be accessed from outside. Additionally, Linguify makes page request to main server on local IP address only. Finally, LinguaSol team does not require any direct access to the server where Linguify is deployed. Moreover, this server (where Linguify is deployed) is not required to be assigned any domain name, thereby helping security considerations.
- Deployment on Hosted server (AWS, GCP, Azure or other): Since the Production Server is under full control of your IT team, all security constraints can continues to be as per your policies.
Does Linguify have any security certification?
Since Linguify is a middleware which gets deployed on infrastructure provisioned by you, any security audit or certification of Linguify as subject to (and subordinate of) the overall security framework. Linguify has cleared several such audits as a part of security audit of overall system commissioned by our customers carried out by 3rd party security audit companies (e.g. Veracode, Cert-in). LinguaSol personnel assists customer’s executive during such process.
Can Linguify be used for secured transaction?
Yes. Linguify has been extensively deployed for translation of applications that require high security e.g. Internet Banking.
How are the change to website / web application detected?
Linguify framework has various options available for change detection, and more than one method may be used for any specific website / web application depending upon type of pages, content update frequency and SLA. Following are the options:
- Automated crawler is used for change detection for pages with static contents or dynamic non-interactive contents. Crawler is configured for traversing top pages frequently (sometimes even twice a day), and deep crawl (full website crawl) is carried out periodically (e.g. once a week). Crawling provides list of modified pages, new pages and the new contents.
- List based request with tag configuration: this method is generally used for website which is predominantly dynamic (e.g. eCommerce, retail etc.). In this method, predefined list of URLs are requested and monitored for any untranslated text. This allows Linguify to get not just the new data but also any change in the page template contents.
- Run-time collection of untranslated data – this is carried out on Linguify server.
- Page grabber is used for navigating interactive pages, and any untranslated text triggers change flag.
- In addition to the above, LinguaSol can also collect data from some intermediate database. Such method becomes useful in case of dynamic website having large amount of data.
- In case of web applications, general customer informs us about the likely schedule of changes (since web application change is a pre-planned and scheduled activity). This facilitates carrying out change management on test server, and timely updates of translations.
What is typical Turn-around time for translation updates?
This depends upon the SLA. For some of its customers, LinguaSol supports 4 hour Turn‑around-time (TAT) during extended business hours, which includes twice a day crawling and dedicated in-house translator.
For most cases, a daily update of top pages along with weekly deep analysis is considered adequate.
You can choose the type of update management as per your requirement – LinguaSol evolves the optimal structure for this.