The companies that succeed globally (Spotify, Netflix, Uber) don’t just translate. They design from day one for cultural, linguistic, and technical differences.
You need to consider both technical and marketing factors. Amazon's Swedish website accidentally replaced "rooster" with the Swedish word for male genitals. An Italian company named their international site powergenitalia.com instead of powergen-italia.com back in 2003. These were more than bad translations. They revealed big marketing mistakes.
Figure: Many top-spoken languages remain underrepresented online, e.g. Chinese represents 13% of the world, but 2.2% of the websites
The word “internationalization” is long, so we shorten it to i18n because there are 18 letters between the “i” and “n.” According to the W3C, internationalization means designing your product so it can easily adapt to different languages and cultures before you start translating.
Think of it like building a website with a flexible backend. You set up your framework so it supports multiple languages: text is not hardcoded, date and currency formats can be customized, and layouts can adjust for right-to-left text.
You are not adding translations yet. You are just making sure the system can handle them later without breaking.
Localization (l10n) - The implementation
If i18n is the framework, l10n is when you actually fill in the details for each locale. This is where you add translations, apply regional settings, and adjust visuals such as date formats, currencies, or culturally specific images.
This step is where you confirm that your internationalized website truly works for users in Japan, Germany, or Brazil, and fix anything that does not fit.
Common i18n pitfalls
Here are the most frequent pitfalls developers encounter when scaling globally:
❌ Issue: Countries using non-latin scripts might not render correctly - e.g. “Björk” becomes “Bj?rk” or " 田中さん " turns into “???”.
✅ Tip: Use UTF-8 end-to-end (database, API, frontend).
Note: Modern UI frameworks (e.g. React, Angular, Blazor, Vue) include UTF-8 charset in their HTML templates by default. You should still verify whether it's included in your index.html file and configured correctly on the server.
UI - Dates & numbers formatting
❌ Issue: “03/04/2025” has different meanings - it means "March 4" in the US and "April 3" in Europe.
✅ Tip: Use Intl.DateTimeFormat, Intl.NumberFormat or libraries like date-fns instead of parsing strings manually. If you do everything correctly, your browser will handle the date format for you.
UI - Text expansion and contraction
❌ Issue: German words can be 30–40% longer, while Chinese can compress paragraphs into a handful of characters.
✅ Tip: Use responsive layouts and visually check text in different languages.
UI - Names & forms
❌ Issue: Some cultures have one name, some have none that fit “first/last” (i.e. Indonesia, Tibet).
✅ Tip: Use a single "full name" field, make last name optional.
UI - Cultural symbols
❌ Issue: Colors can alienate users - white means purity in the West, but death in China.
✅ Tip: Test color/icon choices with local users.
Performance - Infrastructure blind spots
❌ Issue: Slow performance or broken assets in regions with limited infrastructure.
✅ Tip: Optimize delivery globally — use nearby CDNs or smaller bundles.
❌ Issue: Arabic and Hebrew languages are written Right-To-Left (RTL).
✅ Tip: Test with direction: rtl; Use a combination of logical CSS properties (direction: rtl;) instead of left/right.
Note: Be mindful to also change the images layout, not just the text.
Tip: Arabic accounts for 5% of internet users (~250M).
Figure: Arabic is one of the top 5 internet languages with ~250M speakers. Supporting RTL layouts is essential, the UI looks entirely different when switching to Arabic
Choosing the right solution
When planning your i18n strategy, start by matching the solution to your project’s complexity, content volume, and update frequency.
For many teams, traditional i18n and l10n tools are still the best choice. They’re stable, well-documented, and integrate easily into existing workflows.
However, as software becomes more dynamic and content-heavy, AI-powered localization is emerging as a powerful complement to these traditional methods. AI can analyze your codebase, identify hardcoded strings, suggest i18n keys, and even automate translations across multiple languages. This reduces manual effort and accelerates the entire l10n process.
🎥 Check out this video to see how AI can assist developers in creating a fully internationalized website:
Tip: Watch from 8:10 to 16:40 (8 min)
Video: Apidays Munich 2025 - AI translation + AI agents = i18n made easy By Ben Morss (18 min)
Below is a decision tree that can be followed in order to figure out the optimal i18n solution for a given project:
Figure: i18n Decision Tree
The companies that succeed globally (Spotify, Netflix, Uber) don’t just translate. They design from day one for cultural, linguistic, and technical differences.
You need to consider both technical and marketing factors. Amazon's Swedish website accidentally replaced "rooster" with the Swedish word for male genitals. An Italian company named their international site powergenitalia.com instead of powergen-italia.com back in 2003. These were more than bad translations. They revealed big marketing mistakes.
China is a booming market and now is the time to take advantage of this growing user base. If you have a successful application you should bring it to the Chinese market.
Most Chinese consumers will not make a purchase or use your application if information is not easily available in Chinese.
Video: Chinafy - SSW LinkAuditor (2 min)
✅ Benefits
Grow and target your audience better using the local social media networks
Ensure your application works in China, and that critical application resources are not blocked by the firewall
In the AI era, since most Western LLMs, such as ChatGPT, Grok, and Gemini, are not accessible in China, ensure your app integrates LLMs available in China, such as Doubao, DeepSeek, or Qianwen.
Integrate with local services (such as video streaming)
Localizing for the market is not just translation
China is a booming market and now is the time to take advantage of this growing user base. If you have a successful application you should bring it to the Chinese market.
Most Chinese consumers will not make a purchase or use your application if information is not easily available in Chinese.
Localization makes your web application ready to work more than one language — and it’s much easier if you do it from the beginning. Just follow these tips to better localize your application for a specific country or region.
Figure: SSW LinkAuditor application is available in Chinese
Localization makes your web application ready to work more than one language — and it’s much easier if you do it from the beginning. Just follow these tips to better localize your application for a specific country or region.
If you are localizing your web application to make it available in a varitety of languages, it's better to set your application default language to automatically change to local language. E.g. Make the web application default language as same as the browser language.
In order to use your web application in your preferred language, simply set that language in your browser, save/apply the new settings and then launch the application.
Figure: Detect your users language preference and display in that language
If you are localizing your web application to make it available in a varitety of languages, it's better to set your application default language to automatically change to local language. E.g. Make the web application default language as same as the browser language.
Localization because absolutely needed when your application has to be shown to people in many countries. To make your application more friendly, it's very important to always give the user a option to change the locale (e.g. by adding locale dropdown menu on page) and remember this choice for the future visits. e.g. To change the language for your application, you can simply choose the new language from the language dropdown.
Facebook Like pages Figure: Give the user an option to change the locale.
Localization because absolutely needed when your application has to be shown to people in many countries. To make your application more friendly, it's very important to always give the user a option to change the locale (e.g. by adding locale dropdown menu on page) and remember this choice for the future visits. e.g. To change the language for your application, you can simply choose the new language from the language dropdown.
With the increasing use of JavaScript on the client and HTML5, client-side localization is fast becoming a necessity for displaying messages, text, and resources localized for the user's culture. You can use client-side tools for localization as much as possible so that for the most part, the back end of your service remains unchanged. e.g. If you are using AngularJS, then use the Angular Translate plugin.
Figure: Using Angular Translate plugin for localization
With the increasing use of JavaScript on the client and HTML5, client-side localization is fast becoming a necessity for displaying messages, text, and resources localized for the user's culture. You can use client-side tools for localization as much as possible so that for the most part, the back end of your service remains unchanged. e.g. If you are using AngularJS, then use the Angular Translate plugin.
Knowing the context and use of certain strings will help translators choose the right translation from the beginning when you localize your web application to make it available in a variety of languages. Most translation tools will allow translators to see these comments as they translate the strings. To make your comments more friendly, it's better to list in the comment field where this text is used. e.g.
Text
Validation
Tooltip
Textbox Placeholder
Figure: Use the comment field in the resx to tell you where it is used
Knowing the context and use of certain strings will help translators choose the right translation from the beginning when you localize your web application to make it available in a variety of languages. Most translation tools will allow translators to see these comments as they translate the strings. To make your comments more friendly, it's better to list in the comment field where this text is used. e.g.
Modern websites can use 3rd party dependencies from many different sources. This can include js and CSS libraries from CDNs, video providers such as YouTube and other 3rd party APIs.
Many of these services are completely blocked inside other countries. China, in particular, currently blocks all the below:
Facebook
Google
YouTube
Vimeo
Twitter
Instagram
LinkedIn
ChatGPT
Gemini
Grok
Although China is the most well-known country for blocking sites, other countries also block services - like Google (e.g. Iran, Syria), ChatGPT (e.g. Russia, Cuba, North Korea) and YouTube (e.g. Pakistan, Syria).
Figure: Blocked sites
If the runtime operation of your site depends upon these services, your website will either fail or perform poorly for users in China. Start by reviewing how many of these services are essential, what they do and whether there are China-based equivalents. The fewer external dependencies in your site, the easier it will be to Chinafy.
Every attempted request to a blocked service can add serious delays to your site's performance as each one can take over a minute to timeout. When loading a page, browsers have a limit on the number of simultaneous connections they will open. Google Chrome, for example, will support 6 connections to one domain and 10 connections overall. If all those connections get used attempting to connect to blocked resources, the entire page loading process can stall for minutes!
To measure the impact of this, you need to be able to browse the website from inside China. From there you can open the site and collect performance measurements from the network tab of your browser's dev tools.
Figure: Bad example - This browser in China was stalled attempting to load resources from Facebook, Google, and YouTube
This situation can first be improved by finding and removing unnecessary dependencies. Next, ensure that all required CSS and JavaScript content can be loaded, by either hosting within your site or using a CDN that is available from China.
Finally, you may find that there are features you still want to use elsewhere but need to disable for users in China. In this case, we recommend detecting the available services from the client.
Modern websites can use 3rd party dependencies from many different sources. This can include js and CSS libraries from CDNs, video providers such as YouTube and other 3rd party APIs.
Some countries (especially China) strictly control access to various international web services. Meanwhile, as geopolitical tensions escalate, many service providers are actively restricting or blocking access to their services in specific regions like China, including Copilot, ChatGPT, Google Gemini and Claude, etc. You can use service detection to determine whether particular services are available, allowing you to fallback gracefully or use alternative providers.
As well as from inside China, another common place where access to third-party services may be blocked is from behind corporate firewalls.
First, read this rule: Do you manage your 3rd party dependencies?. You should always start by carefully managing the number of 3rd party services and dependencies your application or website depends on.
There are two ways to determine service availability, these are:
Option 1: Geolocation
You can use geolocation based on client IP to determine what services are available but this has a number of disadvantages.:
Unpredictability Geolocation based on IP is never perfect
Geo-location lookup services are not perfect. here's an example: if you use the guest internet in the Microsoft offices, the internet thinks you are outside Australia (Singapore).
This approach won't detect services that have been blocked by a company firewall.
Maintenance overhead You need to maintain lists of locations and what services are available there - which may be subject to change (however not very often)
The list of services allowed/blocked by the "great firewall of china" is a moving target. things get blocked and unblocked all the time with little warning. we would have to keep coming back to the site to test. So there would be an overhead maintaining lists of countries and the services they allow.
Extra dependency - using IP address requires taking a dependency on an extra third-party service to perform the geo-location lookups.
For these reasons, dynamic service detection is recommended in preference to solutions based on geo-location.
Option 2: Check Connectivity
Universality - China is not the only place that blocks stuff. there are other countries to consider. Also many corporate firewalls block stuff. actively detecting access to a service from the client handles all these scenarios at runtime with no prior configuration.
SSW has created a simple Service Detection library for exactly this purpose called SSW Service Detector. This is open source and available from GitHub:SSW Service Detector.
This Service Detector works by attempting to download the Favicon.ico file from the website for each service you want to use. These favicon files are small, so if a service is available, the file will download very quickly. If a service is blocked, the connection could take a long time to timeout on its own. In this situation, the service detector uses a 1.5-second timer to attempt the download and will cancel the request after this time so that these connection attempts fail quickly and don't block the entire page.
Figure Bad Example: Attempted requests to Facebook, Google, and Youtube from China took a long time to timeout, adding significant delays to the rendering of this page
Figure: Good Example - Only 4 errors on F12 in China. Using SSW.ServiceDetector, there were only short, canceled requests raised to blocked services. The site was then able to fall-back gracefully for some services and load YouKu for videos
Solutions
If, for example, your site displays videos, you can detect that YouTube is not available in China and embed YouKu videos instead.Both these options require service detection to operate properly. Remember that attempting to connect to a blocked service from China could take a long time to timeout, potentially adding significant loading times to your site.
Solution 1: Remove the content
Solution 2: Provide an alternative to the blocked service
Some countries (especially China) strictly control access to various international web services. Meanwhile, as geopolitical tensions escalate, many service providers are actively restricting or blocking access to their services in specific regions like China, including Copilot, ChatGPT, Google Gemini and Claude, etc. You can use service detection to determine whether particular services are available, allowing you to fallback gracefully or use alternative providers.
To keep profile management simple and make it easier for users to have a consistent experience across applications, you should use Gravatar for showing profile images in your application.
Gravatar is blocked by Great Firewall of China (GFW), and clients from China can't access their profile photos successfully without a VPN. There is an alternative option for Chinese users which is Cravatar.
Your Gravatar or Cravatar is an image that follows you from site to site appearing beside your name when you do things like comment or post on a blog.
Setting up Gravatar in your application
It is simple to set up and if you are developing an MVC application, there are even several Nuget packages to make your life easier. The GravatarHelper is recommended.
@Html.GravatarImage("MyEmailAddress@example.com", 80, new { Title = "My Gravatar", Alt = "Gravatar" })
The below short video shows how to get up and running with Gravatar in your ASP.NET MVC application.
Setting up Cravatar in your application
Unlike Gravatar, Cravatar doesn't provide any library to generate profile image URL from email address. To solve this issue we can create custom helper class which creates profile URL for us.
To keep profile management simple and make it easier for users to have a consistent experience across applications, you should use Gravatar for showing profile images in your application.
If your site takes too long to load, there is a high chance your users will not wait for it to finish loading and abandon viewing it. It is therefore important that we use techniques to make pages load as quickly as possible. One of these techniques is to use a Content Delivery Network (CDN) to reduce the network latency for delivering pages, images, javascript and CSS libraries to users. This results in faster page load times and a better experience for your users.
What is a CDN?
CDN is short for a Content Delivery Network. It is a system of distributed servers (network) that deliver pages and other Web content to a user, based on the geographic locations of the user, the origin of the webpage and the content delivery server.
Why use a CDN?
A website may be hosted in a particular region, but have the majority of its users coming from an entirely different region – for example, if your site is hosted in North America, GTmetrix(A free tool that analyzes your page's speed performance) might report fast speeds based on our default test location, but if a good chunk of your users come from China, their speed will not be as fast as you experience it to be.Using a CDN can improve your user’s experience in terms of speed, and as we know – speed matters!Ensuring a consistent experience for all your users is important.CDNs not only ensure a faster experience to your users, but they also help to prevent site crashes in the event of traffic surges – CDNs help to distribute bandwidth across multiple servers, instead of allowing one server to handle all traffic.
How to choose a CDN?
When selecting a Content Delivery Network (CDN) for your website, you face the challenge of ensuring robust edge-level redirects and effective caching to speed up your site. Unfortunately, not all CDNs provide these functionalities seamlessly, making it difficult to find one that meets these critical needs.
Front Door as Your CDN
Front Door is a good option, but it has some notable downsides regarding redirects and caching that you should be aware of:
✅ Pros:
Easy Integration: Seamlessly integrates with other Azure services.
Flexible Origin Handling: Better handling for origin groups on a route level (e.g., /people can be hosted on a different server).
❌ Cons:
Limited Redirects: Front Door restricts bulk redirects with a limit of 800 resources per resource group.
Time-Consuming Deployments: Deployments using Bicep can take a long time, sometimes up to hours.
Lack of Flexibility: It doesn’t offer much flexibility for custom redirects, such as using regular expressions.
Painful Cache Purging: Cache purging can be unreliable and can take up to 15 minutes.
High Costs: It is quite expensive compared to other CDNs.
To overcome these issues, use Cloudflare.
Cloudflare
Cloudflare is known for its Distributed Denial-of-Service (DDoS) protection and Web Application Firewall (WAF), along with a host of other options.
✅ Pros:
Easy Deployment: Simple deployment through Wrangler. (it takes a few seconds to deploy workers)
Flexible Redirects: More flexible in handling bulk and customizable redirects using Cloudflare Workers.
Enhanced Security: Provides better WAF protection and secure DDoS mitigation.
Cost-Effective: Much cheaper than other CDNs.
Efficient Caching: Better caching options.
Instant Cache Purging: Offers an instant purging option for caches.
❌ Cons:
No Azure Service integration Cloudflare cloudflare doesn't natively allow you to ingest logs into Azure
Testing: Staging environments are only available as part of the enterprise plan, making it expensive to test changes to your CDN configuration
Figure: Bad example, jquery.min.js from GoogleAPIs failed to load
Figure: Good example, jquery.min.js from CDNJS isn't blocked and is very fast
If your site takes too long to load, there is a high chance your users will not wait for it to finish loading and abandon viewing it. It is therefore important that we use techniques to make pages load as quickly as possible. One of these techniques is to use a Content Delivery Network (CDN) to reduce the network latency for delivering pages, images, javascript and CSS libraries to users. This results in faster page load times and a better experience for your users.
Whether you’re rebranding, migrating your website to a new technology stack, or simply retiring old content, understanding when and how to implement redirects is crucial to preserve your SEO and avoid potential 404 errors.
Choosing the right redirect method
Redirects play a key role in guiding users and search engines to the correct content, especially when URLs change or pages are moved. However, not all redirect methods are created equal—each serves a different purpose and can have varying impacts on SEO, user experience, and site performance. Understanding the differences between methods is essential to making informed decisions that align with your website’s goals.
1. Client-side redirects
A client side redirect involves responding to the client request with a payload that will send their browser to a different locations. This is usually achieved by sending some JavaScript or a meta tag to the user's browser which will send them to a different location when the page loads.
✅ Pros
Customizability: It's easy to embed extra code when using this approach. This can be useful if you're hoping to track whether or not the redirects are being hit using Azure Application Insights or Google Analytics
Cost: Compared to alternative options such as using Azure Front Door or Cloudflare, there are no additional costs
❌ Cons
Poor Maintainability: Compared to an Infrastructure as Code (IaC) approach, this approach makes it difficult to keep track of which redirects were added, who added them and why.
Easy to achieve, but poor for SEO and maintenance. Migrating pages in the future would make this approach cumbersome.
It's difficult to migrate these redirects to a CDN as opposed to other approaches such as ARM.
Figure: Bad example - A client-side redirect achieved by returning a meta refresh
2. Server-side redirects
An alternative and more "official" way of handling redirects is to handle them on your server. For instance, Next JS allows you to use middleware to respond to requests with a redirect. ASP.NET allows you to return a custom redirect object.
This approach involves modifying the response to incoming requests at the source rather than simply sending HTML that will redirect the user to the appropriate location by proxy.
✅ Pros
SEO: An added benefit of this approach is that you can document that the user was redirected by returning a 300 level response. For example, you can return a 301, which allows you to directs users to your new updated content with minimal impacts on your search engine ranking in Google. For more information see rule on using "301" code to redirect renamed or moved pages.
❌ Cons
Availability: This approach only works for web applications. If you're hosting your website statically, such as in a Blob Storage Account, you will need to rely on a seperate redirect method.
import { NextRequest, NextResponse } from"next/server";exportfunctionmiddleware(request: NextRequest): NextResponse {consturl = request.url//Check if we have a redirect for the incoming URLconstredirect = redirects[url]//Return a redirect response if we find a matching redirectif(redirect) {returnNextResponse.redirect(redirect) }//If we don't have a redirect we allow the request to pass throughreturnNextResponse.next()}// A list of redirects with the incoming URL on the left and the target on the rightconstredirects = {"https://northwind.com":"https://schema.com",//you can add more redirects here if you need to}
Figure: Good example - Server-side redirects using middleware in Next JS
3. CDN level (global)
CDNs allow you to redirect users at the edge level. This is ideal for global distribution and ease of management. Solutions like Azure Front Door or Cloudflare can be effective.
Ease of Maintenance Using a CDN allows you to keep track of which redirects were added and why.
Portability Because redirects are handled at the edge rather than by your server, there's no need to port redirects if you make changes to your web application.
Improved Performance: Hosting your content on a CDN allows you to respond to requests using a server within the same geography as the user, improving latency.
❌ Cons
Increased Cost: This approach is generally the most expensive of the 3 if you search ranking is of low value. You'll need to pay a subscription fee to a hosting provider to host your website on a CDN.
Whether you’re rebranding, migrating your website to a new technology stack, or simply retiring old content, understanding when and how to implement redirects is crucial to preserve your SEO and avoid potential 404 errors.
There are several ways of implementing multilingual support in an Angular project, the following libraries are popular:
Internationalization (i18n): the standard Angular built-in module to help the application dealing with multilingual. It creates multiple language versions of your application.
ngx-translate: a library enhanced the Angular built-in feature, it supports not only template translations but can also be used in the code by APIs.
Video: Introduction to Internationalization in Angular (13mn)
The following table shows the pros and cons of the 2 libraries:
Pros (+)
Cons (-)
Internationalization(i18n)
Better support of displaying dates,
Better support for handling plural forms of words, and alternative text.
Runtime language switching support (since Angular 9+)
More complex setup initially
You can see the language in the URL.
ngx-translate
It provides more powerful API support
It supports JSON files by default to store the translation resources
Simple runtime language switching
It doesn't provide good support for plural forms and dates.
Third-party dependency that may not keep up with Angular updates.
Ngx-translate provides the APIs which you can use to translate the resources in the code:
Angular's built-in i18n has significantly improved since Angular 9 with runtime language switching capabilities. Both solutions are viable, with Angular i18n being the recommended approach for new projects due to its official support and comprehensive features, while ngx-translate remains a good option for projects requiring simpler setup or existing implementations.
There are several ways of implementing multilingual support in an Angular project, the following libraries are popular:
Internationalization (i18n): the standard Angular built-in module to help the application dealing with multilingual. It creates multiple language versions of your application.
ngx-translate: a library enhanced the Angular built-in feature, it supports not only template translations but can also be used in the code by APIs.
In every successful team or project, it is crucial to track meaningful progress rather than relying solely on gut feelings. Clear metrics transform vague opinions into data-driven insights. This approach leads to better decisions, more objective performance reviews, and continuous improvement over time.
When a client raises concerns about performance, it is important not to immediately dive into the code to make blind fixes. Instead of guessing what might help, we should approach the issue methodically by starting with clear benchmarks, profiling, and data-driven decisions.
For example, if a client says:
"This application is too slow, I don't really want to put up with such poor performance. Please fix."
We don't jump in and look at the code and clean it up and reply with something like:
"I've looked at the code and cleaned it up. Please tell me if you are OK with the performance now."
A better way is:
Ask the client to tell us how slow it is (in seconds) and how fast they ideally would like it (in seconds)
Add some code to record the time the function takes to run
Reproduce the steps and record the time
Change the code
Reproduce the steps and record the time again
Reply with metrics. E.g. "It was 22 seconds, you asked for around 10 seconds. It is now 8 seconds."
Figure: Good example – Use metrics to check the timing, before fixing any performance issues (An example from SSW CodeAuditor)
Also, never forget to do incremental changes in your tests!
For example, if you are trying to measure the optimal number of processors for a server, do not go from 1 processor to 4 processors at once:
Figure: Bad example - Going from 1 to 4 all at once gives you incomplete measurements and data
Do it incrementally, adding 1 processor each time, measuring the results, and then adding more:
Figure: Good example - Going from 1 to 2, then measuring, then incrementally adding one more, measuring...
This gives you the most complete set of data to work from.
This is because performance is an emotional thing, sometimes it just *feels* slower. Without numbers, a person cannot really know for sure whether something has become quicker. By making the changes incrementally, you can be assured that there aren’t bad changes canceling out the effect of good changes.
Measuring Performance
Depending on your tech stack, there are various tools available to measure performance. For frontends, Google Chrome's DevTools provides a performance measurement tool.
Figure: Google Chrome has a handy Performance tab in the DevTools
Here are other performance tools worth considering:
Frontend Performance
Page Speed Insights - Google's web performance analyzer
React Developer Tools - Component-specific profiling for React apps
In every successful team or project, it is crucial to track meaningful progress rather than relying solely on gut feelings. Clear metrics transform vague opinions into data-driven insights. This approach leads to better decisions, more objective performance reviews, and continuous improvement over time.
When a client raises concerns about performance, it is important not to immediately dive into the code to make blind fixes. Instead of guessing what might help, we should approach the issue methodically by starting with clear benchmarks, profiling, and data-driven decisions.
Gzip is a file format and a software application used for file compression and decompression.Gzip can reduce file size and storage space, and reduce transmission time when transferring files over the network. It runs on both Linux and Windows.
Use PageSpeed Insights extension in Chrome to determine if your site will benefit from using Gzip.
For more information about how to use PageSpeed to find which files on your site would benefit from being compressed with Gzip see Do you use PageSpeed?
3 ways to add Gzip compression to your site:
Use one of the methods described below to add Gzip compression to your site ASP.Net/Angular website
Method 1: Turn on "Dynamic Content Compression" In IIS Server
Figure: Choose the website which you want to use Gzip and click on CompressionFigure: Install "dynamic content compression" if you haven't installed it
In Control Panel navigate to All Control Panel Items | Programs and Features, and click Turn Windows features on or off.
Choose Internet Information Services | Web Management Tools | World Wide Web Services | Performance Features | Dynamic Content Compression.
Figure: Click "OK" to install itFigure: Enable dynamic content compression for your site
Method 2: Using “Gzipper” in your Angular website
Follow https://www.npmjs.com/package/gzipper (but it still need IIS Server enable static content compression). Using npm i gzipper -g to install "gzipper" first. Add to scripts in your package.json
To implement this in ASP.NET MVC, we can utilize ActionFilterAttribute and override either OnActionExecuting or OnResultExecuting method. The below code snippet is being used to check whether the current request browser can accept GZIP/DEFLATE encoding by looking at Accept-Encoding request header. If it finds GZIP encoding in this header, then we would set gzip in Content-encoding in response header and if it supports DEFLATE, then this code would set deflate in Content-encoding.
Figure: Bad example - Files with large size and slow load time
Figure: Good example - Gzipped files with smaller size and faster load time
Gzip is a file format and a software application used for file compression and decompression.
Gzip can reduce file size and storage space, and reduce transmission time when transferring files over the network. It runs on both Linux and Windows.
If you are localizing your application to China, some of the English words are commonly used in China. Instead of translating a word to Chinese bluntly, you should keep them in English.
Here is a list of English words which are OK to use on your user interface:
OK, Hi, Hello
APP
FAQ
VS
V1, V2 (Version 1, Version2)
ID
VR
AI
3D
PC, Mac, iPhone
USB, HDMI, Bluetooth
API, SDK, UI, UX
PDF, PPT, Word, Excel
Wi-Fi
DIY
VIP
Live
Figure: Good Example - Microsoft's Chinese software downloading site use "FAQ" on the main menu
Figure: Good Example - SugarLearning.cn site use "FAQ" on the main menu
Figure: Good Example - Apps keep "V" or "Version" in English
Figure: Good Example - iOS keep "ID" in English
If you are localizing your application to China, some of the English words are commonly used in China. Instead of translating a word to Chinese bluntly, you should keep them in English.
Chinese culture places importance on auspicious meanings. Choose characters with positive associations:
智 (zhì, Intelligence)
鹏 (péng, great ambition)
Avoid characters with negative or unlucky connotations.
Mercedes Benz originally could be "Bensi" ("rush to die" in Chinese); so they changed to "Benchi" ("run quickly", like flying)
3. Make It Memorable
Keep the name concise (2–4 characters) and ensure the name is easy to pronounce for native Chinese speakers. Collaborate with a Chinese colleague to ensure cultural accuracy and effectiveness.
4. Check Domain Availability
Check if the name is already in use or trademarked in China.
You should pick a Chinese name for your app or product when going to China market. Here is how you should chose it:
Promoting your application and business via social media can be extremely beneficial, not only for promoting a business but for feedback from customers as well. To help implement social media campaigns, try these tips:
Target platforms for the countries in which you’ll have either e-commerce or on-the-ground presence. e.g. Facebook/Qzone, Twitter/Weibo.
Understand the specific social media websites and craft the message for each language. Always localize, don’t just translate. Google Translate just isn't good enough, always give it to a native speaker to translate.
Don't make the text longer than what the shortest supported is (usually Twitter which is 140 characters).
Studies show that posts with an image get more traction.
Post it to the English site.
Then post it to the Chinese site.
Great, now you are ready to post to all of the social media platforms simultaneously.
Figure: Make sure that your social media presence covers the countries you have translated your application into. E.g. Link Auditor on Weibo (A local social media, China’s Twitter replacement)
We have a service called SSW Chinafy that can help you get started following this rule.
Promoting your application and business via social media can be extremely beneficial, not only for promoting a business but for feedback from customers as well. To help implement social media campaigns, try these tips:
The biggest mistake most western companies make when embarking on a business journey in China, is assuming that their current Social Media strategies will work over there.
China is different. There are different rules, platforms and of course, they have a government controlled firewall that blocks many western platforms your are familiar with, like Facebook, Twitter, and YouTube. *Uh oh*. That's right - none of the platforms you currently use everyday now work in China, you need a new plan.
China has a huge amount of social media users, there are over 911 million active users - which is huge! In comparison, the U.S.A only have 207 million users, a small fraction compared to China. It is a huge opportunity for market growth, particularly for app owners who would like to expand their product to millions of users.
Figure: According to Social Media experts Hootsuite, there are 911 million active social media users (yellow), 65% of the overall population (red)
There is one big problem - the digital market in China also has hundreds of social media platform options. With no big platforms like Google, Facebook, and Twitter to focus on, so who do you target? The biggest platforms in China are WeChat (instant messaging and social media), Baidu (similar to Google search engine), Weibo (like Facebook and Twitter combined), Youku (similar to YouTube)… but there are others that are now trending.
However while we often try to draw comparisons with these platforms with their western counterparts, be aware that even though these Chinese platforms may take the basic concepts and functions from the West, they are equipped with much more diverse features.
Do you know the best platforms to use in China? Here is a list of our top 5:
1. WeChat (The Chinese Super App)
WeChat started as an instant messaging app similar to WhatsApp but has morphed into a ‘super app’ that now allows you to do just about anything! Users can perform a wide variety of activities such as making transactions, ordering food, booking movie tickets, calling a taxi, even playing games. It now has more than 1 billion active users.
Figure: Taken from Statistica.com - the Graph shows how much WeChat is growing every year. WeChat is now one of the most popular, well rounded apps available in China, growing in popularity every year
On average, users spend more than 66 minutes on WeChat daily.
60% of WeChat users open the app more than 10 times a day.
By the end of 2019, the number of WeChat’s Official Accounts surpassed 20M.
Flexible media – you can upload pictures, text, short videos, articles etc.
There are 4 types of Official WeChat Accounts; “Subscription Accounts”, “Service Accounts", “Enterprise Accounts" and the “Mini Program”. Each of them has unique functions and uses, which are outlined in more detail on creating a WeChat official account.
Figure: SSW's SugarLearning WeChat Mini Program Log-in page & Mini Program
2. Weibo (The Facebook of China)
Weibo is an social media platform where people go not only post, share and interact with each other, but also follow trends and see the news. This is the place for content to go viral and for Chinese Influences, known as KOLs, to build their online communities. Like Facebook Live, It has its own live stream platform which is often used for product promotion. Conveniently it also has E-commerce integration which mean that people can link their accounts to Alipay and purchase products with one click.
Why you should consider using it:
Number of Weibo active users: 465M (2019)
Number of daily users: 203M (2019)
50% increase in livestream sessions
Q&A postings increased by 400% in 2018 compared to 2017
82 per cent of Weibo users shop online
3. Youku (The YouTube of China)
Often referred to as the YouTube of China, Youku is a video hosting service that is great for long-form videos. While there are popular short-form video platforms, like Tik Tok, Youku has remained the popular source of videos for people who want to gain greater knowledge in a subject, or to watch the news.
Why you should consider using it:
580M active users, who on average visit it daily 39 times.
Over 1 billion video views per day
On average people stay for around 4 minutes per video
It will help you reach a wider audience and build a reputation as a source of knowledge
It’s great for brand awareness via video content
It can be used to drive traffic to your website and increase sales
Figure: Youku would have a very familiar feel for our Western audience as seen from this video feed
4. Baidu (The Google Search of China)
93% of online experiences in the Western world begin with a Google Search. In China it is search engine Baidu that dominates with 90% of online search starting there. That’s *billions* of searches per month!
Why you should use it:
It’s cheaper than Google! Strangely it is on average 25-50% cheaper for the same keywords on Google*.
It has 665 million active monthly users
Reaches 1 billion mobile devises
The Baidu app has 200 million daily users
Rapidly growing with new users every day
* The Cost per click is lower but be warned - Baidu does have some strict payment terms, requiring an initial deposit of at least RMB 20,000 (USD $2,952) if you are a foreign company. But the overall cost of your campaign should be comparatively lower.
Figure: A search for 'SSW' using Baidu, we are organically No 1 on this page
5. Bilibili (Up & coming alternate to Youku)
We all know that the best marketers are using video to sell their products and directly engage their audience online. Brands should not overlook the usefulness of branded online video for their audience. Similar to how YouTube experiences huge popularity in the West, China’s video platforms such as Youku and iQiyi are successful with the local Chinese audience. But one live streaming platform that is often overlooked is the video-sharing platform Bilibili.
What started as a China's largest Anime streaming platform, it has grown to be one of the most popular video sharing platforms for China’s Millennials and Generation Z with over 100 million monthly active users, where users can view, submit, and add commentary to videos.
Bilibili also recently launched a premium membership enabling access to special shows, e-commerce deals, and HQ video streaming. If you want to increase your long-term success in China, it is important to penetrate Gen-Z consumers who have an expanding purchasing power. Bilibili, uses mini programs (multi-page application containing a complete application feature), livestreaming, and e-commerce to benefit brands looking to market to younger consumers.
Figure: Bilibili is continuously growing it's audience becoming a great place to host videos and advertize
According to Bilibili's annual report to investors, their top 5 most watched video categories are:
Entertainment
Lifestyle
Gaming
Anime
Technology
Technology videos are now in the top 5 most watched category on Bilbili, and SSW China have discovered that Bilibili is a great platform to live stream and record our Fire User Group, with over 300 viewers joining us online to share our technology talks.
Why you should use it:
Young, active audience with a keen interest in technology
Figure: A recent recording from FireUG, “Intermediaries design patterns and MediatR” by Victor Yu, SSW China
The biggest mistake most western companies make when embarking on a business journey in China, is assuming that their current Social Media strategies will work over there.
China is different. There are different rules, platforms and of course, they have a government controlled firewall that blocks many western platforms your are familiar with, like Facebook, Twitter, and YouTube. *Uh oh*. That's right - none of the platforms you currently use everyday now work in China, you need a new plan.
If you have an office in more than one country, a great way to show your diversity and connect with your different audiences is through posting multilingual social media.
Building and maintaining a multilingual social media presence is not an easy undertaking, but when done properly it is well worth the time and effort. It allows you to truly connect with your audience regardless of which language they speak. International customers will appreciate the fact that your brand has taken time to communicate with them in their native tongue, it will also help establish their trust in your ability to understand them, and shows that you don't have to rely on dodgy automatic translations that often go wrong.
For example, at SSW, we have an awesome office in Hangzhou, China, that offers a Chinafy Consulting Service to help Western companies adapt to the Chinese business environment. It is important for us to show that we understand our customers, and their target audience - our social media reflects our ability to do this.
Good example: SSW China post their social media in both English and Chinese 中文, because it helps establish trust with our audience that we understand them, helps us target a wider audience and proves that we can help bridge the language barrier.
If you have an office in more than one country, a great way to show your diversity and connect with your different audiences is through posting multilingual social media.
Building and maintaining a multilingual social media presence is not an easy undertaking, but when done properly it is well worth the time and effort. It allows you to truly connect with your audience regardless of which language they speak. International customers will appreciate the fact that your brand has taken time to communicate with them in their native tongue, it will also help establish their trust in your ability to understand them, and shows that you don't have to rely on dodgy automatic translations that often go wrong.
If you want to deploy your App to China and you want to use a domain name to access it, ICP filing is required. ICP requires some paperwork to prove the domain belongs to you.
ICP (Internet Content Provider) filing is for non-commercial websites that are purely informational and provide information free of charge. It shows as 浙 ICP 备 20009588 号, "浙" represents Zhejiang.
It typically includes the following:
The website owner must be a resident or enterprise of mainland China.
The website owner needs to provide valid identification and contact information.
The website's content must comply with the Chinese government's censorship standards and may not disseminate illegal or harmful information.
The website needs to display the ICP filing number on the website for verification by users and government agencies.
Figure: Display the ICP filing number on bottom of website and link to https://beian.miit.gov.cn/
Figure: The website will be redirected to the exception page without ICP filing
If you want to deploy your App to China and you want to use a domain name to access it, ICP filing is required. ICP requires some paperwork to prove the domain belongs to you.
ICP (Internet Content Provider) filing is for non-commercial websites that are purely informational and provide information free of charge. It shows as 浙 ICP 备 20009588 号, "浙" represents Zhejiang.
It typically includes the following:
The website owner must be a resident or enterprise of mainland China.
The website owner needs to provide valid identification and contact information.
The website's content must comply with the Chinese government's censorship standards and may not disseminate illegal or harmful information.
The website needs to display the ICP filing number on the website for verification by users and government agencies.
ICP (Internet Content Provider) license is for commercial websites, which covers any website which may derive direct income from providing online advertising, text, images, audio, video, apps, etc. or providing information search services, information community platform, instant messaging services, or information protection services.
Online media websites (including news, audio and video, blogs, etc.)
Online social media websites
Online gaming platforms
Other websites that provide Internet information services
Figure: Amazon China obtained an ICP license
ICP (Internet Content Provider) license is for commercial websites, which covers any website which may derive direct income from providing online advertising, text, images, audio, video, apps, etc. or providing information search services, information community platform, instant messaging services, or information protection services.
On 7 July 2022, the Cyberspace Administration of China (the CAC) released the long-awaited final version of its Measures for Security Assessment of Cross-border Data Transfers. These Measures will apply to relevant businesses which are looking to transfer data from China to overseas. The Measures take effect on 1 September 2022. A grace period of six months applies for cross-border transfers carried out before the effective date.
When does a business need to submit to a mandatory security assessment by the CAC?
If any of the following criteria are met, a business must submit to a mandatory security assessment by the CAC before it can transfer data out of China:
The business is transferring important data out of China
The business is transferring personal information out of China by:
CIIO (Critical Information Infrastructure Operators)
Data processor who processes the personal information of 1 million individuals or more.
The business has transferred out of China since 1 January of the previous year:
The personal information of more than 100,000 individuals
The sensitive personal information of more than 10,000 individuals
The CAC may also impose or identify other circumstances in which a security assessment is required.
What is "Important Data"?
In Measures of Security Assessment for Cross-Border Data Transfer, important data refers to data that if it is altered, destroyed, leaked, illegally acquired or illegally used, etc., may harm national security, economic operations, social stability, public health or security, etc. (art. 19)
Who is classified as a Critical Information Infrastructure Operators?
Any other important network facilities or information systems that may seriously harm national security, the national economy and people’s livelihoods, or public interest in the event of incapacitation, damage, or data leaks.
What's meaning of personal information and sensitive personal information?
Personal information refers to various kinds of information related to identified or identifiable natural persons recorded by electronic or other means, excluding the information processed anonymously. (PIPL art. 4)
Sensitive Personal information
Sensitive personal information refers to the personal information that can easily lead to the infringement of the personal dignity or natural persons or the harm of personal or property safety once leaked or illegally used, including such information as biometrics, religious belief, specific identities, medical health, financial accounts, whereabouts, or the personal information of minors under the age of 14. (PIPL art. 28)
On 7 July 2022, the Cyberspace Administration of China (the CAC) released the long-awaited final version of its Measures for Security Assessment of Cross-border Data Transfers. These Measures will apply to relevant businesses which are looking to transfer data from China to overseas. The Measures take effect on 1 September 2022. A grace period of six months applies for cross-border transfers carried out before the effective date.
When does a business need to submit to a mandatory security…