A multi languages blog

As a foreigner engineer living in Japan, working with multi-platform services and open projects with other engineers all over the World, supporting multi languages is a must-have feature I would like to add to my blog.

The setup is just simple: one line of CSS, some tune-up in font family styling and you are done almost there.

There is one single issue which I encounter many time: does the new typeface look good everywhere, for my languages? Currently, I’m using English, Japanese and Vietnamese almost equally among them. So both of them should be nicely rendered.

As a general mobile developer, I have no favorite font family. My very basic setup will be Roboto or Noto. This blog is current using something I haven’t test yet, but if it works fine, I will leave it there.

Now there would be some non-English paragraph to test foreign languages some other languages.

A Japanese Lorem Ipsum




A Vietnamese Lorem Ipsum

Lorem Ipsum chỉ đơn giản là một đoạn văn bản giả, được dùng vào việc trình bày và dàn trang phục vụ cho in ấn. Lorem Ipsum đã được sử dụng như một văn bản chuẩn cho ngành công nghiệp in ấn từ những năm 1500, khi một họa sĩ vô danh ghép nhiều đoạn văn bản với nhau để tạo thành một bản mẫu văn bản. Đoạn văn bản này không những đã tồn tại năm thế kỉ, mà khi được áp dụng vào tin học văn phòng, nội dung của nó vẫn không hề bị thay đổi. Nó đã được phổ biến trong những năm 1960 nhờ việc bán những bản giấy Letraset in những đoạn Lorem Ipsum, và gần đây hơn, được sử dụng trong các ứng dụng dàn trang, như Aldus PageMaker.

Trái với quan điểm chung của số đông, Lorem Ipsum không phải chỉ là một đoạn văn bản ngẫu nhiên. Người ta tìm thấy nguồn gốc của nó từ những tác phẩm văn học la-tinh cổ điển xuất hiện từ năm 45 trước Công Nguyên, nghĩa là nó đã có khoảng hơn 2000 tuổi. Một giáo sư của trường Hampden-Sydney College (bang Virginia - Mỹ) quan tâm tới một trong những từ la-tinh khó hiểu nhất, “consectetur”, trích từ một đoạn của Lorem Ipsum, và đã nghiên cứu tất cả các ứng dụng của từ này trong văn học cổ điển, để từ đó tìm ra nguồn gốc không thể chối cãi của Lorem Ipsum. Thật ra, nó được tìm thấy trong các đoạn 1.10.32 và 1.10.33 của “De Finibus Bonorum et Malorum” (Đỉnh tối thượng của Cái Tốt và Cái Xấu) viết bởi Cicero vào năm 45 trước Công Nguyên. Cuốn sách này là một luận thuyết đạo lí rất phổ biến trong thời kì Phục Hưng. Dòng đầu tiên của Lorem Ipsum, “Lorem ipsum dolor sit amet…” được trích từ một câu trong đoạn thứ 1.10.32.

Trích đoạn chuẩn của Lorem Ipsum được sử dụng từ thế kỉ thứ 16 và được tái bản sau đó cho những người quan tâm đến nó. Đoạn 1.10.32 và 1.10.33 trong cuốn “De Finibus Bonorum et Malorum” của Cicero cũng được tái bản lại theo đúng cấu trúc gốc, kèm theo phiên bản tiếng Anh được dịch bởi H. Rackham vào năm 1914.

Last but not least: Programming languages

Talking to languages, with an engineer, there should not be forgotten about Programming languages. I would like to have beautiful code block for some of my most familiar Programming languages. Let’s try some.

1. Java

package com.example.app;

import android.app.Application;

public class MyApplication extends Application {

public void onCreate() {
AndroidThreeTen.init(this); // init the lib here

2. XML

<?xml version="1.0" encoding="utf-8"?>
Copyright 2016 Google Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at


Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.


android:pathData="M39,45L39,80 M57,45L57,80 M66,54L31,54 M66,71L31,71"
android:strokeWidth="@dimen/hashtag_stroke_width" />

android:pathData="M83,82L107,82A2,2 0,0 1,109 84L109,155A2,2 0,0 1,107 157L83,157A2,2 0,0 1,81 155L81,84A2,2 0,0 1,83 82z"
android:strokeWidth="@dimen/hashtag_stroke_width" />

android:pathData="M94,59m-14,0a14,14 0,1 1,28 0a14,14 0,1 1,-28 0"
android:strokeWidth="@dimen/hashtag_stroke_width" />

android:pathData="M159.5,119.5m-37.5,0a37.5,37.5 0,1 1,75 0a37.5,37.5 0,1 1,-75 0"
android:strokeWidth="@dimen/hashtag_stroke_width" />

3. Javascript

var express = require('express');
var app = express();

app.get('/', function (req, res) {
res.send('Hello World!');

app.listen(3000, function () {
console.log('Example app listening on port 3000!');

4. Gist


Well, let’s be multi-lang.

Scan the QR code to share this article