2015-04-07 19 views
5

Tôi cần sử dụng i18n() trong mã của tôi bên trong nội dung/js của dự án sailsjs của tôi. Làm thế nào tôi có thể làm điều đó?Sails.js: cách sử dụng hàm i18n trong asset/js/files.js

Trong quan điểm của tôi là ok nhưng trong js của tôi không, tại sao?

cảm ơn bạn rất nhiều.

Tôi có [email protected]

+0

Trong js, bạn có thể sử dụng '__()' để dịch những thứ –

+0

@TravisWebb, không chạy. Theo quan điểm của tôi có, nhưng trong /assets/js/files.js của tôi thì không. –

+0

@Lamujeresponja bạn đã tìm thấy giải pháp chưa? – galgo

Trả lời

0

Tôi đồng ý với Wesley, nhưng nếu bạn không muốn tất cả các bên dịch khách hàng dịch. Tôi sẽ đề nghị bằng văn bản cuộc gọi Ajax và tận dụng những điều sau đây:

sails.__({ 
    phrase: 'Good day', 
    locale: 'de' 
}); 

này sau đó sẽ được trả lại như các phiên bản của Đức 'Good day'. Hoặc bạn chỉ có thể gửi cụm từ khóa và trả lại tất cả các bản dịch ngôn ngữ của bạn.

+0

Nếu bạn sử dụng một điều khiển góc trong tài sản/js/ExampleCtrl.js bạn không thể gọi __() hoặc buồm .__() vì nó nằm ở phía máy chủ (nodejs) .Câu hỏi là làm thế nào để sử dụng nó trong Client Side – galgo

+0

@Wigiri Đó là lý do tại sao tôi đồng ý với Wesley. sted một cuộc gọi Ajax. – 4Dev

1

Tôi làm gì, tải xuống bản dịch từ máy chủ và sử dụng chúng phía máy khách. Tôi không bao giờ mã hóa bản dịch trong tài sản của mình và tôi cũng sẽ không làm thế nếu tôi là bạn.

Thêm tuyến đường để tìm bản dịch của bạn (json tĩnh) và phân tích cú pháp phía máy khách JSON. There are plenty of libraries that can help you from there.

Hãy nhớ rằng luôn có thể bao gồm bản dịch trong bản dựng cho một thứ như require.js.

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