2012-01-23 57 views
8

Chúng tôi sắp bắt đầu xây dựng ứng dụng web của chúng tôi trong Node.js và tôi muốn sẵn sàng cho i18n vì vậy tôi đang tìm kiếm trải nghiệm của bạn với việc xây dựng các ứng dụng Node.js nơi văn bản có thể dịch được.Làm thế nào để bạn sử dụng i18n với Node.js?

Tốt hơn là tôi muốn sử dụng công cụ như Pootle qua Git hoặc khác nếu bạn có bất kỳ đề xuất nào.

+0

như đã đề cập trong dung dịch được chấp nhận [ i18next - i18n cho node.js hoặc javascript] (http://i18next.com/node) thêm tất cả các tính năng cần thiết fpr i18n thích hợp có một ui web để dịch. – jamuhl

+0

cũng thấy http://stackoverflow.com/questions/20125560/referenceerror-intl-is-not-defined-in-node-js - liên quan đến hỗ trợ EcmaScript 402 trong Nút. –

+0

Cũng có [ví dụ] (https://github.com/efkan/node-intl-polyfill-example) về cách triển khai i18n về cơ bản. Bạn có thể ghé thăm. – efkan

Trả lời

7

Có một số i18n modules bạn có thể sử dụng trong ứng dụng của mình, nhưng bạn có thể tạo của riêng bạn nếu bạn muốn.

Ví dụ tạo một thư mục/ngôn ngữ và bên trong nó tạo en.js, fr.js vv

it.js

module.exports = { 
    "name": "nome", 
    "age": "eta", 
    .. etc 
} 

Điều quan trọng là để thiết lập ngôn ngữ mặc định và thực hiện một thanh chọn ngôn ngữ ở đâu đó trong trang web của bạn. Khi người dùng chọn ngôn ngữ khác (và không phải tiếng Anh) trong ứng dụng của bạn, bạn làm điều gì đó như thế này:

app.get('/lang/:ln', function (req, res, next) { 
    // remember the user's chosen language 
    req.session.language = req.params.ln; 
}); 

Sau đó, bạn có thể có một chức năng ngôn ngữ helper như vậy:

translate = function (language, text) { 
    // language array contains all the languages 
    return language_array[language].text; 
} 
// example: translate(req.session.language, "age") 
+0

i18n trong nodejs với [i18next] (http://i18next.com/node) hoạt động tốt. tôi vừa thêm một ui để dịch tài nguyên trong trang web i18next.com/pages/ext_webtranslate.html – jamuhl

+1

Nhưng làm thế nào để bạn thêm bản dịch ngày/tiền tệ? Việc quốc tế hóa không chỉ là việc dịch chuỗi văn bản: -P – kenyee

+0

@kanyee những giá trị chuỗi đó cũng có thể dễ dàng hoạt động. –

Các vấn đề liên quan