{
Một số {c.ty|chủ đầu tư|công ty|doanh nghiệp {chưa | đừng | thôi | chớ | có thể {xa | gần | dài | ngắn | lớn | nhỏ {chỉ | đã | đang | sẽ | vẫn | cũng}}}} {cho dù|dù thế|mặc dù {chính | đích | ngay | cả | những {thường | luôn | đột nhiên | bỗng nhiên {chỉ | đã | đang | sẽ | vẫn | cũng}}}} cài {gg|google|Google {có lẽ | không thể | mất | được {chỉ | đã | đang | sẽ | vẫn | cũng {thường | luôn | đột nhiên | bỗng nhiên}}}} Translate vào {trang web|web|web site|website {cần | mới | cũ | nhất| lại {hữu ích | sâu | đầy đủ| sớm {xa | gần | dài | ngắn | lớn | nhỏ}}}} nhưng không muốn hiển thị báo hiệu {trang web|web|web site|website {thường | luôn | đột nhiên | bỗng nhiên {cần | mới | cũ | nhất| lại {có lẽ | không thể | mất | được}}}} đang chuyển dịch bởi {gg|google|Google {rất | lắm | quá | không | chẳng {nhanh | chậm | rất | dễ | nhẹ {chính | đích | ngay | cả | những}}}}. Bằng cách {cho|đưa cho|tặng {thường | luôn | đột nhiên | bỗng nhiên {rất | lắm | quá | không | chẳng {chưa | đừng | thôi | chớ | có thể}}}} ẩn đi thanh báo hiệu thì {có lẽ|có thể|khả năng cao|thường|thường xuyên {chưa | đừng | thôi | chớ | có thể {chưa | đừng | thôi | chớ | có thể {chưa | đừng | thôi | chớ | có thể}}}} nhìn {trang web|web|web site|website {cần | mới | cũ | nhất| lại {chỉ | đã | đang | sẽ | vẫn | cũng {chưa | đừng | thôi | chớ | có thể}}}} sẽ mượt mà, bình {có lẽ|có thể|khả năng cao|thường|thường xuyên {có lẽ | không thể | mất | được {xa | gần | dài | ngắn | lớn | nhỏ {rất | lắm | quá | không | chẳng}}}} {giống như|như|như là {cần | mới | cũ | nhất| lại {chính | đích | ngay | cả | những {nhanh | chậm | rất | dễ | nhẹ}}}} {trang web|web|web site|website {chưa | đừng | thôi | chớ | có thể {thường | luôn | đột nhiên | bỗng nhiên {cần | mới | cũ | nhất| lại}}}} đang {có|nắm tới|sở hữu {xa | gần | dài | ngắn | lớn | nhỏ {chưa | đừng | thôi | chớ | có thể {rất | lắm | quá | không | chẳng}}}} {đa dạng|nhiều|phổ biến|rộng rãi {có lẽ | không thể | mất | được {chỉ | đã | đang | sẽ | vẫn | cũng {có lẽ | không thể | mất | được}}}} phiên bản ngôn ngữ, địa chỉ URL nhìn cũng {cực kỳ|rất|siêu|vô cùng {chính | đích | ngay | cả | những {rất | lắm | quá | không | chẳng {thường | luôn | đột nhiên | bỗng nhiên}}}} đẹp mắt. {Bên cạnh đó|Không những thế|Ngoài ra|Tuy nhiên {nhanh | chậm | rất | dễ | nhẹ {cần | mới | cũ | nhất| lại {chính | đích | ngay | cả | những}}}}, cách {làm|thực hiện {hữu ích | sâu | đầy đủ| sớm {chưa | đừng | thôi | chớ | có thể {thường | luôn | đột nhiên | bỗng nhiên}}}} này {an toàn kém|đảm bảo kém|không an toàn|không bảo đảm|không đảm bảo|nguy hại|nguy hiểm {nhanh | chậm | rất | dễ | nhẹ {chỉ | đã | đang | sẽ | vẫn | cũng {chưa | đừng | thôi | chớ | có thể}}}} ở chỗ nó {có lẽ|có thể|khả năng cao|thường|thường xuyên {chưa | đừng | thôi | chớ | có thể {xa | gần | dài | ngắn | lớn | nhỏ {rất | lắm | quá | không | chẳng}}}} khiến người xem lầm tưởng rằng {content|nội dung {thường | luôn | đột nhiên | bỗng nhiên {chỉ | đã | đang | sẽ | vẫn | cũng {chỉ | đã | đang | sẽ | vẫn | cũng}}}} {trang web|web|web site|website {có lẽ | không thể | mất | được {chỉ | đã | đang | sẽ | vẫn | cũng {nhanh | chậm | rất | dễ | nhẹ}}}} là do chính {c.ty|chủ đầu tư|công ty|doanh nghiệp {nhanh | chậm | rất | dễ | nhẹ {có lẽ | không thể | mất | được {chỉ | đã | đang | sẽ | vẫn | cũng}}}} biên soạn để truyền thông đến {các bạn|khách hàng|người dùng|người mua|quý khách {có lẽ | không thể | mất | được {nhanh | chậm | rất | dễ | nhẹ {có lẽ | không thể | mất | được}}}}. Vì {chất lượng|hiệu quả|năng suất|tốt {chính | đích | ngay | cả | những {hữu ích | sâu | đầy đủ| sớm {xa | gần | dài | ngắn | lớn | nhỏ}}}} {content|nội dung {có lẽ | không thể | mất | được {thường | luôn | đột nhiên | bỗng nhiên {rất | lắm | quá | không | chẳng}}}} chuyển dịch bằng máy không {chính xác|đúng {thường | luôn | đột nhiên | bỗng nhiên {chỉ | đã | đang | sẽ | vẫn | cũng {cần | mới | cũ | nhất| lại}}}}, {cần|cần phải|nên|tốt nhất nên {chính | đích | ngay | cả | những {chỉ | đã | đang | sẽ | vẫn | cũng {thường | luôn | đột nhiên | bỗng nhiên}}}} người xem sẽ {đánh giá|nhận định|phân tích|tìm hiểu {có lẽ | không thể | mất | được {nhanh | chậm | rất | dễ | nhẹ {xa | gần | dài | ngắn | lớn | nhỏ}}}} oan {cho|đưa cho|tặng {thường | luôn | đột nhiên | bỗng nhiên {xa | gần | dài | ngắn | lớn | nhỏ {chưa | đừng | thôi | chớ | có thể}}}} {trang web|web|web site|website {chưa | đừng | thôi | chớ | có thể {xa | gần | dài | ngắn | lớn | nhỏ {chưa | đừng | thôi | chớ | có thể}}}}, {đánh giá|nhận định|phân tích|tìm hiểu {có lẽ | không thể | mất | được {xa | gần | dài | ngắn | lớn | nhỏ {hữu ích | sâu | đầy đủ| sớm}}}} {phải chăng|rẻ|thấp|tốt {nhanh | chậm | rất | dễ | nhẹ {thường | luôn | đột nhiên | bỗng nhiên {rất | lắm | quá | không | chẳng}}}} dịch vụ của {c.ty|chủ đầu tư|công ty|doanh nghiệp {chưa | đừng | thôi | chớ | có thể {chỉ | đã | đang | sẽ | vẫn | cũng {chỉ | đã | đang | sẽ | vẫn | cũng}}}} {cực kỳ|rất|siêu|vô cùng {chính | đích | ngay | cả | những {xa | gần | dài | ngắn | lớn | nhỏ {hữu ích | sâu | đầy đủ| sớm}}}} oan uổng.
Và cũng {có|nắm tới|sở hữu {hữu ích | sâu | đầy đủ| sớm {hữu ích | sâu | đầy đủ| sớm {nhanh | chậm | rất | dễ | nhẹ}}}} cách khác là tiêu dùng plugin qTranslate để {làm|thực hiện {có lẽ | không thể | mất | được {chưa | đừng | thôi | chớ | có thể {chính | đích | ngay | cả | những}}}} {trang web|web|web site|website {nhanh | chậm | rất | dễ | nhẹ {thường | luôn | đột nhiên | bỗng nhiên {chính | đích | ngay | cả | những}}}} đa ngôn ngữ nhưng plugin đó {bây giờ|hiện nay|hiện tại {hữu ích | sâu | đầy đủ| sớm {nhanh | chậm | rất | dễ | nhẹ {chưa | đừng | thôi | chớ | có thể}}}} cập nhật khá chậm, lại chứa {đa dạng|nhiều|phổ biến|rộng rãi {cần | mới | cũ | nhất| lại {chưa | đừng | thôi | chớ | có thể {hữu ích | sâu | đầy đủ| sớm}}}} bug {cần|cần phải|nên|tốt nhất nên {nhanh | chậm | rất | dễ | nhẹ {thường | luôn | đột nhiên | bỗng nhiên {chính | đích | ngay | cả | những}}}} mình xin {có các hướng dẫn|hướng dẫn|hướng dẫn cụ thể {xa | gần | dài | ngắn | lớn | nhỏ {rất | lắm | quá | không | chẳng {thường | luôn | đột nhiên | bỗng nhiên}}}} với một plugin {free|không tính phí|miễn phí {chỉ | đã | đang | sẽ | vẫn | cũng {xa | gần | dài | ngắn | lớn | nhỏ {nhanh | chậm | rất | dễ | nhẹ}}}} khác {dễ|dễ dàng|đơn giản {cần | mới | cũ | nhất| lại {chính | đích | ngay | cả | những {thường | luôn | đột nhiên | bỗng nhiên}}}} dùng hơn và ít bug hơn tên là PolyLang, {đặc biệt|đặc thù|đặc trưng {chưa | đừng | thôi | chớ | có thể {rất | lắm | quá | không | chẳng {rất | lắm | quá | không | chẳng}}}} là không {có|nắm tới|sở hữu {rất | lắm | quá | không | chẳng {rất | lắm | quá | không | chẳng {hữu ích | sâu | đầy đủ| sớm}}}} tự tắt khi cập nhật phiên bản {Word press|WordPress|Wp {nhanh | chậm | rất | dễ | nhẹ {chính | đích | ngay | cả | những {có lẽ | không thể | mất | được}}}} mới {giống như|như|như là {nhanh | chậm | rất | dễ | nhẹ {chính | đích | ngay | cả | những {rất | lắm | quá | không | chẳng}}}} qTranslate.
Cũng xin nhắc lại rằng, website đa ngôn ngữ là chức năng cho phép chúng ta viết nhiều hơn một ngôn ngữ trên website (ví dụ các post có phiên bản nhiều thứ tiếng khác nhau bạn tự viết) chứ không phải là chức năng tự dịch nội dung trên website.
Cài đặt PolyLang
Sau khi cài plugin PolyLang xong, bạn cần vào Settings -> Languages để thiết lập ngôn ngữ cần tiêu dùng. Bây giờ bạn hãy lần lượt thêm các ngôn ngữ mà bạn muốn tiêu dùng trên website (thêm toàn bộ, kể cả tiếng Việt nếu bạn đã Việt hóa WordPress). Ở phần Add New Language, bạn chỉ cần chọn tên ngôn ngữ là nó tự thiết lập cho bạn nên hãy để nguyên toàn bộ.
Ví dụ mình thêm 3 ngôn ngữ thế này:
Tiếp theo bạn chuyển qua phần Strings Translation để thiết lập tiêu đề website và định dạng ngày giờ trên từng ngôn ngữ. Nếu bạn có thêm tiếng Việt thì ở phần kiểu định dạng thời kì bạn nên để là d/m/Y cho nó hợp chuẩn tiếng Việt.
Kế tiếp bạn chuyển qua tab Settings của nó, sẽ có một số tùy chọn như sau:
- Default Language: Ngôn ngữ mặc định trên Website. Nếu bạn thấy cái dòng màu đỏ phía dưới nghĩa là bạn có dữ liệu post, page, category và tag chưa được thiết lập ngôn ngữ. Đánh dấu vào để vận dụng ngôn ngữ mặc định cho tụi nó.
- URL Modifications: Dùng cấu trúc ngôn ngữ cho từng phiên bản ngôn ngữ trên website. Mình khuyến khích bạn chọn kiểu “The language is set from the directory name in pretty permalinks” để tiêu dùng đường dẫn kiểu http://domain.com/en/tên-post.
- Hide URL language information for default language: Ẩn đường dẫn xác định ngôn ngữ ở ngôn ngữ mặc định. Ví dụ bạn chọn là tiếng Việt thì đường dẫn phiên bản tiếng Việt sẽ không có /vi/ trên đó.
- Remove /language/ in pretty permalinks: Xóa phần /language/ trên đường dẫn. (nên chọn)
- Keep /language/ in pretty permalinks: Giữ nguyên /language/ trên đường dẫn.
- Detect browser language: Nếu bạn đánh dấu, website sẽ chuyển về ngôn ngữ trùng với ngôn ngữ của trình duyệt.
- Media: Nếu đánh dấu, bạn có thể thêm từng phiên bản hình ảnh cho từng ngôn ngữ.
- Synchronization: Nếu bạn muốn một số phần có cùng một giá trị trên bất cứ ngôn ngữ nào thì chọn vào. Ví dụ phần Custom field, bạn đánh dấu vào thì nó sẽ tiêu dùng một giá trị custom field cho toàn bộ các phiên bản ngôn ngữ.
|
Hiển thị nút chuyển ngôn ngữ trên giao diện
Để hiển thị các nút chuyển ngôn ngữ, bạn có thể vào Appearance -> Widget để thêm một widget tên là Language Switcher, ở tùy chọn bạn có thể tùy chọn hiển thị tên và lá cờ của từng ngôn ngữ, hoặc kiểu đổ xuống (dropdown) tùy thích.
Hoặc nếu bạn muốn tự chèn cái language switcher này ở vị trí bất kỳ trong theme, bạn có thể tiêu dùng hàm sau:
pll_the_languages($args);
Trong đó, $args là một mảng tham số như sau (nếu không thiết lập nó sẽ vận dụng giá trị mặc định)
‘dropdown’
=> Hiển thị dạng đổ xuống, thiết lập giá trị là 1 nó sẽ thành dạng đổ xuống (default: 0)‘show_names’
=> Hiển thị tên ngôn ngữ, giá trị là 1 nó sẽ hiển thị tên ngôn ngữ (default: 1)‘display_names_as’
=> Hiển thị tên ngôn ngữ theo “name” hoặc “slug” (default: ‘name’)‘show_flags’
=> Hiển thị lá cờ nếu giá trị là 1 (default: 0)‘hide_if_empty’
=> Ẩn các ngôn ngữ nếu ngôn ngữ dó chưa có post hoặc page tương ứng, giá trị 1 là ẩn (default: 1)‘force_home’
=> Dùng đường dẫn trang chủ nếu giá trị là 1, nếu giá trị là 0 thì nó sẽ chuyển trang hiện tại sang ngôn ngữ đã chọn (default: 0)‘echo’
=> echoes if set to 1, returns a string if set to 0 (default: 1)‘hide_if_no_translation’
=> Ẩn ngôn ngữ nếu ngôn ngữ đó chưa có giá trị nào được dịch (default: 0)‘hide_current’
=> Ẩn ngôn ngữ hiện tại đang chọn nếu giá trị là 1 (default: 0)‘post_id’
=> Nếu giá trị này thiết lập thì phần ngôn ngữ đó sẽ trỏ tới một post hoặc page chỉ định qua ID (default: null)‘raw’
=> Nếu bạn muốn tự viết lại CSS cho phần này thì thiết lập giá trị là 1 (default:0)
Ví dụ:
pll_the_languages( array(
‘show_flags’ => 0, ‘dropdown’ => 1
));
Nếu bạn muốn nó hiển thị kiểu hàng ngang thì thêm đoạn sau vào style.css của theme:
.widget_polylang li { float: left; margin-right: 1em; list-style: none; {chưa | đừng | thôi | chớ | có thể {chưa | đừng | thôi | chớ | có thể {rất | lắm | quá | không | chẳng}}}} .widget_polylang li img { margin: 8px 0px 8px 0; {xa | gần | dài | ngắn | lớn | nhỏ {hữu ích | sâu | đầy đủ| sớm {có lẽ | không thể | mất | được}}}}
Thiết lập menu đa ngôn ngữ
Cái hay của PolyLang là hỗ trợ một vị trí menu có thể hiển thị tách biệt với từng ngôn ngữ khác nhau. Khi bạn vào Appearance -> Menus thì sẽ thấy một vị trí menu (menu location) đều hỗ trợ từng ngôn ngữ thế này:
Bây giờ bạn hãy tạo ra các menu khác nhau và nhập ngôn ngữ tương ứng và chọn vị trí thích hợp là được.
Thiết lập Post và Page đa ngôn ngữ
Trước khi làm việc, mình cần các bạn hiểu cơ chế tạo một post có nhiều ngôn ngữ đó là mỗi ngôn ngữ sẽ là một post riêng, nhưng khi thiết lập thì post này chỉ hiển thị với ngôn ngữ tương ứng. Khi bạn vào Posts -> All Posts, bạn xem thấy có thêm một cột ngôn ngữ như sau:
Trong đó có 2 biểu tượng mang ý nghĩa thế này:
– Post này dành cho ngôn ngữ tương ứng với cột của nó.
– Trỏ tới post tương ứng với ngôn ngữ của nó.
– Post này chưa có ngôn ngữ tương ứng, nhấp vào để tạo.
Ví dụ:
Nghĩa là post này là phiên bản tiếng Thụy Điển, nhấp vào icon sẽ dẫn tới trang sửa post của hai ngôn ngữ còn lại.
Khi tạo post mới, bạn nhìn bên cột Languages sẽ có phần chọn ngôn ngữ và nhập tên post của các ngôn ngữ còn lại. Tốt nhất là bạn hãy soạn ra các post khác nhau tương ứng với từng ngôn ngữ, sau đó mở lại từng post và nhập tên post của nó với phiên bản ngôn ngữ khác.
Đối với Page thì tương tự nhé.
Thiết lập Category & Tag đa ngôn ngữ
Đối với category và tag thì cũng giống như post, tức là bạn sẽ tạo ra nhiều category khác nhau và trỏ nó thành các phiên bản ngôn ngữ cho từng category.
Như hình trên thì thực ra nó là một category nhưng với 3 ngôn ngữ khác nhau. Bạn có thể thiết lập khi sửa category hoặc khi tạo category.
Và khi tạo post mới, danh sách category sẽ hiển thị ra tương ứng với ngôn ngữ mà bạn thiết lập cho post chứ không hiển thị hết toàn bộ nên bạn đừng lo nó sẽ rối.
Tương tự với tag.
Đa ngôn ngữ với theme và plugin
PolyLang không thể {giúp|giúp cho|hỗ trợ {có lẽ | không thể | mất | được {cần | mới | cũ | nhất| lại {thường | luôn | đột nhiên | bỗng nhiên}}}} bạn sửa các cụm từ trong theme và plugin {biến thành|thành|trở thành {cần | mới | cũ | nhất| lại {xa | gần | dài | ngắn | lớn | nhỏ {rất | lắm | quá | không | chẳng}}}} đa ngôn ngữ, nhưng nó {có lẽ|có thể|khả năng cao|thường|thường xuyên {có lẽ | không thể | mất | được {có lẽ | không thể | mất | được {nhanh | chậm | rất | dễ | nhẹ}}}} load file ngôn ngữ {phù hợp|thích hợp|ưa thích|ưng ý|yêu thích {chưa | đừng | thôi | chớ | có thể {nhanh | chậm | rất | dễ | nhẹ {hữu ích | sâu | đầy đủ| sớm}}}} với ngôn ngữ đang chọn để hiển thị ra bên ngoài. Điều này {có nghĩa|đồng nghĩa|tương đương với {chưa | đừng | thôi | chớ | có thể {chưa | đừng | thôi | chớ | có thể {chưa | đừng | thôi | chớ | có thể}}}} là, nếu bạn muốn plugin và theme của bạn hiển thị ngôn ngữ {phù hợp|thích hợp|ưa thích|ưng ý|yêu thích {có lẽ | không thể | mất | được {cần | mới | cũ | nhất| lại {nhanh | chậm | rất | dễ | nhẹ}}}} trên ngôn ngữ khác nhau, thì bắt buộc theme và plugin của bạn phải {có|nắm tới|sở hữu {thường | luôn | đột nhiên | bỗng nhiên {thường | luôn | đột nhiên | bỗng nhiên {nhanh | chậm | rất | dễ | nhẹ}}}} các file ngôn ngữ .mo trên host để nó {có lẽ|có thể|khả năng cao|thường|thường xuyên {chỉ | đã | đang | sẽ | vẫn | cũng {có lẽ | không thể | mất | được {hữu ích | sâu | đầy đủ| sớm}}}} {chuyên chở|chuyển vận|tải|vận chuyển|vận tải {chính | đích | ngay | cả | những {cần | mới | cũ | nhất| lại {chưa | đừng | thôi | chớ | có thể}}}} ra.
Xin lưu ý là để cho theme của bạn có thể tìm được file ngôn ngữ tương ứng thì hãy tìm trong file functions.php của theme đoạn load_theme_textdomain
xem nó load file ngôn ngữ ở thư mục nào và đặt file ngôn ngữ vào thư mục đó.
Lời kết
PolyLang cũng chỉ vậy thôi nhưng những gì mình đã hướng dẫn ở trên đã đủ để cho bạn làm một website đa ngôn ngữ khá hoàn chỉnh nhất rồi. Nếu có khó thì mình nghĩ khó nhất chỉ là phần thiết lập theme hiển thị tốt đa ngôn ngữ thôi nhưng bạn cố gắng tự tìm hiểu và đọc kỹ sẽ làm được.
Chúc các bạn thành công!
}