Столкнулся с интересной проблемой при совместно разработке проекта. Проблема заключалась в том, что каждый раз, когда я делал коммит следом за моим коллегой, то возникала проблема при работе автоматического слияния конфликтов в git. Мало того, что конфликты в файле возникали постоянно, так ещё и diff показывал, что разница между моими изменениями и изменениями в репозитории отличалась не какими-то строками, а полным содержимым файлов. Казалось бы, откуда такая разница. И такое случалось даже если поправить всего одну переменную локализации. Чтобы понять что вообще происходит, я пошёл в настройки IDE и отключил прозрачное native-to-ascii преобразование property файлов. Эта настройка есть внутри IDE в Settings -> Editor -> File Encodings.
>
Checkbox Transparent native-to-ascii conversion у меня стоял в значении true. Это позволило мне видеть значение свойств в файлах с русской локализации не в виде UNICODE последовательностей, а на родном русском языке. Однако у Inteliji Idea есть одно не очень приятное поведение при включенном флаге для автоматического перевода. Все UNICODE последовательности приводятся к верхнему регистру. Каждый раз когда я вносил изменения в файл локализации для русского. Значения всех переменных приводились к верхнему регистру. И ввместо такого значения:
my.new.variable= \u041e\u0442\u043c\u0435\u043d\u0430
Я получал такое:
my.new.variable= \u041E\u0442\u043C\u0435\u043D\u0430
Из-за этого получалось, что каждый раз когда я производил push в репозиторий, файл локализации полностью приводился к верхнему регистру. А когда кто-то делал push из моих коллег (использующих NetBeans или же воспользовавшихся лайфхаком, который будет ниже), то весь файл снова преобразовывался к lowercase. Из-за этого и приходился каждый раз делать merge сего файла.
Перейдем же к простому решению этой проблемы.
Чтобы решить эту проблему нужно добавить дополнительный ключ используемый при запуске IDE виртуальной машиной java.
Выглядит этот ключ следующим образом
-Didea.native2ascii.lowercase=true
Есть несколько способов добавить этот ключ. Можно создать файл vmoptions внутри директории bin внутри IDEA_HOME, но т.к. у всех она установлена в разные места, то воспользуемся более хомячковым способом. Идём внутри IDE в Help -> Edit Custom VM Options. Нам откроется такой чудесный файл

Либо можно это сделать через JetBrainsToolbox. Выбираем в нём нашую IDE. Кликаем на синий гексогон справа. Settings -> Java Virtual Machine Options -> Edit и добавляем туда нужный ключ. Перезапускаем IDE и вуаля! Всё работает и файлы свойств в нижнем регистре.
-Didea.native2ascii.lowercase=true
На этом, пожалуй, откланяюсь!