Bes 
 
 
		
		
		
			
			
			
 
 
			
Posts: 5453 
	
		
	 | 
	
		
			
			 
			
				 (01.12.2017 23:26)Berserker Wrote:     я пишу так: 
Попутно создаю Lang\test.json с содержимым: 
Code: 
 { 
  "hero_is_x_age": "@hero@ достиг @age@ лет" 
}
  
 
Выводится: «Berserer достиг 27 лет»   
 
Из каких элементов состоит локализация: 
1) Автоматическая подгрузка языковых json-файлов формата { "глобальный уникальный ключ": "перевод", ... } 
2) Совпадающие строки из разных модов подчиняются приоритетам модов (последний установленный весомее) 
3) Перевод по ключу можно загрузить из ЕРМ или плагина. 
4) В перевод можно передать до 7 именованных параметров (плагинам — неограниченно), которые будут подставлены в перевод при необходимости. 
@имя параметра@ 
5) SN:T(ключ)/?(z-переменная)/(параметр 1)/(значение 1)/(параметр N)/(значение N); 
Команда получает перевод строки или возвращает сам ключ, если перевод не найден. 
Berserker, в последствии ограничение в 7 параметров осталось для ERA2 ?
			  
			
			
			
		 |  
	 
 | 
	| 06.11.2020 00:41 | 
	
		
	 | 
	
		
		Berserker 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 16788 
	
		
	 | 
	
		
 | 
	| 06.11.2020 01:24 | 
	
		
	 | 
	
		
		Elmore 
 
 
		
		
		
			
			
			 
			
Posts: 663 
	
		
	 | 
	
		
			
			 
			
				 (05.06.2021 01:20)Elmore Wrote:  Как вы делаете переводы своих модов? Вопрос к тем, кто не пишет перевод самостоятельно, а пользуется переводчиком. 
 
Можно сделать такую схему: 
- Все тексты выносить в отдельный файл и оформлять по единому шаблону. Например в ini с минимум лишнего или типа того. 
- В программе указать файл для перевода и файл для сохранения текста. Подходит для любых языков. 
- Программой автоматом пройтись по файлу, по очереди брать каждую строку, кидать в браузере на translate.google.com и записывать в новый файл с таким же шаблоном. 
 
google api бесплатное не в счет, там нет ИИ алгоритмов при переводе. Только в платной версии. 
Berserker, увидел json из ACM. Ну суть та же. Если все будут использовать единый метод, прога возьмет весь текст и прогонит через переводчик (в ней как раз используется js и nodejs). 
Я себе для другой задачи сделал, может смогу и для героев сделать. Сложно сказать, т.к. вижу код вместе с текстом используется и он не всегда даже выделен какими-то спец символами, но вроде гугл такое не переводит. Только вот там распространяемый архив будет небольшой, а для запуска автоматически скачает полноценный браузер ~700мб. 
Либо же должно "что-то" еще произойти, чтобы все новые моды хранили тексты только в json (а еще лучше в специальной папке "languages/lang_name" и менять язык где-то в файле-конфиге). Это даст возможность, хоть и не идеально, но получить мультиязычность модов.
			  
			
			
  
 
			
				
(This post was last modified: 05.06.2021 23:28 by Elmore.)
 
			 
		 |  
	 
 | 
	| 05.06.2021 23:21 | 
	
		
	 | 
	
		
		Berserker 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 16788 
	
		
	 | 
	
		
 | 
	| 06.06.2021 00:29 | 
	
		
	 | 
	
		
		Elmore 
 
 
		
		
		
			
			
			 
			
Posts: 663 
	
		
	 | 
	
		
			
			 
			
				{~%Z6}%Z5%Z-7 Fire Shield{~} 
Вот с таким сложнее. Там может еще что-то быть, кроме {}, @@, %   ?
			 
			
			
  
 
			
		 |  
	 
 | 
	| 06.06.2021 01:07 | 
	
		
	 | 
	
		
		Elmore 
 
 
		
		
		
			
			
			 
			
Posts: 663 
	
		
	 | 
	
		
			
			 
			
				Сложность в определении нужного. В данном случае текст из 2х слов и получается: 
[{~%Z6}][%Z5%Z-7] [Fire Shield][{~}] 
от % до пробела, если не %% 
Но пока думаю, как определять процент в середине слова и как обрабатывать... остальное легко. 
Такая ситуация "{}%что-то" или "%что-то{}" слитно может быть где-то, кроме начала и конца строки?
			 
			
			
  
 
			
				
(This post was last modified: 06.06.2021 02:20 by Elmore.)
 
			 
		 |  
	 
 | 
	| 06.06.2021 02:17 | 
	
		
	 | 
	
		
		Berserker 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 16788 
	
		
	 | 
	
		
 | 
	| 06.06.2021 02:53 | 
	
		
	 | 
	
		
		Elmore 
 
 
		
		
		
			
			
			 
			
Posts: 663 
	
		
	 | 
	
		
			
			 
			
				Berserker, в json возможна ситуация кроме key.key.value ?
			 
			
			
  
 
			
				
(This post was last modified: 11.06.2021 15:14 by Elmore.)
 
			 
		 |  
	 
 | 
	| 11.06.2021 15:11 | 
	
		
	 | 
	
		
		Berserker 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 16788 
	
		
	 | 
	
		
 | 
	| 11.06.2021 16:25 | 
	
		
	 | 
	
		
		Elmore 
 
 
		
		
		
			
			
			 
			
Posts: 663 
	
		
	 | 
	
		
			
			 
			
				Понял, значит будет проверять чуть больше.
			 
			
			
  
 
			
				
(This post was last modified: 11.06.2021 17:34 by Elmore.)
 
			 
		 |  
	 
 | 
	| 11.06.2021 17:33 | 
	
		
	 | 
	
		
		Archer30 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 1192 
	
		
	 | 
	
		
			
			 
			
				I have a bit of difficulty working on non-ascii characters ( ») with JSON, it doesn't seem to have any way to be shown in the game correctlyy.
 
Screenshot:
  
The  » symbol is both in my ert and json. The one from ert was displayed correctly (blue), while the one from json was just displayed as ? (red).
 
json:
 
Code: 
 { 
    "es":{ 
        "747":{ 
            "basicDesc": "\n{»} {10%} of unused movement points convert to experience points.  ", 
            "advancedDesc": "\n{»} {20%} of unused movement points convert to experience points.    ", 
            "expertDesc": "\n{»} {30%} of unused movement points convert to experience points." 
        } 
    } 
}
  
erm:
 
I wonder if there is a way to solve it for json, otherwise I may have to do a mix of json +ert.   
			 
			
			
  
Latest ERA mods and scripts in development -  My GitHub
			
				
(This post was last modified: 03.04.2022 17:52 by Archer30.)
 
			 
		 |  
	 
 | 
	| 03.04.2022 13:33 | 
	
		
	 | 
	
		
		Berserker 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 16788 
	
		
	 | 
	
		
 | 
	| 03.04.2022 17:48 | 
	
		
	 | 
	
		
		Archer30 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 1192 
	
		
	 | 
	
		
 | 
	| 03.04.2022 17:51 | 
	
		
	 |