{"action":"created","issue":{"url":"https://api.github.com/repos/tractorcow/silverstripe-fluent/issues/156","repository_url":"https://api.github.com/repos/tractorcow/silverstripe-fluent","labels_url":"https://api.github.com/repos/tractorcow/silverstripe-fluent/issues/156/labels{/name}","comments_url":"https://api.github.com/repos/tractorcow/silverstripe-fluent/issues/156/comments","events_url":"https://api.github.com/repos/tractorcow/silverstripe-fluent/issues/156/events","html_url":"https://github.com/tractorcow/silverstripe-fluent/issues/156","id":113329596,"number":156,"title":"Unable to set a translated field to an empty string.","user":{"login":"bummzack","id":1006185,"avatar_url":"https://avatars.githubusercontent.com/u/1006185?v=3","gravatar_id":"","url":"https://api.github.com/users/bummzack","html_url":"https://github.com/bummzack","followers_url":"https://api.github.com/users/bummzack/followers","following_url":"https://api.github.com/users/bummzack/following{/other_user}","gists_url":"https://api.github.com/users/bummzack/gists{/gist_id}","starred_url":"https://api.github.com/users/bummzack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bummzack/subscriptions","organizations_url":"https://api.github.com/users/bummzack/orgs","repos_url":"https://api.github.com/users/bummzack/repos","events_url":"https://api.github.com/users/bummzack/events{/privacy}","received_events_url":"https://api.github.com/users/bummzack/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/tractorcow/silverstripe-fluent/labels/bighardbutwouldlike","name":"bighardbutwouldlike","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":22,"created_at":"2015-10-26T10:47:51Z","updated_at":"2016-05-11T10:51:02Z","closed_at":null,"body":"If a user changes the field value of a \"translation\" to be empty, the default value gets copied over.\r\n\r\nExample:\r\nFluent is configured with 3 Languages, DE, FR, IT, where DE is the default.\r\nUser edits a Page and fills in content for all 3 languages (say in the \"Title\" and \"Content\" field).\r\n\r\nNow if the user wanted to remove the content in any of these languages (eg. selecting \"Italian\" and then deleting all the content inside the \"Content\" field), the content will then be reset to another language.\r\n\r\nI know that this is probably due to a fallback mechanism in case a field isn't translated, but it makes for a very weird experience for CMS users (if they want the field value to be empty, they have to enter whitespace).\r\n\r\nI guess this is a tricky problem to solve. Maybe a configuration-option to disable the fallback could be introduced? Maybe even on a \"per field\" level?"},"comment":{"url":"https://api.github.com/repos/tractorcow/silverstripe-fluent/issues/comments/218425568","html_url":"https://github.com/tractorcow/silverstripe-fluent/issues/156#issuecomment-218425568","issue_url":"https://api.github.com/repos/tractorcow/silverstripe-fluent/issues/156","id":218425568,"user":{"login":"bummzack","id":1006185,"avatar_url":"https://avatars.githubusercontent.com/u/1006185?v=3","gravatar_id":"","url":"https://api.github.com/users/bummzack","html_url":"https://github.com/bummzack","followers_url":"https://api.github.com/users/bummzack/followers","following_url":"https://api.github.com/users/bummzack/following{/other_user}","gists_url":"https://api.github.com/users/bummzack/gists{/gist_id}","starred_url":"https://api.github.com/users/bummzack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bummzack/subscriptions","organizations_url":"https://api.github.com/users/bummzack/orgs","repos_url":"https://api.github.com/users/bummzack/repos","events_url":"https://api.github.com/users/bummzack/events{/privacy}","received_events_url":"https://api.github.com/users/bummzack/received_events","type":"User","site_admin":false},"created_at":"2016-05-11T10:51:02Z","updated_at":"2016-05-11T10:51:02Z","body":"@Friksel I just made the `en_US` and `en_GB` example to show where the automatic default translation makes a lot of sense. That's why I'm in favor of a configuration based approach, so that the default is the current system, but you can disable inheritance via config (as outlined by @tractorcow above)"}}