| Bes   
   Posts: 5453
 
 | 
			| 
 
				 (01.12.2017 23:26)Berserker Wrote:     я пишу так:BerserkerПопутно создаю 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);
 Команда получает перевод строки или возвращает сам ключ, если перевод не найден.
 , в последствии ограничение в 7 параметров осталось для ERA2 ?
			 |  | 
	| 06.11.2020 00:41 |  | 
	
		| Berserker   
   
   Posts: 16786
 
 |  | 
	| 06.11.2020 01:24 |  | 
	
		| Elmore   
 Posts: 663
 
 | 
			| 
 
				 (05.06.2021 01:20)Elmore Wrote:  Как вы делаете переводы своих модов? Вопрос к тем, кто не пишет перевод самостоятельно, а пользуется переводчиком.Berserker
 Можно сделать такую схему:
 - Все тексты выносить в отдельный файл и оформлять по единому шаблону. Например в ini с минимум лишнего или типа того.
 - В программе указать файл для перевода и файл для сохранения текста. Подходит для любых языков.
 - Программой автоматом пройтись по файлу, по очереди брать каждую строку, кидать в браузере на translate.google.com и записывать в новый файл с таким же шаблоном.
 
 google api бесплатное не в счет, там нет ИИ алгоритмов при переводе. Только в платной версии.
 , увидел 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: 16786
 
 |  | 
	| 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: 16786
 
 |  | 
	| 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: 16786
 
 |  | 
	| 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: 16786
 
 |  | 
	| 03.04.2022 17:48 |  | 
	
		| Archer30   
   
   Posts: 1192
 
 |  | 
	| 03.04.2022 17:51 |  |