Criei o ambiente python 3.6 no miniconda. O notebook Jupyter está funcionando agora da direita para a esquerda.
É impossível escrever um código assim.
Como posso consertar "
os pacotes instalados são:
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
metadados do notebook:
{
"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"
}
}
Pressione Ctrl-Shift-F para abrir a paleta de comandos. Pesquise por 'rtl' e selecione 'toggle rtl layout'. Deve mudar.
Se o primeiro idioma selecionado em seu navegador for árabe ou hebraico, ele atualmente seleciona RTL por padrão. CCing @samarsultan caso precise de refinamento.
Obrigado @takluyver , entretanto isso funciona apenas para a sessão atual. Qualquer novo notebook começará com a opção RTL novamente. Além disso, a página da árvore (http: // localhost: 8888 / tree) também está em RTL ...
Existe algum sinalizador global para desativar a opção RTL completamente?
EDIT: OK, mudei o idioma padrão do navegador (Chrome) de hebraico para inglês, e agora tudo funciona.
Pelo que eu sei, atualmente a única maneira de alterá-lo permanentemente é alterar o idioma padrão do navegador. Se houver usuários suficientes com localidades árabe / hebraico que ainda possuem layout LTR, provavelmente devemos torná-lo configurável separadamente, talvez tornando a alternância existente permanente.
@takluyver ei, meu navegador Chrome está configurado para inglês, mas ainda estou tendo problemas com o layout RTL.
Existe outra solução possível?
Abra o console Javascript do seu navegador e verifique navigator.language
- isso é o que nosso código analisa para decidir sobre RTL.
@takluyver ok ótimo, me mostra "he-IL"
então eu preciso mudar isso? quão?
Deve estar nas configurações do navegador em algum lugar. Se houver uma lista de idiomas, provavelmente será o primeiro da lista.
Eu mudei, agora o inglês é o primeiro idioma nas configurações. mas ainda navigator.languages exibe "he-IL". :(
Você tem alguma ideia do que fazer?
Você fechou o navegador e o abriu novamente? Talvez as configurações de idioma afetem apenas quando você iniciá-lo da próxima vez. Se não for assim, não faço ideia ...
Você pode tentar chrome: // settings e ir para Configurações avançadas, clicar em idiomas e remover o idioma árabe assim
@ibraheemkhazbak Já tentei, ainda
Estou com o mesmo problema, o jupyter sempre abre com a chave rtl e preciso cancelar todas as vezes.
o idioma padrão do meu navegador é o inglês. Alguém tem uma ideia do que mais posso tentar resolver?
Qual versão do pacote de notebook você tem e o que navigator.language
oferece no console Javascript do seu navegador?
Recentemente, encontrei o mesmo problema. Finalmente, a solução foi desinstalar o Chrome (com o iObit Uninstaller - não tentei uma desinstalação normal do Windows), reiniciar o computador (para boa sorte) e reinstalar o Chrome. Funciona perfeitamente.
@takluyver Meu navigator.language é hebraico, embora meu idioma padrão esteja definido como inglês.
Eu entendo agora que o problema vem do navegador e não do Jupyter, então vou consertar usando o método Efrat.
Obrigado pela ajuda
@Effrat
Tentei dessa forma e ainda não tive sorte (incluindo a reinicialização).
Outras recomendações? qualquer um?
Mesmo aqui /:
Existe uma maneira de substituir no bloco de notas ou linha de comando?
Isso funcionou para mim:
@takluyver , obrigado! Embora eu não ache que seja uma questão de usuários suficientes. O resto da interface do usuário do notebook está em inglês, portanto, não há motivo para o layout RTL, independentemente dos hábitos pessoais.
Para quem usa a solução @Effrat e ela não funciona:
Certifique-se de não sincronizar as configurações ao fazer login em sua conta do Google.
Sincronizar as configurações fará com que o jupyter vá rtl novamente
Isso funcionou para mim:
- removeu o hebraico (ou árabe) dos idiomas do Chrome (como mencionado antes)
- arquivos em cache do navegador excluídos
Funcionou para mim após limpar os dados de navegação do Chrome e reiniciá-lo.
A resposta de @LiranDan funcionou para mim, entretanto, alguém encontrou uma maneira de sincronizar a conta sem que o Jupyter no Chrome reconhecesse o navigator.language como HE? Quando tentei com um navegador diferente, como o FireFox, ele funcionou, basta localizar e o idioma padrão é En. Deve haver uma maneira de alterar o idioma padrão da conta do Google (eu já removi o hebraico dos idiomas da conta do Google e ainda não funciona).
EDITAR: depois de brincar um pouco mais com as configurações de idioma na minha conta, parece estar resolvido e he-IL não existe mais no meu navegador Chrome.
Consegui resolver isso para meu Windows 10 da seguinte maneira.
O único idioma nos idiomas do Chrome era o inglês.
No entanto, continuava mostrando o notebook em RTL independente do que eu fizesse.
(Você pode ver os idiomas atuais nas ferramentas de desenvolvimento do Chrome window.navigator.languages
, ele escolhe o primeiro)
Por fim, abri a tela de idiomas do Windows 10 e reordenei os idiomas.
Especificamente, eu tinha primeiro o inglês e depois o hebraico, então reordenei o hebraico primeiro, depois o inglês e reordenei novamente.
Fechar o navegador e reabri-lo finalmente funcionou.
Existe intenção / apoio para mudar o comportamento padrão?
RTL para inglês é inútil, e mesmo que os menus estejam em uma linguagem RTL, o conteúdo do notebook ainda ficará distorcido se estiver em inglês, o que é 99,9% dos notebooks. Portanto, o RTL não é útil para quase ninguém.
Acredito que seria muito melhor padronizar para LTR, independentemente da localização, e permitir a alternância.
Há muito tempo suspeito que nossa lógica para mudar para RTL é um pouco exagerada. Mas como não leio nenhuma linguagem RTL, não considero muito meus pensamentos sobre o assunto.
É complicado obter uma opinião sobre um rastreador de problemas, porque ele seleciona fortemente pessoas que têm problemas com o comportamento atual. Mas se alguém que está familiarizado com os idiomas RTL deseja enviar um PR para deixar a interface LTR por padrão, eu estaria inclinado a mesclá-lo.
@ m2-farzan abriu vários PRs contra o notebook para melhorar o suporte RTL. Seria ótimo se outra pessoa familiarizada com as linguagens RTL pudesse dar uma olhada e verificar se elas fazem sentido:
Como uma pessoa RTL (hebraico), posso confirmar que ter um layout RTL em um ambiente de desenvolvimento é muito chato. Eu iria ainda mais longe e diria que _nunca_ é útil, nem mesmo como uma opção não padrão.
O único contexto em que a RTL é útil é quando você tem parágrafos completos da linguagem RTL ou quando toda a IU é traduzida (o que não pode acontecer em ambientes de desenvolvimento).
Atualmente, estou usando o Jupyter principalmente para analisar texto em hebraico. Eu adoraria poder imprimir exemplos de texto alinhados à direita aqui e ali, mas isso não tem nada a ver com toda a IU.
Aqui está uma captura de tela - não há nada útil em hebraico aqui, mas você obtém o ponto final no final da frase errado e o caminho é invertido.
Novamente, nenhuma informação útil em hebraico, os marcadores In [ ]
estão do lado errado e você obtém RTL _somente_ quando não é útil. Se alguma coisa, eu gostaria que a palavra שלום fosse alinhada à direita, mas nada mais.
Alguns editores determinam a direcionalidade de um parágrafo automaticamente com base nos primeiros caracteres. Talvez faça sentido fazer algo semelhante para cada célula?
O bloco de notas CodeMirror como sua biblioteca de edição de texto. Portanto, o recurso de alterar automaticamente a direção de cada linha com base em seu primeiro caractere precisaria ser implementado no CodeMirror, que atualmente é uma solicitação de recurso aberta (https://github.com/codemirror/CodeMirror/issues/4006).
Observe que na versão do notebook Jupyter> = 6.1 você pode usar a paleta de comandos (Ctrl + Shift + P no cromo) para alterar a direção de uma célula ou de todo o notebook. Lá você pode encontrar dois comandos úteis: toggle current cell ltr/rtl
e toggle notebook ltr/rtl
. Descobri que esses comandos são apenas o suficiente para fins diários.
PS
Portanto, se você já conhece esses comandos, mas realmente precisa alterar automaticamente a direção de cada célula, pode ser desenvolvida uma extensão que use algo como esta essência para detectar a direção e, em seguida, definir dinamicamente a tag de metadados direction
das células. Outra solução alternativa (não recomendada) é tentar a extensão hacky que escrevi no passado ( aqui ).
Obrigado @ m2-farzan. Para ser honesto, estou muito satisfeito com a configuração toggle rtl layout
, já que normalmente trabalho com o cromo definido para o local RTL enquanto trabalho em notebooks totalmente LTR. Mas concordo que alterar cada célula com as configurações que você mencionou pode ser útil.
'Toggle rtl layout' resolve o problema, mas trata-se de padrões lógicos: os padrões atuais nunca estão corretos.
A maneira como isso é implementado força cada novo usuário jupyter de língua hebraica ou árabe a ter uma experiência terrível até encontrar este tópico.
Isso foi corrigido a partir do jupyter 6.1.0
Comentários muito úteis
Pressione Ctrl-Shift-F para abrir a paleta de comandos. Pesquise por 'rtl' e selecione 'toggle rtl layout'. Deve mudar.
Se o primeiro idioma selecionado em seu navegador for árabe ou hebraico, ele atualmente seleciona RTL por padrão. CCing @samarsultan caso precise de refinamento.