2011-09-16 12 views
5

Giả sử tôi có một câu mà tôi đang tạo động dựa trên dữ liệu được truyền từ người khác. Giả sử đó là danh sách các mặt hàng thực phẩm, như: ["apples", "pears", "oranges"] hoặc ["bread", "meat"]. Tôi muốn lấy những câu này và tạo thành một câu: "Tôi thích ăn táo, lê và cam" và "Tôi thích ăn bánh mì và thịt." Thật dễ dàng để làm điều này chỉ bằng tiếng Anh, nhưng tôi khá chắc chắn rằng liên kết không hoạt động theo cùng một cách trong tất cả các ngôn ngữ (trong thực tế, tôi đặt cược một số trong số họ là cực kỳ khác nhau). Làm cách nào để bạn bản địa hóa một câu có số lượng mục động, được tham gia theo cách nào đó?Làm cách nào để bạn có thể bản địa hóa một câu với số lượng liên động động?

Nếu có ích, tôi đang làm việc này cho Android, vì vậy bạn sẽ có thể sử dụng bất kỳ thư viện nào mà nó cung cấp (hoặc một cho Java).

+0

Tôi không chắc rằng tôi hiểu đúng những gì bạn muốn làm, nếu mục tiêu của bạn được thiết kế để cho phép người dùng xây dựng câu đúng cú pháp Trong một số ngôn ngữ sử dụng một từ vựng được kiểm soát, Sau đó, Nhiệm vụ không phải là dễ dàng như vậy - Không Thậm chí cho tiếng Anh. Bạn có thể muốn để có một cái nhìn tại [Attempto kiểm soát tiếng Anh] (http://en.wikipedia.org/wiki/Attempto_Controlled_English). Si vous aussi muốn đảm bảo rằng câu Ngữ nghĩa là okay (tức Tránh "Tôi thích ăn thịt và sách", Sau đó, nó thậm chí còn khó khăn hơn – MarcoS

Trả lời

0

Vấn đề, tất nhiên, là biết các ngôn ngữ khác. Tôi không biết làm thế nào bạn làm điều đó một cách chính xác mà không cần tìm người bản xứ cho các ngôn ngữ mục tiêu của bạn. Google Dịch là một tùy chọn, nhưng bạn vẫn nên có người nói ngôn ngữ đó.

Android có chức năng tích hợp này trong tài nguyên chuỗi Plurals. tài liệu của họ cung cấp các ví dụ trong tiếng Anh (res/valules/strings.xml) và cũng có thể bằng ngôn ngữ khác (đặt trong res/values-pl/strings.xml)

lượng hợp lệ: {zero, one, two, few, many, other}

dụ của họ:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <plurals name="numberOfSongsAvailable"> 
     <item quantity="one">One song found.</item> 
     <item quantity="other">%d songs found.</item> 
    </plurals> 
</resources> 

Vì vậy, nó có vẻ như cách tiếp cận của họ là sử dụng các đoạn dài hơn các từ và số nhiều.

1

Tôi sẽ hỏi người bản ngữ của ngôn ngữ bạn muốn nhắm mục tiêu. Nếu tất cả các ngôn ngữ sử dụng cùng một cấu trúc (một dấu phẩy giữa tất cả các phần tử ngoại trừ phần tử cuối cùng), thì chỉ cần tạo danh sách các phần tử n - 1 được phân cách bằng dấu phẩy và sử dụng mẫu được bên ngoài và sử dụng java.util.MessageFormat để tạo toàn bộ câu các phần tử n - 1 là đối số đầu tiên và phần tử thứ n là đối số thứ hai. Bạn cũng có thể từ hóa dấu phân cách (dấu phẩy bằng tiếng Anh) để làm cho nó linh hoạt hơn nếu cần.

Nếu một số ngôn ngữ sử dụng một cấu trúc khác, hãy xác định một số chiến lược triển khai, đặt tên chiến lược để biết chiến lược nào cần sử dụng cho một miền địa phương cụ thể, sau đó yêu cầu chiến lược phù hợp để định dạng danh sách cho bạn. Chiến lược cho tiếng Anh sẽ sử dụng thuật toán được mô tả ở trên. Chiến lược cho ngôn ngữ khác sẽ sử dụng cách kết hợp các phần tử khác nhau với nhau, nhưng nó có thể được sử dụng lại cho một số ngôn ngữ sử dụng các mẫu bên ngoài nếu các ngôn ngữ đó sử dụng cùng cấu trúc nhưng với các từ khác nhau.

Lưu ý rằng đó là bởi vì nó rất khó khăn mà hầu hết các chương trình chỉ đơn giản là làm Danh sách những gì tôi thích: bánh mì, thịt.

0

Rất khó. Lấy tiếng Pháp chẳng hạn: nó sử dụng các bài viết trước mỗi danh từ. Ví dụ bạn sẽ là:

J'aime manger des pommes, des poires et des cam.

Hoặc tốt hơn:

Tôi thích táo, lê và các cam.

(Nghĩa đen: Tôi thích táo, lê và các các cam).

Vì vậy, nó không làm theo chỉ là một vấn đề của liên từ. Đó là một vấn đề của các quy tắc ngữ pháp khác nhau vượt quá các liên kết. Không cần phải nói đó ngôn ngữ khác có thể nêu vấn đề hoàn toàn khác nhau.

+0

Và nó trở nên hài hước hơn với bánh mì và thịt. Tôi thích bánh mì ** ** và ** thịt. –

0

This Is Gần Đáng tiếc là không phải làm gì. Đó là Do chia một bên và khác nhau hình thức tùy thuộc một giới bên kia. Tiếng Anh không có sự phân biệt đó nhưng nhiều (hầu hết là?) Các ngôn ngữ khác làm. Để làm cho vấn đề tồi tệ hơn, hình thức động từ có thể phụ thuộc vào các danh từ sau (cả hai hình thức giới tính phụ thuộc và sự kết hợp).

Thay vì câu thoải mái như vậy, chúng ta có xu hướng sử dụng danh sách của sự vật, ví dụ:

Danh sách những thứ tôi muốn ăn:
táo

cam

tôi sợ rằng đây là điều duy nhất hợp lý để làm (biến, danh sách có thể chỉnh sửa).

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