안녕하세요.
약 1주 전에 제가 진행한 업데이트 이후, 사용자 프로필 페이지에서 다음과 같은 버튼 표시 문제가 발생했습니다. 이후 며칠 안에 진행될 업데이트로 수정될 것으로 생각했으나, 진행 중인 업데이트를 적용해 보았음에도 불구하고 문제가 해결되지 않았습니다.
메타에서 프로필에 텍스트가 정상적으로 작동하나요?
과거에 문자열을 사용자 지정해 보셨나요?
이 주제도 찾았습니다: Turkish translation issue with share dialog 재빌드를 시도해 보시는 것도 좋을 것 같습니다.
메타에는 문제가 없는 것 같습니다. 하지만 제 사이트에서는 문제가 여전히 지속되고 있습니다. 커스터마이징이나 로컬라이제이션을 하지 않았습니다.
또한, 제공해 주신 링크의 해결 방법도 시도해 보고 Discourse를 재빌드해 보았지만, 아쉽게도 효과가 없었습니다.
다른 브라우저나 시크릿/인코그니토 탭을 시도해 보셨나요?
걱정해 주셔서 감사합니다.
4개의 다른 브라우저와 모바일 기기에서 시도해 보았지만, 확실히 말씀드리면 작동하지 않습니다.
그렇다면 아마도 안전 모드를 이미 시도해 보셨을 것입니다.
이 문제는 다음과 관련이 있다고 생각합니다.
터키어로 된 환경 설정 문자열이 깨지는 문제를 재현할 수 있었습니다. 업데이트 전에 js.user.preferences를 사용자 정의했는데, 업데이트 후 새로운 js.user.preferences.title이 깨져 있었습니다.
이후 다음을 실행했습니다.
TranslationOverride.where(translation_key: "js.user.preferences").delete_all
TranslationOverride.send(:reload_locale!)
이렇게 하면 문제가 해결되었습니다 ![]()
하지만 프로덕션 사이트에서 직접 이 작업을 시도하기 전에 더 많은 지식을 가진 사람의 확인을 기다리는 것이 좋을 것 같습니다.
프로덕션 환경에서 이렇게 하는 것이 안전한가요? 누군가 알려주실 수 있을까요?
포럼에서 텍스트 커스터마이즈가 작동하지 않습니다. 이 영역에만 해당되는 문제가 아닙니다.
요약: 기존 번역 오버라이드가 오래된 사용자 정의 번역을 새 번역으로 거칠게 덮어쓰면서 타입 문제를 일으킵니다. 또는, 이 경우 오래된 번역 오버라이드의 상태를 "outdated"로 업데이트하지 못했습니다.
문제
제가 관리하는 포럼에는 js.user.preferences 번역에 대한 오버라이드가 있습니다. 이 커밋 이전에는 문자열이므로 번역 오버라이드가 정상적으로 작동했습니다.
이 커밋 이후 키가 객체가 됩니다. 그러나 번역 오버라이드는 키의 타입을 감지하지 않고, 정의된 오래된 문자열로 직접 덮어씁니다. 이로 인해 인터페이스에서 해당 키의 번역이 누락됩니다.
재현 방법
최신 포럼의 경우, 트리거를 만들기 위해 오래된 레코드를 수동으로 삽입해야 하는 것 같습니다.
INSERT INTO translation_overrides
(locale, translation_key, value, created_at, updated_at)
VALUES
('en', 'js.user.preferences', 'test', current_timestamp, current_timestamp);
그런 다음 업데이트를 트리거하기 위해 사이트 텍스트를 임의로 수정합니다.
어떤 이유인지 이 오버라이드의 상태가 "outdated"로 업데이트되지 않은 것 같습니다.
[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">
리포트를 한데 모으기 위해 재현 스크립트를 이전 보고서로 옮겼습니다. ![]()
와, 여기 같은 버그 리포트가 있다는 걸 못 봤네요 ()
이미 추적하고 있지만, 이상하네요. 이건 정상적으로 동작해야 할 것 같은데… 여기서 무슨 일이 일어나고 있는지 모르겠어요
프로덕션 사이트에서 이렇게 하는 것은 안전할 것입니다.
(다만 rails 콘솔에서 변경 사항을 시도하기 전에 백업을 꼭 받아 두세요. 실수가 일어날 수 있기 때문입니다)
하지만 텍스트 커스터마이징이 전혀 작동하지 않는다면, 이것이 같은 문제라고 확신합니까?
이 문제는 최신 업데이트(3.4.0.beta1-dev)로 해결되었습니다.
네, 현재 업데이트로 문제가 해결되었음을 확인합니다.
이 주제는 14시간 후 자동으로 닫혔습니다. 더 이상 답변을 남길 수 없습니다.












