Hướng dẫn nodejs tiếng việt

Hướng dẫn nodejs tiếng việt

Truong Dang @xdangminhtruongx

Theo dõi

2.4K 79 20

Đã đăng vào thg 12 18, 2017 2:14 CH 5 phút đọc

4.0K

8

6

Đa ngôn ngữ cho ứng dụng web nodejs

  • Báo cáo
  • Thêm vào series của tôi

Lấy 200$ cloud miễn phí để tha hồ deploy project và nghịch phá server ở đây nhé mọi người.

👇️👇️👇️

I. Giới thiệu.

Do mình cần làm một project nhỏ bằng Nodejs - Express có hỗ trợ đa ngôn ngữ cho người dùng, nên mình xin mạo muội viết lại bài hướng dẫn này, hy vọng có thể hữu ích cho ai cần đến...

Hướng dẫn nodejs tiếng việt
Mình sẽ tạo ví dụ một ứng dụng nhỏ cho phép người dùng chuyển qua lại giữa hai ngôn ngữ tiếng anh và tiếng việt như thế này
Hướng dẫn nodejs tiếng việt

Hướng dẫn nodejs tiếng việt
)
 {
   "Home" : "Home",  
    "My Account": "My Account", 
   "Shopping Cart": My Account", 
   "CheckOut" : "My Account" 
 }

  • Sử dụng trong file template Với mình hiện đang dùng ejs view-engine nên mình sẽ viết i18n như sau :
     {
       "Home" : "Home",  
        "My Account": "My Account", 
       "Shopping Cart": My Account", 
       "CheckOut" : "My Account" 
     }
    
    2 (Trông như i18n của Laravel ấy nhỉ
     {
       "Home" : "Home",  
        "My Account": "My Account", 
       "Shopping Cart": My Account", 
       "CheckOut" : "My Account" 
     }
    
    3 ). Áp dụng cho cái navbar ở trên hình nhá:
      <ul class="nav" >
          <li><a class="home active" href="#"><%= __('Home') %>a> li>
          <li><a class="myaccount" href="#"><%= __('My Account') %>a> li>
          <li><a class="shoppingcart" href="#"><%= __('Shopping Cart') %>a> li>
          <li><a class="checkout" href="#"><%= __('CheckOut') %>a> li>
      ul>
    
  • Chuyển đổi qua lại giữa các ngôn ngữ ? Đơn giản bạn chỉ cần thay đổi giá trị
    {
       "Home" : "Trang chủ",  
       "My Account": "Tài khoản", 
       "Shopping Cart": "Giỏ hàng", 
       "CheckOut" : "Thanh toán" 
    }
    
    7 ví dụ bạn muốn chuyển qua tiếng việt bạn chỉ cần đổi giá trị của cookie - lang sang
     {
       "Home" : "Home",  
        "My Account": "My Account", 
       "Shopping Cart": My Account", 
       "CheckOut" : "My Account" 
     }
    
    5
    res.cookie('lang', 'vi', { maxAge: 900000 });
    
    Và ngược lại đổi giá trị sang
     {
       "Home" : "Home",  
        "My Account": "My Account", 
       "Shopping Cart": My Account", 
       "CheckOut" : "My Account" 
     }
    
    6 nếu muốn chuyển lại tiếng anh. Ví dụ mình tạo một route với tham số truyền vào biến
     {
       "Home" : "Home",  
        "My Account": "My Account", 
       "Shopping Cart": My Account", 
       "CheckOut" : "My Account" 
     }
    
    7 có tên là
     {
       "Home" : "Home",  
        "My Account": "My Account", 
       "Shopping Cart": My Account", 
       "CheckOut" : "My Account" 
     }
    
    8 với hai giá trị truyền vào là
     {
       "Home" : "Home",  
        "My Account": "My Account", 
       "Shopping Cart": My Account", 
       "CheckOut" : "My Account" 
     }
    
    5 hoặc
     {
       "Home" : "Home",  
        "My Account": "My Account", 
       "Shopping Cart": My Account", 
       "CheckOut" : "My Account" 
     }
    
    6 để chuyển đổi qua lại giữa hai ngôn ngữ.
     app.use('/change-lang/:lang', (req, res) => { 
          res.cookie('lang', req.params.lang, { maxAge: 900000 });
          res.redirect('back');
    });
    
    Và gắn đường dẫn tương ứng cho hai dropdown menu lựa chọn ngôn ngữ anh - việt tương ứng như trong hình dưới đây.
    Hướng dẫn nodejs tiếng việt
    Hướng dẫn nodejs tiếng việt
    Hướng dẫn nodejs tiếng việt
  • IV. Kết luận.

    Vừa xong mình đã tạo xong chức năng đa ngôn ngữ cho ứng dung web nodejs, sử dụng package i18n-node package . Để tìm hiểu sâu hơn về i18n-node package mọi người có thể vào repo github của package để đọc chi tiết hơn. https://github.com/mashpie/i18n-node. Mong được mọi người góp ý, chỉnh sửa...

    Hướng dẫn nodejs tiếng việt

    Node.js ejs JavaScript Express


    All rights reserved

    • Báo cáo
    • Thêm vào series của tôi

    Hướng dẫn nodejs tiếng việt

    Truong Dang @xdangminhtruongx

    Theo dõi

    2.4K 79 20

    Đã đăng vào thg 12 18, 2017 2:14 CH 5 phút đọc

    4.0K

    8

    6

    Đa ngôn ngữ cho ứng dụng web nodejs

    • Báo cáo
    • Thêm vào series của tôi

    Lấy 200$ cloud miễn phí để tha hồ deploy project và nghịch phá server ở đây nhé mọi người.

    👇️👇️👇️

    I. Giới thiệu.

    Do mình cần làm một project nhỏ bằng Nodejs - Express có hỗ trợ đa ngôn ngữ cho người dùng, nên mình xin mạo muội viết lại bài hướng dẫn này, hy vọng có thể hữu ích cho ai cần đến...

    Hướng dẫn nodejs tiếng việt
    Mình sẽ tạo ví dụ một ứng dụng nhỏ cho phép người dùng chuyển qua lại giữa hai ngôn ngữ tiếng anh và tiếng việt như thế này
    Hướng dẫn nodejs tiếng việt

    Hướng dẫn nodejs tiếng việt
    )
     {
       "Home" : "Home",  
        "My Account": "My Account", 
       "Shopping Cart": My Account", 
       "CheckOut" : "My Account" 
     }
    

  • Sử dụng trong file template Với mình hiện đang dùng ejs view-engine nên mình sẽ viết i18n như sau :
     {
       "Home" : "Home",  
        "My Account": "My Account", 
       "Shopping Cart": My Account", 
       "CheckOut" : "My Account" 
     }
    
    2 (Trông như i18n của Laravel ấy nhỉ
     {
       "Home" : "Home",  
        "My Account": "My Account", 
       "Shopping Cart": My Account", 
       "CheckOut" : "My Account" 
     }
    
    3 ). Áp dụng cho cái navbar ở trên hình nhá:
      <ul class="nav" >
          <li><a class="home active" href="#"><%= __('Home') %>a> li>
          <li><a class="myaccount" href="#"><%= __('My Account') %>a> li>
          <li><a class="shoppingcart" href="#"><%= __('Shopping Cart') %>a> li>
          <li><a class="checkout" href="#"><%= __('CheckOut') %>a> li>
      ul>
    
  • Chuyển đổi qua lại giữa các ngôn ngữ ? Đơn giản bạn chỉ cần thay đổi giá trị
    {
       "Home" : "Trang chủ",  
       "My Account": "Tài khoản", 
       "Shopping Cart": "Giỏ hàng", 
       "CheckOut" : "Thanh toán" 
    }
    
    7 ví dụ bạn muốn chuyển qua tiếng việt bạn chỉ cần đổi giá trị của cookie - lang sang
     {
       "Home" : "Home",  
        "My Account": "My Account", 
       "Shopping Cart": My Account", 
       "CheckOut" : "My Account" 
     }
    
    5
    res.cookie('lang', 'vi', { maxAge: 900000 });
    
    Và ngược lại đổi giá trị sang
     {
       "Home" : "Home",  
        "My Account": "My Account", 
       "Shopping Cart": My Account", 
       "CheckOut" : "My Account" 
     }
    
    6 nếu muốn chuyển lại tiếng anh. Ví dụ mình tạo một route với tham số truyền vào biến
     {
       "Home" : "Home",  
        "My Account": "My Account", 
       "Shopping Cart": My Account", 
       "CheckOut" : "My Account" 
     }
    
    7 có tên là
     {
       "Home" : "Home",  
        "My Account": "My Account", 
       "Shopping Cart": My Account", 
       "CheckOut" : "My Account" 
     }
    
    8 với hai giá trị truyền vào là
     {
       "Home" : "Home",  
        "My Account": "My Account", 
       "Shopping Cart": My Account", 
       "CheckOut" : "My Account" 
     }
    
    5 hoặc
     {
       "Home" : "Home",  
        "My Account": "My Account", 
       "Shopping Cart": My Account", 
       "CheckOut" : "My Account" 
     }
    
    6 để chuyển đổi qua lại giữa hai ngôn ngữ.
     app.use('/change-lang/:lang', (req, res) => { 
          res.cookie('lang', req.params.lang, { maxAge: 900000 });
          res.redirect('back');
    });
    
    Và gắn đường dẫn tương ứng cho hai dropdown menu lựa chọn ngôn ngữ anh - việt tương ứng như trong hình dưới đây.
    Hướng dẫn nodejs tiếng việt
    Hướng dẫn nodejs tiếng việt
    Hướng dẫn nodejs tiếng việt
  • IV. Kết luận.

    Vừa xong mình đã tạo xong chức năng đa ngôn ngữ cho ứng dung web nodejs, sử dụng package i18n-node package . Để tìm hiểu sâu hơn về i18n-node package mọi người có thể vào repo github của package để đọc chi tiết hơn. https://github.com/mashpie/i18n-node. Mong được mọi người góp ý, chỉnh sửa...

    Hướng dẫn nodejs tiếng việt

    Node.js ejs JavaScript Express


    All rights reserved

    • Báo cáo
    • Thêm vào series của tôi