Ipython: Notebook Jupyter menjadi RTL setelah ditingkatkan

Dibuat pada 14 Jan 2018  ·  34Komentar  ·  Sumber: ipython/ipython

Saya membuat lingkungan python 3.6 di miniconda. Notebook Jupyter sekarang berfungsi dari kanan ke kiri .

Tidak mungkin untuk menulis kode seperti ini.

Bagaimana saya bisa memperbaikinya"

paket yang diinstal adalah:
ipykernel 4.7.0 py36_0 conda-forge ipython 6.2.1 py36_1 conda-forge ipython_genutils 0.2.0 py36_0 conda-forge jupyter_client 5.2.1 py36_0 conda-forge jupyter_core 4.4.0 py_0 conda-forge nbconvert 5.3.1 py_1 conda-forge nbformat 4.4.0 py36_0 conda-forge notebook 5.2.2 py36_1 conda-forge

metadata buku catatan:
{ "celltoolbar": "Edit Metadata", "kernelspec": { "name": "python3", "display_name": "Python 3", "language": "python" }, "language_info": { "name": "python", "version": "3.6.4", "mimetype": "text/x-python", "codemirror_mode": { "name": "ipython", "version": 3 }, "pygments_lexer": "ipython3", "nbconvert_exporter": "python", "file_extension": ".py" } }

Komentar yang paling membantu

Tekan Ctrl-Shift-F untuk membuka palet perintah. Cari 'rtl' dan pilih 'toggle rtl layout'. Ini harus beralih.

Jika bahasa pertama yang dipilih di browser Anda adalah bahasa Arab atau Ibrani, saat ini memilih RTL secara default. CCing @samarsultan jika perlu

Semua 34 komentar

Tekan Ctrl-Shift-F untuk membuka palet perintah. Cari 'rtl' dan pilih 'toggle rtl layout'. Ini harus beralih.

Jika bahasa pertama yang dipilih di browser Anda adalah bahasa Arab atau Ibrani, saat ini memilih RTL secara default. CCing @samarsultan jika perlu

Terima kasih @takluyver , namun itu hanya berfungsi untuk sesi saat ini. Setiap notebook baru akan dimulai dengan opsi RTL aktif lagi. Selain itu, halaman pohon (http://localhost:8888/tree) juga ada di RTL...

Apakah ada bendera global untuk mematikan opsi RTL sama sekali?

EDIT: Oke, saya mengubah bahasa default browser (Chrome) dari bahasa Ibrani ke bahasa Inggris, dan sekarang semuanya berfungsi.

Sejauh yang saya tahu, saat ini satu-satunya cara untuk mengubahnya secara permanen adalah dengan mengubah bahasa default browser. Jika ada cukup banyak pengguna dengan bahasa Arab/Ibrani yang masih memiliki tata letak LTR, kita mungkin harus membuatnya dapat dikonfigurasi secara terpisah, mungkin dengan membuat sakelar yang ada menjadi permanen.

@takluyver hei, browser chrome saya disetel ke bahasa Inggris, namun saya masih mengalami masalah dengan tata letak RTL.
Apakah ada solusi lain yang mungkin?

Buka konsol Javascript browser Anda dan centang navigator.language - itulah yang dilihat kode kami untuk memutuskan RTL.

@takluyver ok bagus itu menunjukkan saya "he-IL"
jadi saya harus mengubahnya? bagaimana?

Itu harus di pengaturan browser di suatu tempat. Jika ada daftar bahasa, itu mungkin menggunakan yang teratas dalam daftar.

Saya mengubahnya, sekarang bahasa Inggris adalah bahasa pertama dalam pengaturan. tapi navigator.languages ​​tetap menampilkan "he-IL". :(
Apakah Anda tahu apa yang harus dilakukan?

Sudahkah Anda menutup browser dan membukanya kembali? Mungkin pengaturan bahasa hanya memengaruhinya saat Anda memulainya lagi. Jika bukan itu, tidak tahu ...

Anda dapat mencoba chrome://settings lalu pergi ke Pengaturan lanjutan klik bahasa lalu hapus bahasa arab seperti ini
untitled

@ibraheemkhazbak Sudah dicoba, masih bermasalah :(

Saya memiliki masalah yang sama, jupyter selalu terbuka dengan sakelar rtl dan saya harus membatalkannya setiap kali.
bahasa browser default saya adalah bahasa Inggris, apakah seseorang punya ide apa lagi yang bisa saya coba untuk menyelesaikannya?

Versi paket notebook apa yang Anda miliki, dan apa yang diberikan navigator.language di konsol Javascript browser Anda?

Saya sendiri baru-baru ini mengalami masalah yang sama. Akhirnya, solusinya adalah mencopot pemasangan Chrome (dengan iObit Uninstaller - saya tidak mencoba mencopot pemasangan Windows biasa), nyalakan ulang komputer (untuk keberuntungan), lalu instal ulang Chrome. Bekerja dengan sempurna.

@takluyver Navigator.language saya adalah bahasa Ibrani meskipun bahasa default saya diatur ke bahasa Inggris.
Saya mengerti sekarang bahwa masalahnya berasal dari browser dan bukan dari Jupyter, jadi saya akan memperbaikinya menggunakan cara Efrat.
Terima kasih untuk bantuannya

@Effrat
Saya mencoba cara ini dan masih tidak berhasil (termasuk mengatur ulang).
Rekomendasi lain? siapa pun?

Sama disini /:
Apakah ada cara untuk menimpa di notebook atau baris perintah?

Itu berhasil untuk saya:

  1. menghapus bahasa Ibrani (atau Arab) dari bahasa Chrome (seperti yang disebutkan sebelumnya)
  2. file cache browser yang dihapus

@takluyver , terima kasih! Meskipun saya tidak berpikir itu masalah pengguna yang cukup. UI notebook lainnya dalam bahasa Inggris, jadi tidak ada alasan untuk tata letak RTL terlepas dari kebiasaan pribadi.

Bagi siapa saja yang menggunakan solusi @Effrat dan tidak berhasil:
Pastikan ketika Anda masuk ke akun google Anda, jangan sinkronkan pengaturannya.
Menyinkronkan pengaturan akan membuat jupyter menjadi rtl lagi

Itu berhasil untuk saya:

  1. menghapus bahasa Ibrani (atau Arab) dari bahasa Chrome (seperti yang disebutkan sebelumnya)
  2. file cache browser yang dihapus

Ini berfungsi untuk saya setelah menghapus data penelusuran chrome dan memulai kembali.

Jawaban @LiranDan bekerja untuk saya, namun apakah ada yang menemukan cara untuk menyinkronkan akun tanpa Jupyter di Chrome mengenali navigator.language sebagai HE? Ketika saya mencoba dengan browser yang berbeda seperti FireFox itu berfungsi hanya menemukan dan bahasa default adalah En. Pasti ada cara untuk mengubah bahasa default akun Google (saya sudah menghapus bahasa Ibrani dari bahasa akun Google dan masih tidak bagus).

EDIT: setelah bermain dengan pengaturan bahasa di akun saya sedikit lagi tampaknya diselesaikan dan he-IL tidak ada lagi di browser chrome saya.

Berhasil menyelesaikan ini untuk Windows 10 saya dengan cara berikut.

Satu-satunya bahasa dalam bahasa Chrome adalah
Namun itu terus menampilkan notebook di RTL tidak peduli apa yang saya lakukan.
(Anda dapat melihat bahasa saat ini di chrome dev tools window.navigator.languages , ia memilih yang pertama)

Akhirnya, saya membuka layar bahasa Windows 10 dan memesan ulang bahasa tersebut.
Secara khusus, saya memiliki bahasa Inggris terlebih dahulu dan kemudian bahasa Ibrani, jadi saya menyusun ulang bahasa Ibrani terlebih dahulu dan kemudian bahasa Inggris dan kemudian mengatur ulang lagi.

Menutup browser dan membukanya kembali akhirnya berhasil.

Apakah ada niat/dukungan untuk mengubah perilaku default?
RTL untuk bahasa Inggris tidak berguna, dan bahkan jika menu dalam bahasa RTL, isi buku catatan akan tetap rusak jika dalam bahasa Inggris, yaitu 99,9% dari buku catatan. Jadi RTL tidak berguna bagi hampir semua orang.

Saya percaya akan jauh lebih baik untuk default ke LTR terlepas dari lokalisasi, dan memungkinkan untuk beralih.

Saya sudah lama curiga bahwa logika kami untuk beralih ke RTL agak terlalu bersemangat. Tetapi karena saya tidak membaca bahasa RTL apa pun, saya tidak terlalu memikirkan pemikiran saya tentang topik tersebut.

Sulit untuk mengambil sampel pendapat tentang pelacak masalah, karena sangat memilih orang yang memiliki masalah dengan perilaku saat ini. Tetapi jika seseorang yang akrab dengan bahasa RTL ingin mengirimkan PR untuk meninggalkan antarmuka LTR secara default, saya cenderung menggabungkannya.

@m2-farzan telah membuka beberapa PR terhadap notebook untuk meningkatkan dukungan RTL. Akan sangat bagus jika orang lain yang akrab dengan bahasa RTL dapat melihat dan memeriksa apakah bahasa tersebut masuk akal:

Sebagai orang RTL (Ibrani) saya dapat mengonfirmasi bahwa memiliki tata letak RTL di lingkungan pengembangan sangat mengganggu. Saya akan melangkah lebih jauh dan mengatakan bahwa itu _never_ berguna, bahkan sebagai opsi non-default.

Satu-satunya konteks di mana RTL berguna adalah ketika Anda memiliki paragraf lengkap dari bahasa RTL, atau ketika seluruh UI diterjemahkan (yang tidak mungkin terjadi di lingkungan pengembangan).

Saat ini saya menggunakan Jupyter terutama untuk menganalisis teks Ibrani. Saya ingin dapat mencetak contoh teks rata kanan di sana-sini, tetapi ini tidak ada hubungannya dengan seluruh UI.

Berikut tangkapan layar - tidak ada yang berguna dalam bahasa Ibrani di sini, tetapi Anda mendapatkan titik di akhir kalimat yang salah, dan jalurnya terbalik.
image

Sekali lagi, tidak ada informasi yang berguna dalam bahasa Ibrani, peluru In [ ] berada di sisi yang salah, dan Anda mendapatkan RTL _only_ jika tidak membantu. Jika ada, saya ingin kata disejajarkan dengan benar, tetapi tidak ada yang lain.
image

Beberapa editor menentukan arah paragraf secara otomatis berdasarkan karakter pertama. Mungkin masuk akal untuk melakukan sesuatu yang serupa untuk setiap sel?

Notebook @haggaie Jupyter menggunakan CodeMirror sebagai pustaka editor teksnya. Oleh karena itu, fitur untuk mengubah arah setiap baris secara otomatis berdasarkan karakter pertamanya perlu diterapkan di CodeMirror, yang saat ini merupakan permintaan fitur terbuka (https://github.com/codemirror/CodeMirror/issues/4006).

Harap dicatat bahwa di notebook Jupyter versi >= 6.1 Anda dapat menggunakan palet perintah (Ctrl+Shift+P di chrome) untuk mengubah arah sel atau seluruh notebook. Di sana Anda dapat menemukan dua perintah yang berguna: toggle current cell ltr/rtl , dan toggle notebook ltr/rtl . Saya telah menemukan perintah-perintah itu cukup untuk keperluan sehari-hari.

PS

Jadi, jika Anda sudah tahu tentang perintah-perintah tersebut tetapi Anda benar-benar membutuhkan otomatis mengubah arah setiap sel, perpanjangan dapat dikembangkan yang menggunakan sesuatu seperti inti ini untuk mendeteksi arah dan kemudian secara dinamis mengatur direction tag metadata sel. Solusi lain (tidak disarankan) adalah mencoba ekstensi peretasan yang saya tulis sebelumnya ( di sini ).

Terima kasih @m2-farzan. Sejujurnya, saya sangat puas dengan pengaturan toggle rtl layout , karena saya biasanya bekerja dengan chrome yang disetel ke lokal RTL saat mengerjakan notebook LTR sepenuhnya. Tapi saya setuju mengubah setiap sel dengan pengaturan yang Anda sebutkan bisa membantu.

'Beralih tata letak rtl' memecahkan masalah, tetapi ini tentang default yang waras: default saat ini tidak pernah benar.
Cara ini diterapkan memaksa setiap pengguna jupyter berbahasa Ibrani atau Arab baru untuk memiliki pengalaman yang mengerikan sampai mereka menemukan utas ini.

Ini diperbaiki pada jupyter 6.1.0

Apakah halaman ini membantu?
0 / 5 - 0 peringkat