Làm thế nào để có được chữ số ngôn ngữ cụ thể của con người?


9

TL; DR: làm cách nào tôi có thể sử dụng chữ số Hindi (...) khi viết bằng tiếng Ả Rập?


Emacs được cho là người biên tập tốt nhất, nhưng khi sử dụng chữ số trong ngữ cảnh viết, không có giải pháp thỏa đáng nào cho vấn đề này đối với người dùng đa ngôn ngữ so với Microsoft Word, cụ thể là viết chữ số theo ngữ cảnh.

Trong Microsoft Word 2010, hãy vào menu thả xuống -> Lệnh khác -> Nâng cao -> trong phần hiển thị nội dung tài liệu bạn có thể chọn contextcho Số ngoài (Tiếng Ả Rập hoặc Tiếng Hindi hoặc Ngữ cảnh hoặc Hệ thống). Tùy chọn ngữ cảnh cho phép bạn viết các chữ số theo ngữ cảnh của văn bản của bạn nếu đó là các chữ số tiếng Anh sẽ là tiếng Ả Rập 1,2,3,4,5,6,7,8,9,0 - nghe có vẻ lạ! nhưng nó được đặt tên như vậy (có thể là một cách viết sai) và nếu bạn viết bằng tiếng Ả Rập thì chữ số sẽ là chữ số Hindi , được viết như sau:
nhập mô tả hình ảnh ở đây

Đối với Windows, tôi thấy rằng việc thay đổi cách input-methodviết trong khi viết là cách tốt nhất nếu tôi viết một tài liệu đa ngôn ngữ bằng tiếng Anh và tiếng Ả Rập hoặc bất kỳ ngôn ngữ nào khác có bảng chữ cái hoàn toàn khác. Thay đổi bố cục ngôn ngữ hoặc bàn phím từ thanh ngôn ngữ trong Windows IMHO sẽ không mang lại cho bạn hiệu ứng tương tự vì điều đó sẽ phá hủy tất cả các ràng buộc chính của trình soạn thảo Emacs của bạn (đặc biệt là trong hai ngôn ngữ khác nhau như tiếng Anh và tiếng Ả Rập). Giải pháp được đăng ở đây .

Trong Microsoft Word, sau khi đặt chữ số thành ngữ cảnh, bạn có thể viết tiếng Anh bằng chữ số Ả Rập một cách liền mạch và khi bạn chuyển sang viết bằng tiếng Ả Rập bằng cách đạp xe qua ( ALT+ R SHFT), bạn sẽ viết văn bản tiếng Ả Rập bằng chữ số Hindi trong thời gian dưới đây. Trong Emacs sau khi chuyển input-methodngôn ngữ sang tiếng Ả Rập, chữ số vẫn sẽ là tiếng Ả Rập (1,2,3, v.v.) và không phải là chữ số Hindi mong muốn.

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

Tôi không nghĩ giải pháp cho vấn đề này có liên quan đến Microsoft Windows vì việc thay đổi ngôn ngữ của cài đặt khu vực cũng sẽ thay đổi cả số của giao diện Windows và sẽ có hiệu lực không mong muốn trên toàn hệ thống.

Tôi tin rằng tiềm năng mở rộng của Emacs là chìa khóa cho vấn đề này. Để cụ thể hơn; Tôi đề nghị Emacs nên phát hiện input-methodvà nếu nó bằng tiếng Ả Rập thì nó sẽ tự động sắp xếp lại tất cả các chữ số Ả Rập sang tiếng Hindi. HOẶC bằng cách nào đó tùy chỉnh bố cục bàn phím tiếng Ả Rập để có tiếng Hindi thay vì chữ số Ả Rập.

Liệt kê một số bài viết liên quan đến vấn đề này nhưng tôi không thể dịch các bit thông tin này thành một giải pháp thực tế phù hợp với đặc điểm của bài đăng này:

https://tex.stackexchange.com/q/191040/26295

Dưới đây là một cách tiếp cận để mở rộng phương thức nhập liệu trong Emacs. https://emacs.stackexchange.com/a/3404/2443

Nhập các chữ số Hindi có thể là một công việc tẻ nhạt trong Emacs nếu bạn muốn nhập các chữ số Hindi một lần, C-x 8 RETchúng được ánh xạ Unicode theo các mã sau: 0661 cho số 1, 0662 cho số 2, 0663 cho số 3, 0664 cho số 3, 0664 cho số 3 4, 0665 cho số 5 và cứ thế.

Câu hỏi
Tùy chỉnh tốt nhất cho Emacs 24 và tổ hợp phím ngắn nhất để sao chép trải nghiệm viết theo ngữ cảnh liền mạch do Microsoft Word cung cấp là gì?


Tôi nghĩ rằng có một số nhầm lẫn ở đây, những con số bạn đang gọi tiếng Hin-ddi thực sự là số Ả Rập!
Iqbal Ansari

@IqbalAnsari Xin chào, trớ trêu thay - Tôi biết lần đầu tiên nó có vẻ khó hiểu nhưng nếu bạn là người dùng Microsoft Word và bạn viết bằng tiếng Ả Rập, bạn sẽ sớm quen với biệt ngữ này. Nếu bạn có Microsoft Word, bạn có thể kiểm tra nó.
tiến sĩ

1
Bên cạnh đó: các tiêu chuẩn xuất bản ở một số quốc gia nói tiếng Ả Rập mặc định là chữ số Hindi (...), chẳng hạn như Ai Cập, trong khi các quốc gia khác mặc định là chữ số Ả Rập (123 ...), chẳng hạn như Lebanon.
Dân

@Dan, Ai Cập và Lebanon đều là những quốc gia nói tiếng Ả Rập, họ nên sử dụng tiếng Hindi trong các ấn phẩm của họ hoặc bất kỳ tác phẩm nào khác. Dựa vào đó, bố cục tiếng Ả Rập mặc định của Emacs sẽ tốt hơn khi thay đổi chữ số từ tiếng Ả Rập sang tiếng Hindi.
tiến sĩ

Những gì họ nên hoặc không nên làm không liên quan như những gì họ thực sự làm. Và, với giá trị của nó, các ấn phẩm trực tuyến lớn chủ yếu sử dụng chữ số Ả Rập - cf al-Jazeera , al-Hayat (nhật báo pan-Arab), al-Nahar (nhật báo Lebanon hàng đầu), al-Ahram (nhật báo Ai Cập hàng đầu). Tôi cũng thích tính thẩm mỹ của các chữ số Hindi, nhưng có vẻ như quailđưa ra lựa chọn thích hợp để mặc định cho các chữ số Ả Rập vì chúng dường như cũng là mặc định trong thế giới Ả Rập.
Dân

Câu trả lời:


10

Vì vậy, yêu cầu là: Khi tôi đang sử dụng arabicphương thức nhập liệu và tôi nhập một chữ số, tôi muốn Emacs chèn ký tự Hindi cho chữ số đó.

Để làm điều này, chúng tôi có thể điều chỉnh cách tiếp cận được liên kết của bạn để mở rộng một phương thức nhập liệu như vậy:

(eval-after-load "quail/arabic"
  '(let ((quail-current-package (assoc "arabic" quail-package-alist)))
     (quail-define-rules ((append . t)) ;; don't clobber the existing rules
                         ("0" "\u0660")
                         ("1" "\u0661")
                         ("2" "\u0662")
                         ("3" "\u0663")
                         ("4" "\u0664")
                         ("5" "\u0665")
                         ("6" "\u0666")
                         ("7" "\u0667")
                         ("8" "\u0668")
                         ("9" "\u0669"))))

Sau đó, khi bạn sử dụng C-uC-\ arabic(hoặc chỉ C-\nếu đó là mặc định của bạn) và nhập một chữ số, nó sẽ chèn bản dịch được chỉ định thay thế.


Tuyệt quá! Vấn đề được khắc phục. Emacs thực sự là biên tập viên tốt nhất.
tiến sĩ
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.