Для задания правильного относительного пути до файла register.js в файле scripts.js, находящимся в папке shared/js, не используя названия папок ru, en, de, можно использовать следующий подход:
1. Определите структуру папок проекта:
```
project/
├── shared/
│ └── js/
│ └── scripts.js
├── ru/
│ └── register.js
├── en/
│ └── register.js
├── de/
│ └── register.js
└── build/
└── ...
```
2. В файле scripts.js вы можете использовать относительный путь, используя `../` для перемещения на уровень выше:
```javascript
// shared/js/scripts.js
import register from '../../ru/register.js'; // Относительно shared/js
// В остальной части кода используйте register
```
Обратите внимание, что использование трех `../` находит папку русского языка и подключает файл register.js из соответствующей папки (ru).
3. При сборке проекта в папке build/ все файлы должны быть собраны вместе, соответственно, пути в собранном проекте должны быть адаптированы к структуре сборки, и уровень вложенности может быть изменен.
Например, если файл scripts.js был собран в папку build/js/, и файлы register.js были собраны в папку build/ru/, то путь будет таким:
```javascript
// build/js/scripts.js
import register from '../ru/register.js'; // Относительно build/js
// В остальной части кода используйте register
```
Таким образом, вы сможете правильно задать относительный путь и подключить файлы из соответствующих папок при сборке проекта.