Sostituzione della traduzione obsoleta che causa la mancanza di traduzione

Ciao a tutti.
Con l’aggiornamento che ho apportato circa 1 settimana fa, è apparso un problema di visualizzazione di un pulsante nella pagina del profilo utente come segue. Ho pensato che potesse essere risolto con l’aggiornamento da apportare nei giorni successivi, e sebbene abbia apportato gli aggiornamenti in corso, non è migliorato.

1 Mi Piace

Il testo funziona sul tuo profilo qui su Meta?

Hai personalizzato la stringa in passato?

Ho trovato anche questo argomento Turkish translation issue with share dialog quindi forse prova una ricostruzione.

4 Mi Piace

Non sembra esserci alcun problema in meta. Ma il problema persiste sul mio sito. Non ho apportato alcuna personalizzazione/localizzazione.
Ho anche provato la soluzione nel link che mi hai dato e ricostruito Discourse. Sfortunatamente non ha funzionato.

Hai provato un browser diverso o una finestra di navigazione in incognito / privata?

Grazie per la tua preoccupazione.
Ho provato su 4 browser diversi e sul cellulare. Posso dire chiaramente che non funziona.

Allora avrai probabilmente già provato anche la modalità provvisoria.

1 Mi Piace

Il problema persiste purtroppo anche in modalità provvisoria. . .

Spostato nel supporto:

Vedo il testo correttamente qui… sei sicuro di esserti aggiornato all’ultima versione assoluta?

1 Mi Piace

Quando controllo, vedo che è aggiornato.
Non riesco a capire cosa abbia causato questo.


Penso che questo sia correlato a

Sono stato in grado di riprodurre il problema per cui la stringa per le preferenze in turco era danneggiata. Ho personalizzato js.user.preferences prima dell’aggiornamento e dopo l’aggiornamento il nuovo js.user.preferences.title era danneggiato.
Quindi ho eseguito

TranslationOverride.where(translation_key: "js.user.preferences").delete_all
TranslationOverride.send(:reload_locale!)

e questo lo ha risolto :tada:

Ma aspetterei la conferma da qualcuno con più conoscenza prima di provare a farlo da solo su un sito di produzione.

3 Mi Piace

Quando controllo, il valore del testo sembra corretto.

Ho modificato il testo predefinito ma non ha funzionato comunque e lo stesso problema persiste.

È sicuro farlo in un ambiente di produzione? Qualcuno può guidarmi?
Nessuna personalizzazione del testo funziona sul forum. Non si applica solo a quest’area.

1 Mi Piace

TL;DR: L’override della traduzione esistente sovrascrive maleducatamente la traduzione personalizzata obsoleta con la nuova traduzione, causando problemi di tipo. Oppure, qui, non è riuscito ad aggiornare l’override della traduzione obsoleto a “obsoleto”.

Il problema

Il forum che gestisco ha un override per la traduzione js.user.preferences. Prima di questo commit, era una stringa, quindi l’override della traduzione funzionava bene.

Dopo questo commit, la chiave diventa un oggetto. Tuttavia, l’override della traduzione non rileva il tipo di chiave, ma la sovrascrive direttamente con la vecchia stringa definita. Ciò causa la mancanza della traduzione della chiave nell’interfaccia.

Come riprodurre

Per i forum più recenti, sembra che sia necessario inserire manualmente un record obsoleto per attivarlo.

INSERT INTO translation_overrides
  (locale, translation_key, value, created_at, updated_at)
VALUES 
  ('en', 'js.user.preferences', 'test', current_timestamp, current_timestamp);

Quindi modifica un testo del sito a caso per attivare l’aggiornamento.

Sembra che in qualche modo lo stato di questo override non sia stato aggiornato a “obsoleto”.

[5] pry(main)> TranslationOverride.last
  TranslationOverride Load (1.2ms)  SELECT "translation_overrides".* FROM "translation_overrides" ORDER BY "translation_overrides"."id" DESC LIMIT 1
=> #<TranslationOverride:0x00007f0b20a31e20
  id: 18,
  locale: "en",
  translation_key: "js.user.preferences",
  value: "test",
  created_at: Tue, 23 Jul 2024 17:08:17.317404000 UTC +00:00,
  updated_at: Tue, 23 Jul 2024 17:08:17.317404000 UTC +00:00,
  compiled_js: nil,
  original_translation: nil,
  status: "up_to_date">
2 Mi Piace

Ho spostato il tuo repro nei report precedenti per tenerli raggruppati. :+1:

1 Mi Piace

Wow, non avevo visto che c’era già una segnalazione di bug simile qui ()\n\nLa sto già analizzando, ma è strano, penso che dovrebbe funzionare bene… Non so cosa stia succedendo qui

2 Mi Piace

Dovrebbe essere sicuro farlo su un sito di produzione. :+1: (anche se si prega di eseguire un backup prima di tentare modifiche nella console di rails, poiché possono verificarsi incidenti)

Tuttavia, se nessuna personalizzazione del testo funziona, sei sicuro che si tratti dello stesso problema?

2 Mi Piace

Questo problema è stato risolto con l’ultimo aggiornamento. (3.4.0.beta1-dev)

1 Mi Piace

Sì, confermo anche che il problema è stato risolto con l’aggiornamento corrente.

2 Mi Piace

Per completare il tutto, ecco la PR per la correzione: :partying_face:

2 Mi Piace

Questo argomento è stato chiuso automaticamente dopo 14 ore. Non sono più consentite nuove risposte.