Moment: `sk.js`: Perbaiki masalah l10n (cekoisme)

Dibuat pada 12 Mar 2020  ·  16Komentar  ·  Sumber: moment/moment

Jelaskan bugnya

Preposisi za dalam arti in in in a minute adalah bahasa ceko (kata atau penggunaan yang dipinjam dari bahasa Ceko), oleh karena itu moment za pár sekúnd benar dalam bahasa Ceko, dan salah dalam bahasa Slowakia. Dalam bahasa Slowakia, preposisi yang benar adalah o dalam frasa tersebut.

Perilaku yang diharapkan

Misalnya: gunakan o pár second bukan za pár sekúnd (artinya: in a few seconds ).


Pembaruan: Masalah lainnya adalah pred 3 dny yang seharusnya pred 3 dňami . Bukan masalah moment , tapi dayjs , saya buruk.

Help Wanted Language Up-For-Grabs

Komentar yang paling membantu

Hm ... Mungkin kita bisa membedakan penggunaan antara durasi dan momen. Saya akan membiarkannya terbuka sedikit lebih lama.

Semua 16 komentar

@ pikiran

  1. pernyataan di tiket ini tidak benar, itu adalah konstruksi bahasa Slovakia yang valid
  2. semua dibahas di sini https://github.com/moment/moment/pull/5409#issuecomment -618482801
  3. solusinya adalah .replace('za', 'o') , solusi yang lebih baik saat ini adalah memberikan parameter konteks ke terjemahan

@ k2s , meskipun pernyataan saya di OP tidak _sepenuhnya_ benar, itu _pihak_ benar. Sebagai implementasi saat ini dari masalah di Momen. Dan karena implementasinya _tidak sepenuhnya benar_, menurut saya itu harus diperbaiki. Saya tidak tahu bagaimana caranya, tetapi IMHO hasilnya harus _selalu_ benar.

Solusi yang Anda usulkan ( .replace('za', 'o') ) bahkan bukan solusi karena meninggalkan keluaran _pihak_ benar, meskipun dibalik.

Berdasarkan sumber dari komentar Anda komentar :

  • za digunakan ketika kita berbicara tentang _period_ selama sesuatu dilakukan (seperti _Dia memasaknya dalam satu jam._);
  • o digunakan ketika kita berbicara tentang _point in time_ (seperti _Dia kembali dalam satu menit._).

Oleh karena itu, keluaran saat ini tidak benar untuk o (tetapi benar untuk za ) dan jika seseorang memilih untuk menggunakan 'solusi', mereka akan mendapatkan keluaran yang benar untuk o , tetapi bukan untuk za .

@tukusejssirs terima kasih Anda telah mencoba menerapkan dan meningkatkan dukungan untuk bahasa Slowakia di perpustakaan. Dalam kaitannya dengan perpustakaan saat, Anda perlu diingat bahwa itu adalah perpustakaan yang mapan, digunakan oleh banyak proyek dan untuk mengubah sesuatu yang sebagian besar tidak merusak kode yang ada.

Nama tiket ini mengatakan bahwa nilai za yang dikembalikan salah secara tata bahasa yang berarti itu adalah bug, itu perlu diperbaiki. Itu tidak benar.

untuk mengembalikan za atau o konteks tambahan yang tidak diperlukan untuk bahasa Inggris dan, yang saya ketahui, tidak didukung oleh fungsi momen terkait

Saya memahami keinginan Anda untuk membuatnya sempurna dan cara mencapainya adalah dengan membuat plugin momen yang akan menyediakan metode dengan dukungan konteks.

Nah, saya mencoba meneruskan hal yang sama: # 5206, yang dikembalikan setelahnya :-(
Saya tidak percaya ada begitu banyak pengguna Slovakia yang bahkan akan melihat za / o berubah, jadi mengapa mereka menyimpan versi yang salah, saya tidak mengerti. Keduanya valid, meskipun saya kira sebagian besar pengguna memerlukan formulir "dalam waktu di masa mendatang", yang harus digunakan preposisi o . Bentuk "butuh waktu / dikerjakan", yang preposisi za digunakan dalam bahasa Slowakia, adalah kasus yang jauh lebih jarang.

@dakujem , terima kasih atas komentar Anda. Itu membuatku merasa tidak sendirian dalam hal ini. 😄

Ketika saya membuat PR ini, saya _pikir_ kita harus selalu menggunakan o daripada za , tetapi @ k2s membuktikan bahwa saya salah (lihat komentar saya ini ) bahwa keduanya benar, tetapi tidak dapat dipertukarkan.

Oleh karena itu dari sudut pandang _current_ saya, jika kita menggunakan za saja atau o saja, keduanya sama-sama salah karena keduanya _tidak selalu benar_. Saya berharap saya bisa mengusulkan algoritma (fungsi) yang akan menangani kasus-kasus ketika preposisi mana yang akan digunakan, tetapi saya tidak begitu pandai dalam pemrograman… mungkin Anda bisa melakukannya. : smiley:

Memang keduanya digunakan. Saya berani bertaruh bahwa o lebih sering. Tapi...

Sayangnya, saya bukan pria JS 🤷, plugin JS saya akan buruk 😆

@dakujem , saat ini kami tidak memerlukan _code_, tetapi _algorithm_ — cara memeriksa Momen preposisi apa yang harus dikeluarkan?

Saya tidak tahu bagaimana kita bisa membedakan antara titik waktu dan periode waktu.
Saya kira saya tidak akan membuat perubahan apa pun di sini.

Lokal selalu dapat diganti oleh pengguna individu.
https://momentjs.com/docs/#/customization/

Itu sangat disayangkan.

Hm ... Mungkin kita bisa membedakan penggunaan antara durasi dan momen. Saya akan membiarkannya terbuka sedikit lebih lama.

Kedengarannya bagus untukku.

Adakah cara agar kita bisa mendapatkan 'metadata' ini sekarang? Atau apakah itu sesuatu yang perlu Anda terapkan ke dalam Momen?

Aku tidak mengerti maksudmu.

untuk sekarang:
Jika Anda menggunakan durasi, Anda dapat memperbarui lokal untuk o.
Jika Anda menggunakan momen, itu sudah akan menggunakan za.

Aku tidak mengerti maksudmu.

untuk sekarang:
Jika Anda menggunakan durasi, Anda dapat memperbarui lokal untuk o.
Jika Anda menggunakan momen, itu sudah akan menggunakan za.

Setelah dipikir-pikir, ini tidak akan menyelesaikan masalah ini, karena in an hour berarti o hodinu (seperti dalam _Saya akan kembali dalam satu jam._, yang menggunakan o titik waktu, yaitu now + 1 hour ) dan za hodinu (seperti di He cooked it in an hour. , yang berbicara tentang durasi waktu).

Jika Anda masih berpikir itu akan menyelesaikan masalah ini, silakan bagikan dengan saya beberapa cuplikan kode bagaimana saya bisa membedakan keduanya. Terima kasih.

Saya membaca diskusi ini lagi.

Sepertinya perbedaan antara za dan o bergantung pada konteks spesifik kalimat. Mungkin, ada beberapa teks linguistik yang membahas hal ini, tetapi kedengarannya lebih spesifik daripada yang dapat diterapkan di perpustakaan ini. Misalnya, Moment.js tidak dapat membedakan antara "Dia memasaknya dalam satu jam" dan "Saya akan kembali dalam satu jam".

Sepertinya strategi terbaik adalah menggunakan salah satunya, dan menggantinya di luar Moment.js saat Anda membutuhkannya.

Jika Anda memiliki ide lain, buka kembali. Semoga berhasil!

Moment.js tidak dapat membedakan antara "Dia memasaknya dalam satu jam" dan "Saya akan kembali dalam satu jam".

@marwahaha , itu kesan saya juga. Sayang sekali, tapi itu benar. Sangat disayangkan bahwa kebanyakan alat l10n sangat memperhatikan bahasa Inggris sehingga mereka tidak dapat dimodifikasi untuk _fully_ mendukung lokal lain. Saya berharap Momen akan seperti Fasih .

Sampai saat itu, saya pikir ini jalan buntu.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat