Problema con la sovrascrittura della traduzione pluralizzata (conteggio)

Ciao :wave:

Ho notato che l’ultimo aggiornamento utilizza la versione one delle stringhe pluralizzate se il conteggio è 1. Il problema è che finora le stringhe pluralizzate hanno sempre utilizzato la versione other anche se il conteggio è 1 e su /admin/customize/site_texts/ non c’è opzione per trovare la versione one della stringa, ad esempio per la lingua ungherese. Tuttavia, in ungherese non c’è motivo di usare entrambe le versioni (one e other) perché saranno praticamente le stesse.

Riproduzione:

  1. Cambia la localizzazione, ad esempio in ungherese.
  2. Vai su /admin/customize/site_texts/.
  3. Cerca, ad esempio, js.topic_count_latest e cambia il testo.
  4. Controlla sul banner Vedi nuovi argomenti o argomenti aggiornati.
  5. Utilizzerà il valore predefinito quando è disponibile solo 1 aggiornamento perché la stringa che hai modificato è la versione other. Se ci sono più argomenti nuovi o aggiornati, il testo cambierà in quello che hai aggiunto in precedenza.

Grazie :slightly_smiling_face:

3 Mi Piace

Ciao @Don

Ho eseguito questo test in cinese semplificato e non sono riuscito a riprodurre questo problema :thinking:

Ho aggiunto un carattere extra (evidenziato) alla stringa originale. E la modifica è avvenuta quando il conteggio era 1.

1 Mi Piace

Entrambe le lingue hanno solo “other” nella loro definizione di plurali

Ma l’ungherese ha ancora traduzioni separate per “one”.

cosa che il cinese non ha

Mi chiedo perché la versione separata “one” sia stata creata in Crowdin

2 Mi Piace

Sì, ci sono due versioni nella localizzazione ungherese (one e other), ma penso che non abbia mai usato la versione one fino ad ora poiché non è disponibile nemmeno nella personalizzazione del testo dell’amministratore. È sempre tornato all’ other.

1 Mi Piace

Posso chiedere, l’ungherese ha forme plurali? Se sì, forse dovremmo aggiungere la definizione :one a plurals.rb

1 Mi Piace

Ho trovato la causa del problema. L’I18n di Discourse si basa sulla definizione plurale di una libreria esterna:

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse-i18n/src/index.js#L7

Ma in questa libreria, possiamo vedere che l’ungherese è definito come plurals di tipo a, che distinguono tra uno e altro.

Non capisco affatto l’ungherese, forse qualcuno potrebbe aiutarmi a indicare se la loro definizione plurale è sbagliata o la nostra :slightly_smiling_face:

3 Mi Piace

Ciao :waving_hand:

Grazie per aver controllato. :heart:

Bene, in ungherese abbiamo il plurale ma non sempre, il che lo rende un po’ difficile. Ma lasciami spiegare alcuni semplici esempi.

La maggior parte delle parole ungheresi ha una versione plurale.
Se è non numerabile.
Es.
Gruppo → Gruppi = Csoport → Csoportok
Argomento → Argomenti = Téma → Témák

Quindi penso che la libreria esterna sia corretta nel dire che abbiamo la forma plurale.

Ma non usiamo il plurale se c’è un numero (conteggio) prima delle parole.
Se è numerabile.
Es.
1 gruppo → 2 gruppi = 1 csoport → 2 csoport
1 argomento → 2 argomenti = 1 téma → 2 téma


Se controlli il file della lingua ungherese, puoi vedere che i plurali sono sempre gli stessi.

Tuttavia, vedo che ci sono stringhe che non usano count nella forma one.

Come questa:

Va bene perché non abbiamo bisogno del conteggio in questo caso quando c’è solo 1 argomento, è abbastanza ovvio. Ma l’altra differenza qui è solo che other appare un numero. Il testo è lo stesso, indipendentemente dal fatto che ci sia un numero o meno.


Quindi, se me lo chiedi, rimuoverei solo la forma one.

Ma se proviene da una libreria esterna, che penso sia corretta, perché l’ungherese ha la forma plurale ma non nella maggior parte dei casi in cui Discourse la usa. Quindi probabilmente aggiungere la forma one per avere la possibilità di personalizzarla sarebbe la soluzione più semplice per prevenire i problemi. Sì, è quasi la stessa cosa, ma almeno possiamo personalizzarla nell’amministrazione.

Non lo so, è una domanda difficile. Come tutti coloro che gestiscono un forum ungherese e hanno apportato personalizzazioni nell’amministrazione, hanno modificato solo la forma other. Perché è sempre ricaduta su other da one. Quindi, se aggiungiamo la forma one, gli amministratori dovranno rivedere nuovamente tutte le stringhe plurali per modificare anche quella versione in modo che sia uguale a other.

Grazie :slightly_smiling_face:

2 Mi Piace

Grazie per la tua risposta dettagliata! Le correzioni dei bug sono state unite:

La correzione aggiunge la forma :one per l’ungherese. I futuri traduttori di crowdin potranno provare a rimuovere %{count} per il singolare per renderlo diverso dalla forma :other.

5 Mi Piace

Grazie per la rapida correzione. :heart:

Penso che vada bene, %{count} segue bene la localizzazione inglese. Che inoltre non usa %{count} in alcune stringhe plurali nella forma one. Ora la modifica è solo che possiamo modificare anche la forma one in amministrazione, il che penso sia sufficiente in questo caso. Penso che se funziona correttamente non c’è bisogno di altre modifiche. Aggiornerò presto per testarlo. :slightly_smiling_face:

Sembra che tutto funzioni in modo eccellente :slightly_smiling_face: È stato un ottimo passatempo cambiare tutto questo, ma ci sono quasi riuscito. :smile: Grazie ancora e grazie anche a @Moin per averlo fatto notare. :heart:

4 Mi Piace

Questo argomento è stato chiuso automaticamente 2 giorni dopo l’ultima risposta. Non sono più consentite nuove risposte.

Tracciamento del problema più ampio su Inconsistency in plural definition

2 Mi Piace