В случае если будем иметь большое к-во переводов, выйдет не очень хорошо...
...
"description": {
"ru": "Пакет с набором базовых элементов",
"en": "Package with a set of basic elements",
"ar": "صفقة مع مجموعة من العناصر الأساسية",
"te": "ప్రాథమిక మూలకాల ఒక సమితి తో ప్యాకేజీ",
"ko": "기본 요소들의 세트와 패키지",
"no": "Pakke med et sett av grunnleggende elementer",
"la": "Sarcina cum statuto elementa",
"ja": "基本的な要素のセットのパッケージ",
},
"description2": {
"ru": "Пакет с набором базовых элементов",
"en": "Package with a set of basic elements",
"ar": "صفقة مع مجموعة من العناصر الأساسية",
"te": "ప్రాథమిక మూలకాల ఒక సమితి తో ప్యాకేజీ",
"ko": "기본 요소들의 세트와 패키지",
"no": "Pakke med et sett av grunnleggende elementer",
"la": "Sarcina cum statuto elementa",
"ja": "基本的な要素のセットのパッケージ",
}
Однако, реализовать данный вариант наиболее сложнее, ибо все ключи (названия функционала) к которым будут привязаны переводы, будут динамическими (определяться пользователями/разработчиками).
Думаю, тут можно сделать следующим образом:
AccessFTP(dir) //Директория элемента, в которой хранятся все необходимые файлы
---------element(file) //Файл конфигурации элемента
---------script(file) //Скрипт
---------icons(dir) //Каталог с состояниями
--------------main.png(file) //Состояние
--------------new.ico(file) //Состояние
--------------end.ico(file) //Состояние
---------lang(dir) //Каталог с переводами
-------------ru(file) //Файл описания элемента
-------------en(file) //Файл описания элемента
-------------ar(file) //Файл описания элемента
Ну и состояния тоже тогда стоит поместить в суб директорию, ведь их может быть довольно много.