Liệu nó có ý nghĩa để quốc tế hóa các bản ghi?


8

Trường hợp sử dụng hợp lệ để quốc tế hóa nhật ký là gì? Đặc biệt, có bất kỳ việc sử dụng có ý nghĩa cho một ứng dụng web.

Tôi đang làm việc về chuyển đổi API khai thác gỗ được sử dụng bởi một ứng dụng web từ log4jđến slf4j, và nhận thấy rằng giao diện sử dụng để trừu tượng so với log4jsự hỗ trợ thực hiện quốc tế hóa; Tôi cũng nhận thấy rằng cả hai log4jslf4jhỗ trợ quốc tế hóa, có nghĩa là nó phải hữu ích cho ai đó.

Bây giờ, quốc tế hóa thể hữu ích khi lập trình một ứng dụng máy tính để bàn, trong đó người dùng cuối có thể xem nhật ký, nhưng mặt tiền ghi nhật ký này chỉ được sử dụng phía máy chủ cho một số ứng dụng web, bởi các nhà phát triển bắt buộc phải sử dụng tiếng Anh nói chung .



8
Đăng nhập bằng một ngôn ngữ khác tiếng Anh khiến việc tìm kiếm trợ giúp trực tuyến trở nên khó khăn hơn, vì nó làm giảm số lượng kết quả phù hợp trong Google.
Tulains Córdova

4
Tôi dành hàng giờ trong ngày của mình bằng cách sử dụng các quy tắc lọc khác nhau trên nhật ký. Rõ ràng việc quốc tế hóa các mục khiến việc đó trở nên khó khăn hơn nhiều
Gort the Robot

Tôi tự hỏi nếu một số người downvote khi họ thực sự có nghĩa là "không, làm điều này là sai" ... Đó không phải là những gì downvote dành cho: /
Andres F.

@AresresF. Nếu bình luận của bạn được đính kèm với một câu trả lời, thực sự tôi không đồng ý với bạn. Trong khi câu hỏi này thực sự có thể trả lời được, nó cũng nằm ở khía cạnh dựa trên ý kiến ​​của mọi thứ. Một downvote không quá tệ.
jpaugh

Câu trả lời:


6

Các câu trả lời được đưa ra ở đây quá ràng buộc với quan điểm của nhà phát triển. Tuy nhiên, phần mềm được tạo ra để sử dụng (và đọc) bởi con người (người dùng) mà hầu hết trong số họ không có ý tưởng về gỡ lỗi, mẫu nhật ký, tiêu chuẩn, v.v ...

Giả sử chúng ta có một sản phẩm ghi lại hoạt động của nó ở các cấp độ khác nhau. Yêu cầu sản phẩm phải có bảng điều khiển hoặc bảng điều khiển nơi người dùng có thể theo dõi hoạt động. Do đó, các dấu vết nhật ký được yêu cầu phải có thể đọc được bởi người dùng thay vì nhà phát triển hoặc kỹ thuật viên .

Hơn nữa, người dùng có thể từ các địa điểm khác nhau. Điều gì có nghĩa là, ghi nhật ký định dạng ngày, ký hiệu số và tiền tệ, v.v. phải phù hợp với vị trí của người dùng.

Trong tình huống như vậy, tại sao các bản ghi không nên được bản địa hóa?

Mặc dù đúng là các bản ghi nên có thể đọc được bằng máy, nhưng không có gì ngăn cản chúng tôi thực hiện quy trình ghi nhật ký song song thân thiện với người dùng hơn một chút.

Tôi đồng ý với tiếng Anh là ngôn ngữ chuẩn cho nhật ký. Nhưng tất cả các loại "tiêu chuẩn" này là Tiêu chuẩn De Facto . Vì vậy, tại thời điểm này, chúng ta phải linh hoạt.

Điều đó đang được nói, nếu bạn tìm thấy một lý do tốt để sử dụng tính năng bản địa hóa slog4j, hãy tiếp tục. Nó đã được thực hiện cho một lý do tốt.

Một trong những lý do này có thể là các ứng dụng ngày nay chạy trên bối cảnh toàn cầu và không phải ai cũng nói / đọc / viết ngôn ngữ của bạn (hoặc tiếng Anh). Có lẽ, ngay cả bộ phận trợ giúp sản phẩm của bạn cũng không.


Bạn làm cho một điểm tốt. Sử dụng khung đăng nhập để gửi tin nhắn (quốc tế hóa) đến người dùng cuối có ý nghĩa; Tại sao phải phát minh lại đăng nhập khi nó đã ở đó?
jpaugh

1
Tôi đoán đó là vấn đề tùy biến. Chúng tôi cần / muốn một tính năng bổ sung. Nhưng chúng ta thường "phát minh lại bánh xe" :-)
Laiv

2
Tôi có một bánh xe, mà tôi tự làm. Đó là bánh xe tốt nhất, bao giờ hết! Nó sáng hơn, tròn hơn bất kỳ loại nào khác. Nhưng, nó không phù hợp với bất kỳ chiếc xe hiện có. Tôi cần chế tạo một chiếc xe để vừa với bánh xe của mình ... ;-)
jpaugh

11

Khi các nhà phát triển nói về "nhật ký", họ thường đề cập đến các tệp văn bản đơn giản chứa thông tin vô nghĩa bên ngoài ngữ cảnh của mã cụ thể đã ghi lại chúng và không có mục đích nào khác ngoài việc khắc phục mã đó khi có sự cố.

Khi các nhà phát triển nói về "quốc tế hóa", họ thường có nghĩa là "khi người dùng là người nói ngôn ngữ X sử dụng chuỗi được dịch sang ngôn ngữ X thay vì chuỗi mặc định".

Với những định nghĩa cụ thể đó, nhật ký quốc tế hóa hầu như luôn là một ý tưởng tồi , bởi vì:

  1. Thông thường, nhóm ngôn ngữ mà tất cả các nhà phát triển của bạn có thể nói trôi chảy nhỏ hơn rất nhiều so với nhóm ngôn ngữ mà bất kỳ người dùng nào của bạn có thể là người bản ngữ. Vì vậy, nếu bạn quốc tế hóa nhật ký, nhiều khả năng các nhà phát triển của bạn sẽ không không thể hiểu chúng

  2. Thông thường, hầu hết người dùng của bạn không phải là người bảo trì tích cực cho phần mềm họ đang sử dụng. Do đó, những khách hàng không biết tiếng Anh của bạn sẽ không thể hiểu được nhật ký ngay cả khi chúng được quốc tế hóa, bởi vì hầu hết các thông điệp tường trình sẽ là về các đoạn mã cụ thể và các chi tiết triển khai khác nhau mà họ không nên và không nên bao giờ biết về.

  3. Quốc tế hóa một tin nhắn hoàn toàn đánh bại khả năng thực hiện tìm kiếm văn bản cho tin nhắn đó, có thể là các nhà phát triển tìm kiếm mã của họ hoặc người dùng tìm kiếm trên internet để tìm cách giải quyết.

  4. Quốc tế hóa giới thiệu khả năng lỗi dịch thuật hoặc sự mơ hồ tinh tế, điều này hoàn toàn không thể chấp nhận được trong bối cảnh xử lý sự cố phần mềm. Đó là vấn đề tương tự như dấu thời gian ghi nhật ký mà không có múi giờ rõ ràng; bạn liên tục phải lãng phí thời gian để tìm hiểu ý nghĩa thực sự của nó.


Tất nhiên, nếu chúng ta thư giãn những định nghĩa và giả định mà tôi đã bắt đầu, thì có một số trường hợp sử dụng hợp lệ.

Nói chung, "nhật ký quốc tế hóa" có khả năng hữu ích khi có một tập hợp con thông điệp nhật ký dễ nhận biết, ý nghĩa đối với người dùng trung bình và khi "quốc tế hóa" có nghĩa là nhật ký riêng trong ngôn ngữ của người dùng cùng với nhật ký ngôn ngữ mặc định cho nhà phát triển.

Trong thực tế, nếu một cái gì đó bạn có thể gọi là "nhật ký quốc tế hóa" thực sự hữu ích, thì có lẽ nó sẽ là một tính năng của ứng dụng.

Một số loại trò chơi video làm điều này, đặc biệt là những trò chơi hoạt động như trò chơi trên bàn:

nhập mô tả hình ảnh ở đây

Nguồn: Blood Bowl, ảnh chụp màn hình được lấy từ https://www.youtube.com/watch?v=UyQB4kDMZzE

Nếu "nhật ký" được coi là cực kỳ hữu ích hoặc là một tính năng quan trọng, nhiều khả năng chúng sẽ kết thúc trong một cơ sở dữ liệu phù hợp thay vì chỉ là các tệp văn bản. Phần mềm theo dõi bán hàng là một ví dụ điển hình cho việc này:

nhập mô tả hình ảnh ở đây

Nguồn: http://www.everlogic.com/i-want-to/see-sc Greensshots /

Cho dù bạn có gọi những "nhật ký" này hay không, văn bản bạn nhìn thấy trong những hình ảnh này rõ ràng là thứ chúng tôi muốn quốc tế hóa nếu chúng tôi đang duy trì những vấn đề này.


Bạn đang đến từ quan điểm của tôi. Nhưng, việc sử dụng lại API đăng nhập hiện tại để gửi thông điệp trạng thái cho người dùng có ý nghĩa rất lớn, bây giờ tôi nghĩ về nó. Dễ dàng thêm quốc tế hóa để ghi nhật ký hơn là tạo một trình ghi nhật ký quảng cáo tùy chỉnh cho giao diện người dùng.
jpaugh

Hãy tưởng tượng bạn có một lỗi chỉ xảy ra trong một phiên bản được bản địa hóa sang tiếng Nhật. Và các nhà phát triển của bạn đã thêm ghi nhật ký sẽ giúp bạn dễ dàng xác định vị trí và sửa lỗi. Ngoại trừ việc đăng nhập của bạn bằng tiếng Nhật và không ai trong số các nhà phát triển của bạn có thể hiểu được điều đó :-(
gnasher729

Không có vấn đề, cho tôi biết mã lỗi và dữ liệu đầu vào gây ra lỗi. :-)
Laiv
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.