Moment: `sk.js`: Correction des problèmes de L10n (tchèques)

Créé le 12 mars 2020  ·  16Commentaires  ·  Source: moment/moment

Décrivez le bogue

La préposition za au sens de in in in a minute est un tchèque (un mot ou un usage emprunté à la langue tchèque), donc les moment za pár sekúnd est correct en tchèque et incorrect en slovaque. En slovaque, la préposition correcte est o dans la phrase.

Comportement prévisible

Par exemple: utilisez o pár second au lieu de za pár sekúnd (ce qui signifie: in a few seconds ).


Mise à jour: Un autre problème est le pred 3 dny qui devrait être pred 3 dňami . Pas un problème de moment , mais de dayjs , mon mauvais.

Help Wanted Language Up-For-Grabs

Commentaire le plus utile

Hm ... Peut-être pouvons-nous distinguer l'usage entre les durées et les moments. Je vais le laisser ouvert encore un peu.

Tous les 16 commentaires

@ pensées

  1. la déclaration dans ce ticket n'est pas vraie, c'est une construction de langue slovaque valide
  2. tout a été discuté ici https://github.com/moment/moment/pull/5409#issuecomment -618482801
  3. la solution est .replace('za', 'o') , la meilleure solution dans le moment serait de fournir un paramètre de contexte à la traduction

@ k2s , bien que ma déclaration dans l'OP ne soit pas entièrement correcte, elle l'est en partie. Comme la mise en œuvre actuelle du problème dans Moment. Et comme l'implémentation n'est pas entièrement correcte, je pense qu'elle devrait être corrigée. Je n'ai aucune idée de comment, mais à mon humble avis, la sortie devrait être toujours correcte.

La solution proposée ( .replace('za', 'o') ) n'est même pas une solution de contournement car elle laisse la sortie _partiellement_ correcte, bien qu'inversée.

Sur la base des sources de votre commentaire au # 5409 (qui sont en effet valides), j'ai écrit ce qui suit dans un commentaire :

  • za est utilisé lorsque nous parlons d'une _période_ pendant laquelle quelque chose est fait (comme _Il l'a fait cuire en une heure._);
  • o est utilisé lorsque nous parlons d'un _point dans le temps_ (comme _Elle est de retour dans une minute._).

Par conséquent, la sortie actuelle n'est pas correcte pour o (mais correcte pour za ) et si l'on choisit d'utiliser pour 'solution', ils obtiendront une sortie correcte pour o , mais pas pour za .

@tukusejssirs merci d'essayer d'implémenter et d'améliorer le support de la langue slovaque dans les bibliothèques. en ce qui concerne la bibliothèque moment, vous devez garder à l'esprit qu'il s'agit d'une bibliothèque établie, utilisée par de nombreux projets et que pour changer quelque chose n'a surtout pas cassé le code existant.

Le nom de ce ticket indique que la za retournée est grammaticalement incorrecte, ce qui signifierait qu'il s'agit d'un bug, il faudrait une correction. ce n'est pas vrai.

pour renvoyer correctement za ou o un contexte supplémentaire est requis, ce qui n'est pas nécessaire pour l'anglais et qui, à ma connaissance, n'est pas pris en charge par les fonctions de moment associées

Je comprends votre désir de l'avoir parfait et le moyen d'y parvenir est de créer un plugin moment qui fournira des méthodes avec un support contextuel.

Eh bien, j'ai essayé de passer la même chose: # 5206, qui a été inversé par la suite :-(
Je ne crois pas qu'il y ait autant d'utilisateurs slovaques qui remarqueraient de toute façon za / o , alors pourquoi ils gardent la mauvaise version, je ne comprends pas. Les deux sont valides, bien que je suppose que la plupart des utilisateurs ont besoin du formulaire "dans le temps dans le futur", pour lequel la préposition o devrait être utilisée. La forme "cela a pris du temps / cela a été fait en", pour laquelle la préposition za est utilisée en slovaque, est un cas beaucoup moins fréquent.

@dakujem , merci pour votre commentaire. Cela me fait sentir que je ne suis pas seul dans ce cas. 😄

Quand j'ai créé ce PR, j'ai pensé que nous devions toujours utiliser o au lieu de za , mais @ k2s m'a prouvé que commentaire ) que les deux sont corrects, mais pas interchangeables.

Par conséquent, de mon point de vue _current_, si nous utilisons soit za seulement ou o seulement, les deux sont tout aussi faux car tous les deux ne sont _pas toujours vrais_. J'aimerais pouvoir proposer un algorithme (une fonction) qui traiterait les cas où la préposition doit être utilisée, mais je ne suis pas très doué en programmation… peut-être que vous pouvez le faire. : smiley:

En effet, les deux sont utilisés. Je parierais que o est cependant plus fréquent. Mais...

Malheureusement, je ne suis pas un gars de JS 🤷, mon plugin JS serait mauvais 😆

@dakujem , actuellement nous n'avons pas besoin du _code_, mais de l '_algorithme_ - comment vérifier quelle préposition Moment doit sortir?

Je ne sais pas comment nous pouvons faire la distinction entre les points dans le temps et les périodes.
Je suppose que je ne ferai aucun changement ici.

Les paramètres régionaux peuvent toujours être remplacés par des utilisateurs individuels.
https://momentjs.com/docs/#/customization/

C'est vraiment dommage.

Hm ... Peut-être pouvons-nous distinguer l'usage entre les durées et les moments. Je vais le laisser ouvert encore un peu.

Cela me semble bien.

Y a-t-il un moyen d'obtenir ces «métadonnées» maintenant? Ou est-ce quelque chose que vous devez implémenter dans Moment?

Je ne sais pas ce que tu veux dire.

pour l'instant:
Si vous utilisez des durées, vous pouvez mettre à jour les paramètres régionaux pour o.
Si vous utilisez des moments, il utilisera déjà za.

Je ne sais pas ce que tu veux dire.

pour l'instant:
Si vous utilisez des durées, vous pouvez mettre à jour les paramètres régionaux pour o.
Si vous utilisez des moments, il utilisera déjà za.

Après réflexion, cela ne résoudra pas ce problème, car in an hour signifie à la fois o hodinu (comme dans _Je serai de retour dans une heure._, qui utilise un point dans le temps, c'est-à-dire now + 1 hour ) et za hodinu (comme dans He cooked it in an hour. , qui parle d'une durée).

Si vous pensez toujours que cela résoudra ce problème, partagez avec moi quelques extraits de code sur la façon dont je pourrais faire la distinction entre les deux. Merci.

J'ai relu cette discussion.

Il semble que la différence entre za et o dépend du contexte spécifique de la phrase. Il y a probablement des textes linguistiques qui en discutent, mais cela semble plus spécifique que ce qui peut être implémenté dans cette bibliothèque. Par exemple, Moment.js ne peut pas faire la distinction entre "Il l'a cuisiné dans une heure" et "Je serai de retour dans une heure".

Il semble que la meilleure stratégie consiste à en utiliser un et à le remplacer en dehors de Moment.js lorsque vous en avez besoin.

Si vous avez d'autres idées, n'hésitez pas à rouvrir. Bonne chance!

Moment.js ne peut pas faire la distinction entre "Il l'a cuisiné dans une heure" et "Je serai de retour dans une heure".

@marwahaha , c'était aussi mon impression. C'est dommage, mais c'est vrai. Il est dommage que la plupart des outils l10n soient tellement préoccupés par l'anglais qu'ils ne peuvent pas être modifiés pour prendre en charge _entièrement_ d'autres paramètres régionaux. J'aimerais que Moment soit comme Fluent .

Jusque-là, je pense que c'est une impasse.

Cette page vous a été utile?
0 / 5 - 0 notes