Mô hình hóa tên và họ riêng biệt


32

Những đối số nào nên được xem xét khi thiết kế một hệ thống mới và phải lưu trữ tên của một người dưới dạng một trường hoặc riêng biệt như tên / họ?

Ưu điểm cho trường đơn:

  • Giao diện người dùng đơn giản
  • Không mơ hồ khi cố gắng nhập tên của một người, người có tên rất dài (thường không rõ ràng là tên cuối cùng / tên ..)
  • Ít phức tạp hơn khi xử lý các tiêu đề (ví dụ: không cần trường riêng để nhập "MD" hoặc "Tiến sĩ")

Ưu điểm cho trường tách:

  • Có thể giao tiếp được cá nhân hóa "Dear Mr X" hoặc "Dear Julie"
  • Nếu một dịch vụ web tiêu thụ cần riêng tên / họ, nó có thể được cung cấp dễ dàng.
  • Lựa chọn tốt hơn cho bất kỳ ngành nào có yêu cầu nhận dạng nghiêm ngặt (ví dụ: y tế, chính phủ, v.v.)
  • Lựa chọn an toàn hơn, vì bạn luôn có thể quay lại thay thế trường đơn

Bạn có thấy bất kỳ đối số bổ sung nào không được liệt kê ở trên không?

Cập nhật: câu hỏi là, những gì thêm (= không được liệt kê trong câu hỏi) lập luận có thể được liệt kê cho từng giải pháp. Tôi nghĩ đưa ra ý kiến ​​thay vì những ưu và khuyết điểm có thể thúc đẩy cuộc thảo luận sai cách. Mỗi nhà phát triển phải đưa ra quyết định của mình về vấn đề này, mục đích của câu hỏi này là tập hợp một danh sách các đối số không tầm thường có thể được đánh giá nếu cần.


11
Bạn đang cố gắng làm gì với những cái tên đó? Bạn có yêu cầu pháp lý? Có hậu quả nào khác ngoài việc hiển thị tên người dùng không?
Darkhogg

9
Phân biệt tên / họ không hỗ trợ những người chỉ có một tên duy nhất như "Cher".
JacquesB

77
Tôi khuyên bạn nên đọc bài viết sau: kalzumeus.com/2010/06/17/ từ đó là một cái mở mắt thực sự khi nghĩ về tên.
Pieter B

10
Bạn có thể cân nhắc đặt câu hỏi này về Trải nghiệm người dùng , cộng đồng có thể có thể đưa ra một quan điểm khác về vấn đề giao diện người dùng cơ bản này.
11684

9
@PieterB Một số điểm trong bài viết đó là nghi vấn và đôi khi bạn phải đưa ra các giả định để hoàn thành công việc. Bài viết đó không cung cấp lời khuyên hữu ích về cách xử lý tên. Nếu một tên chứa các ký tự không phải là unicode, bạn sẽ làm gì, cho phép người dùng tải lên một hình ảnh? Điều gì xảy ra nếu có các khía cạnh không trực quan - cho phép một video có âm thanh? Điều gì sẽ xảy ra nếu một cái tên là nghệ thuật trình diễn và chỉ có thể được biểu diễn vào nửa đêm ở Hồng Kông? Tại một số điểm, bạn phải thực tế và tiếp tục giải quyết vấn đề thay vì tiết lộ trong các trường hợp góc lý thuyết mà cơ sở người dùng của bạn sẽ không bao giờ gặp phải.
Phục hồi lại

Câu trả lời:


50

Tên và họ không phải là khái niệm hữu ích. Tên làm việc khác nhau ở các quốc gia khác nhau. Ở hầu hết các nước châu Á, tên gia đình được viết đầu tiên, nhưng nó vẫn được sử dụng để sắp xếp giáo dục vì vậy bạn có thể đặt nó trong tên đầu tiên, và sắp xếp sẽ sai, hoặc tên cuối cùng, và hiển thị sẽ được. Và sau đó, có những quốc gia như Iceland, nơi họ không sử dụng tên gia đình, mà thay vào đó là tên của cha. Vì vậy, họ chỉ cần sắp xếp theo tên.

Các thuật ngữ được đặt tên là Tử và tên họ của họ (hay tên của gia đình tên) là tốt hơn về mặt này, nhưng tôi vẫn sẽ tránh chúng trừ khi thực sự cần thiết (ví dụ như các tài liệu chính thức như hộ chiếu có chúng, vì vậy bạn cần chúng), bởi vì bạn cần chúng) họ chỉ làm cho mọi thứ phức tạp hơn.

  • Có thể giao tiếp được cá nhân hóa "Dear Mr X" hoặc "Dear Julie"

Ngoại trừ bạn không biết nên gọi người được cho bằng tên, hoặc họ hay gì. Và đừng để tôi bắt đầu với những ngôn ngữ có tính chất cáo buộc, bạn không thể rút ra lời buộc tội từ đề cử nói chung. Không, sẽ tốt hơn nếu bạn chỉ cần hỏi người dùng nên gọi họ là gì.

  • Nếu một dịch vụ web tiêu thụ cần riêng tên / họ, nó có thể được cung cấp dễ dàng.

Nếu . Nếu bạn phụ thuộc vào dịch vụ khác, bạn sẽ bị khóa với những lựa chọn tồi tệ của họ. Nó không có lợi thế cho thiết kế của riêng bạn.

  • Lựa chọn tốt hơn cho bất kỳ ngành nào có yêu cầu nhận dạng nghiêm ngặt (ví dụ: y tế, chính phủ, v.v.)

Không, đó là một lựa chọn sai cho những điều này. Các tài liệu chính thức thường sử dụng các thuật ngữ tên được đặt tên là tên của họ

  • Lựa chọn an toàn hơn, vì bạn luôn có thể quay lại thay thế trường đơn

Trên thực tế, do sự mơ hồ với tên châu Á, bạn không thể rõ ràng như vậy.


2
Nếu ứng dụng được sử dụng ở các nơi khác nhau trên thế giới, nhãn trường sẽ cần được bản địa hóa cùng với cách chúng được kết hợp / sử dụng.
JeffO

5
@JeffO, vấn đề thực sự là ngày nay bạn có nhiều khả năng có những người từ các quốc gia khác nhau trong cùng một hệ thống, vì vậy bạn cần tạo một hệ thống và tìm cách chèn tên từ các nền văn hóa khác nhau để nó hoạt động hợp lý . Đừng vào lỗ thỏ đó trừ khi bạn thực sự cần nó.
Jan Hudec

4
@IstvanDevai đã có một trường hợp pháp lý ở California, nơi một hợp đồng bị tuyên bố vô hiệu vì luật tín dụng yêu cầu "họ". Người này có họ gốc Tây Ban Nha kép, nhưng khi được hỏi họ, họ đầu tiên (họ) đã được đưa ra, đó là phổ biến. Bên kia đã mất trường hợp bộ sưu tập của họ vì tên trong hợp đồng không phải là tên "cuối cùng" của anh ta, tức là tên ở cuối tên đầy đủ của anh ta. Một ví dụ về cách đầu tiên / cuối cùng mời sự nhầm lẫn và không hoàn toàn đồng nghĩa với tên được đặt / tên gia đình.

6
@Casey - Tên đệm nên được bao gồm trong trường tên đã cho, bởi vì đó là tên của chúng: tên phụ. Nếu tôi có một đô la mỗi lần tôi thấy một người gốc Tây Ban Nha không có tên đệm, nhưng họ của họ có họ đầu tiên (và quan trọng nhất) bị đẩy trong trường tên đệm, tôi đã nghỉ hưu. Nếu bạn muốn biết nên gọi một người, hãy có một trường cho điều đó, tách biệt với tên. Sau đó, Bartholomew Frank Edward Smith Wellington có thể bảo bạn gọi họ là Bart. Chúng tôi có thể nói tiếng Anh, nhưng có những người ở đây từ những nơi không nói tiếng Anh, và tên của họ cũng được nhập vào.

4
-1. Mặc dù câu trả lời tự nó không hoàn toàn sai, nhưng nó không có ý nghĩa nhiều cho câu hỏi trong tầm tay. OP tìm kiếm nhiều đối số hơn cho việc sử dụng một trường hoặc hai trường cho tên người. Cho dù nó được gọi là "đầu tiên / cuối cùng" hay "đã cho / sur" không phải là trọng tâm, đó chỉ là nhãn mà OP có trong tâm trí. Tất cả các điểm khác có vẻ rất được quan tâm đối với tôi, và theo kinh nghiệm cá nhân của tôi với việc tạo và triển khai các ứng dụng cho khách hàng lớn, các giả định của OP là hoàn toàn bình thường và chỉ xảy ra theo cách đó. Câu trả lời này chỉ cố gắng tranh luận các thông số của câu hỏi đi.
AnoE

31

Đối số duy nhất quan trọng là các yêu cầu của hệ thống của bạn là gì?

Bạn có cần phải đối phó với chỉ một nền văn hóa? Nếu vậy, phù hợp với văn hóa đó. Mặt khác kế hoạch quốc tế hóa (như những người khác đã chỉ ra).

Bạn có cần lấy dữ liệu để giải quyết các biểu mẫu của chính phủ, y tế hoặc các yêu cầu pháp lý / hệ thống khác không? Thực hiện theo bất cứ điều gì những người ra lệnh. Nếu đó có nghĩa là tên và họ, hãy làm nó. Nếu nó có nghĩa là một cái gì đó khác nhau, làm điều đó.

Bạn có yêu cầu về API với tên và họ (hoặc có khả năng hợp lý, đủ để đảm bảo bỏ qua YAGNI) không? Làm những gì có ý nghĩa ở đó.

Nếu bạn cần liên lạc cá nhân, có hợp lý không khi chỉ hỏi ai đó tên ưa thích của họ và lưu trữ điều đó?

Các yêu cầu của hệ thống của bạn nên xác định những gì bạn làm. Làm những gì bạn phải làm và YAGNI phần còn lại.


7
Không còn cái gọi là "một nền văn hóa" nữa. Ngay cả những cộng đồng nhỏ nhất cũng có các chuẩn mực văn hóa và ngôn ngữ hỗn hợp.
BobDalgleish

7
@BobDalgleish Đúng, nhưng đôi khi điều đó không quan trọng. Đôi khi chi phí hỗ trợ nhiều nền văn hóa khiến người kinh doanh chỉ nói không.
Becuzz

9
@BobDalgleish Có lẽ văn hóa nào chiếm ưu thế trong thị trường mà ứng dụng đang được phát triển? Tôi không nghĩ rằng điều này thực sự bí ẩn hay hiếm.
Casey

3
@BobDalgleish - "văn hóa" là không liên quan. Không ai hỏi về văn hóa của bạn khi bạn được cấp tài liệu. Nếu tôi chỉ cần hỗ trợ Serbia (nơi tôi đang ở hiện tại), tôi sẽ bao gồm tên và họ như được xác định trên mỗi tài liệu được phát hành ở quốc gia này, và đó là nó. Không quan trọng văn hóa của bạn là gì. Hộ chiếu, bằng lái xe của bạn, vv sẽ có tên và họ, thời gian.
Davor dralo

2
@icirellik Sai theo cách nào? Những điều đó (giới hạn chiều dài, v.v.) có sai không nếu bạn đang cố gắng mô hình hóa hoàn hảo vũ trụ? Chắc chắn rồi. Nhưng tôi chưa bao giờ được yêu cầu mô hình hóa hoàn hảo vũ trụ và mọi cách có thể ai đó muốn chọn một cái tên. Tôi có tài khoản cho tên Klingon? Không. Nhưng tại sao không? Ai đó có thể làm điều đó một ngày nào đó (thành thật sẽ không làm tôi ngạc nhiên nếu ai đó làm điều đó bây giờ). Nhưng có một điểm mà bạn chỉ biết sẽ có một số thứ không hoạt động với mô hình của bạn. Và thêm thời gian dev để xử lý mọi khả năng chỉ là không đáng. (tiếp ...)
Becuzz

5

Nếu bạn có nhiều hơn một cách để hiển thị và / hoặc sử dụng (các) tên, thì có lẽ bạn sẽ cần các trường riêng biệt. Cùng với mục nhập dữ liệu, bạn có thể cung cấp phản hồi để cho người dùng thấy nó sẽ được sử dụng như thế nào. Cách bạn kết hợp chúng, có thể dẫn đến chuyển đổi sang một lĩnh vực duy nhất trong tương lai.

Có một số nhãn hiển thị: Tên chào hoặc Tên hiển thị: Tên + Họ Sắp xếp / Sắp xếp: Họ, Tên

Khi bạn không chắc chắn cách thức này sẽ được sử dụng trong tương lai, hãy bắt đầu bằng tên tách và sau đó bạn có thể kết hợp chúng thành một trường duy nhất khi bạn nhận ra đó là tất cả những gì bạn thực sự cần. Không khó để viết một thuật toán để tách một trường tên thành tên và họ, nhưng bạn sẽ mắc lỗi ở một vài người và mọi người thực sự không thích nhầm với tên của họ. Với các trường phân tách, người dùng có thể điều chỉnh cách họ nhập tên của họ khi họ thấy cách sử dụng nó. Kết hợp chúng trong một trường tên duy nhất vĩnh viễn sẽ ít rủi ro hơn.


5

Tôi đồng ý với rất nhiều điều @JanHudec đã nói, mặc dù tôi muốn mở rộng thêm một chút:

  • Bạn cần phải biết những yêu cầu thực sự của bạn là gì, nhưng việc kết hợp thông tin sẽ dễ dàng hơn so với việc tách nó ra một khi nó được kết hợp lại.
  • Sắp xếp sẽ luôn là một thách thức, vì các quy tắc có thể khác nhau giữa các địa phương và văn hóa.
  • Nhiều nền văn hóa không phù hợp với bạn, dẫn đến những giả định tồi tệ. (Đây là điểm lớn nhất của Jan)

Thuật ngữ là quan trọng

Các thuật ngữ như tên đã chohọ hoặc tên gia đình có ý nghĩa ngữ nghĩa và cơ sở dữ liệu của bạn sẽ luôn phản ánh ngữ nghĩa của dữ liệu của bạn. Các thuật ngữ như tênhọ có ý nghĩa vị trí, thường dựa trên ý tưởng tiếng Anh và Mỹ về cách thức hoạt động của tên. Sử dụng thuật ngữ thích hợp cho ngữ nghĩa của dữ liệu của bạn.

Làm thế nào đến nay bạn cần phải phá vỡ nó?

Có các khái niệm về chức danh (Ông Tiến sĩ Bà, v.v.) hoặc thứ tự (Jr., Sr., III, v.v.), và thậm chí các chứng chỉ (Tiến sĩ, MS, PCAM, v.v.) có thể quan trọng tùy thuộc vào bối cảnh và mục đích.

Nhiều địa phương có khái niệm về nhiều tên gia đình (họ và mẹ), và một số không có. Khi điền vào các biểu mẫu, đôi khi mọi người phải đưa ra những lựa chọn khó khăn về việc sử dụng tên nào, ví dụ như sử dụng tên gia đình cho "họ" trong một hình thức của Mỹ, hoặc đưa ra một tên cuối cùng dựa trên tên của người cha (Janson ).

Mặc dù ở Mỹ, thông thường có một hoặc nhiều tên đệm, nó thường bị bỏ qua bên ngoài gia đình bạn.

Sắp xếp

Nó giúp có một trường dành riêng cho tên sắp xếp. Bằng cách đó bạn có thể định hướng các quy tắc khi bạn tạo bản ghi. Nó cũng đảm bảo bạn có các tên được sắp xếp theo đúng thứ tự trên các ranh giới quốc tế.

Thực tiễn phổ biến

Yêu cầu thực sự của bạn chỉ ra mức độ chính xác mà bạn cần phải có về tên. Nếu bạn đang tạo một trang web của chính phủ hoặc ngân hàng, thì bạn có nhiều yêu cầu hơn đối với việc lưu trữ và xử lý tên hơn là một thứ không chính thức như Facebook.

Hướng dẫn không chính thức

  • Có một trường mô tả cách người dùng muốn được biết đến
  • Sắp xếp và hiển thị sử dụng một tên đó

Hướng dẫn bán chính thức

  • Có một trường cho một biệt danh hoặc cách người dùng muốn được giải quyết
  • Có hai trường, một cho tên đã cho và một cho họ (họ nên là tùy chọn)
  • Tính toán một trường sắp xếp dựa trên miền địa phương và kết hợp họ / họ
  • Sử dụng tên hiệu khi địa chỉ người dùng trực tiếp
  • Sử dụng tên chính thức khi liệt kê người

Hướng dẫn chính thức

  • Những điều này được quyết định bởi các chính sách và thủ tục hiện tại cho thực thể bạn đang hỗ trợ
  • Bạn cần nhiều trường như số phần tên tối đa bạn sẽ hỗ trợ, được đặt tên theo ngữ nghĩa cho những gì chúng là.
  • Bao gồm một trường sắp xếp xử lý việc sắp xếp như trong trường hợp bán chính thức
  • Hiển thị cũng thường được quyết định bởi các chính sách và thủ tục hiện có. Bạn cần làm quen với họ.

Downvoter sẽ quan tâm đến công phu? Có lẽ tôi đã bỏ lỡ điều gì?
Berin Loritsch

Điều này đối với tôi là toàn diện và là lời khuyên thực dụng nhất được đưa ra ở đây.
Jesse Clark

4

Ngoài những gì @JanHudec đã chỉ ra và tôi đồng ý, điều đáng chú ý là ở nhiều quốc gia, người ta có nhiều hơn một họ, vì vậy trường tên cuối cùng có thể không liên quan. Ví dụ, ở Tây Ban Nha, người ta có hai tên cuối cùng và họ chỉ sử dụng một hoặc cả hai tùy theo tình huống.

Bên cạnh đó, bạn không nên cá nhân hóa thông tin liên lạc dựa trên giả định của mình vì trong một số nền văn hóa, bạn có vẻ thô lỗ khi gọi mọi người bằng tên của họ và trong trường hợp của những người khác thì điều đó có thể ngược lại.

Ngoài ra, một số nền văn hóa nhấn mạnh vào các hình thức như 'Bà' so với 'Bà' và họ cũng có thể kết hợp từ này với tên hoặc họ tùy theo trường hợp cụ thể.

Vì vậy, tôi sẽ nghiêng về một giải pháp trong đó bạn có một trường tên duy nhất và có thể các trường bổ sung mà người dùng điền vào gợi ý cách chuyển sang người dùng - điều tương tự như nhiều hãng hàng không làm khi bạn mua vé trực tuyến. Điều này cũng có thể giải quyết vấn đề làm thế nào để phân tách tên nếu bạn cần nó cho một dịch vụ web bên ngoài mà bạn đã đề cập.


1
Có lẽ nếu bạn thực sự bản địa hóa, bạn có thể sử dụng một mẫu khác cho các ngôn ngữ khác nhau
Casey

4

Thêm nhiều hơn vào những gì @JanHudec và @KjMag đã chỉ ra, ngay cả trong các nền văn hóa / ngôn ngữ rất gần với tiếng Anh, điều này trở thành một vấn đề. Lấy tiếng Đức làm ví dụ. Bạn có khái niệm về Vornamen, Tên, Nachnamen, Họ và Rufname, tên bạn được gọi. Lấy cha tôi làm ví dụ, ông có 3 tên đầu tiên, trong giấy khai sinh của họ, chúng được liệt kê theo thứ tự Christoph Stephan Andreas. Và anh ấy có một tên cuối cùng. Bạn nghĩ tên anh ấy được gọi bằng gì?

Câu trả lời đúng: Andreas. Đó là Rufname của anh ấy, ở Mỹ, anh ấy đặt đó là tên đầu tiên của mình để phù hợp với khuôn mẫu của Mỹ. Vì vậy, bạn có thể giả sử ở Đức tên cuối cùng của bạn là tên bạn được gọi nhưng sau đó bạn có anh trai tôi: Christoph Sebastian Herbert Maria. (Bây giờ tôi đã cho đi chúng ta là người Bavaria) Hoặc em gái của tôi Christine Gabriele. Bạn nghĩ tên mà họ được gọi là gì? Sebastian và Christine tương ứng.

Tôi sẽ thứ ba các câu trả lời nói một trường cho một tên đầy đủ. Và tôi sẽ thêm vào đó: có thể thêm một trường khác cho tên họ / họ và đặt câu hỏi: bạn sẽ được sắp xếp tên nào trong danh sách? Và sau đó là một lĩnh vực cuối cùng cho: bạn muốn được giải quyết như thế nào?


1
"Họ" chỉ là một tên khác của "họ", không phải là từ xuất hiện cuối cùng trong chuỗi. Tên cuối cùng của Nakayama Taro là "Nakayama."
Casey

2
Để thêm một trường hợp khác: Ông tôi được gọi là "Antoon Leendert van Ingen Schenau" => tên được đặt: "Antoon Leendert"; được gọi là: "Leen"; tên gia đình: "van Ingen Schenau" được sắp xếp theo "Ingen". Không thể gọi tên, cũng như sắp xếp chính xác có thể dễ dàng bắt nguồn từ mục nhập tên / họ.
Bart van Ingen Schenau

1
@Casey theo ai? ở Nhật Bản, đó là "tên trên", ví dụ, không phải "họ".
eis

1
@eis Ở Nhật nó là 名字. Nhưng ở đây trong thế giới nói tiếng Anh, "họ" là từ đồng nghĩa với "họ" và không có nghĩa đen là "từ cuối cùng trong chuỗi tên của ai đó."
Casey

1
@eis Tôi không chắc bạn muốn làm gì. Người dùng sẽ không biết sự khác biệt nếu bạn gọi trường cơ sở dữ liệu last_name thay vì họ; cái này chỉ là từ đồng nghĩa của cái kia Nếu mối quan tâm của bạn là trình bày phần mềm cho những người không nói tiếng Anh, thì điều đó không liên quan vì cả "họ" và "họ" đều là thuật ngữ tiếng Anh và bạn nên sử dụng thuật ngữ này theo bất kỳ ngôn ngữ nào bạn muốn nói để bản địa hóa trang. Nếu mối quan tâm là bạn muốn những người không biết tiếng Anh có thể sử dụng trang tiếng Anh, thì đó có vẻ là một cách khá nửa vời để giải quyết vấn đề thực tế.
Casey

-2

Nếu một người đang đi cho một ứng dụng toàn cầu, một người có thể sẽ mô hình hóa tên của một người như một chuỗi các chuỗi. Ví dụ, hãy xem xét tên của tổng thống trong bộ phim Thành ngữ:

  • Núi Dwayne Elzondo Dew Herbert Camacho

Đó là tên đầy đủ của anh ấy. Tên chứa 6 phần tử trong mảng. Đối với văn hóa Hoa Kỳ, tên đầu tiên là thành phần đầu tiên trong mảng (Dwayne) và tên cuối cùng là thành phần cuối cùng trong mảng (Camacho). Nhưng đó không phải là luôn luôn như vậy.

Người ta có thể áp dụng các quy tắc cụ thể về văn hóa để xác định tên "đầu tiên" nếu tên đầu tiên thực sự là thành phần cuối cùng và vv tùy thuộc vào cách tên hoạt động trong các nền văn hóa / địa phương khác nhau.

Ngoài ra, trong trường hợp ở Hoa Kỳ, chúng tôi có các trường hợp khi phần tử cuối cùng không phải là tên cuối cùng, chẳng hạn như:

  • Núi Dwayne Elzondo Dew Herbert Camacho Jr.

Vì vậy, có thể một trường hậu tố tên hoặc người ta sẽ phải phân tích thành phần cuối cùng tìm kiếm các hậu tố đã biết dựa trên văn hóa để có được tên chính xác.

Vì vậy, tốt hơn hết là bạn nên lưu trữ tên trong một yếu tố (Tên đầy đủ) và sau đó áp dụng thói quen "tiêu chuẩn hóa / vệ sinh" chống lại nó để phân tích các yếu tố cụ thể khi cần. Một chiến lược tương tự tồn tại cho các địa chỉ. Chúng thường được thu thập dưới dạng một chuỗi và sau đó được gửi đến một dịch vụ để phân tích các phần.


3
Trường đơn và sau đó "phân tích cú pháp" là một ý tưởng thực sự tồi tệ. Hãy xem xét một người có họ là "Tiền bối": làm thế nào để bạn phân tích điều đó? Thế còn "de la Jolla" là họ?
BobDalgleish

Tôi đã đề cập đến phân tích cú pháp hoặc một trường tên Suffix. Nếu cần một giải pháp chung, người ta sẽ cần một trình phân tích cú pháp tên để bạn có thể xử lý từng trường hợp như "Senior" và "de la Jolla". Người ta có thể sử dụng AI và huấn luyện nó cách nhận biết tên. Tôi cá là nếu một người cho nó ăn một bộ dữ liệu đủ lớn thì nó sẽ có thể nhận ra "de la Jollas" của thế giới. Nhưng đó là một giải pháp có thể. Chắc chắn cũng có thể thu thập các phần riêng biệt nhưng điều đó có nhược điểm.
Jon Raynor
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.