Перейти к содержимому


Фотография

Перевод плагина


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 9

#1 Lider99

Lider99

    Пользователь

  • Пользователь
  • PipPipPip
  • 152 сообщений

Отправлено 18 Апрель 2020 - 23:30

Здравствуйте!!!
Как переводит слова который написано в исходнике ?
Плагин не имеет никаких текстовых файлов (phrases.txt)
Я попробовал переводит но не получилось (
вместе слов (???????????????) 


Сообщение отредактировал Lider99: 18 Апрель 2020 - 23:35


#2 RyanAnderson

RyanAnderson

    Пользователь

  • Пользователь
  • PipPipPip
  • 303 сообщений

Отправлено 19 Апрель 2020 - 0:03

Попробуй кодировку в исходнике поставить на UTF 8 без BOM. И редактируй через Notepad+


  • Lider99 это нравится

#3 Alexander_Mirny

Alexander_Mirny

    Пользователь

  • Пользователь
  • PipPipPip
  • 369 сообщений

Отправлено 19 Апрель 2020 - 0:04

Ну ты плагин скидывай сюда посмотрим.


  • Lider99 это нравится

#4 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 102 сообщений

Отправлено 19 Апрель 2020 - 0:48

Файл перевода добавить не сложно. Главное, знать, как)

Например, я сделал перевод для плагина на кик игрока, за долгое подключение:

kickloadstuckers.sp

Скрытый текст

kickloadstuckers.phrases.txt

Скрытый текст

colors.inc

Скрытый текст

Сообщение отредактировал BloodyBlade: 19 Апрель 2020 - 14:07

  • Lider99 это нравится

#5 Medusa

Medusa

    Пользователь

  • Пользователь
  • PipPipPip
  • 196 сообщений

Отправлено 19 Апрель 2020 - 13:19

Здравствуйте!!!
Как переводит слова который написано в исходнике ?
Плагин не имеет никаких текстовых файлов (phrases.txt)
Я попробовал переводит но не получилось (
вместе слов (???????????????) 

Тут смотри, всё детально расписано: https://fiksiki.3dn.ru/forum/11-30-1


  • Lider99 это нравится

#6 Lider99

Lider99

    Пользователь

  • Пользователь
  • PipPipPip
  • 152 сообщений

Отправлено 19 Апрель 2020 - 21:59

Тут смотри, всё детально расписано: https://fiksiki.3dn.ru/forum/11-30-1

блин ( я менял кодировку после редактирование по этому не сработал ,
Спасибо помог )


Ну ты плагин скидывай сюда посмотрим.

я хотел сам научится )
уже все)



#7 Lider99

Lider99

    Пользователь

  • Пользователь
  • PipPipPip
  • 152 сообщений

Отправлено 13 Май 2020 - 1:15

Файл перевода добавить не сложно. Главное, знать, как)

Например, я сделал перевод для плагина на кик игрока, за долгое подключение:

kickloadstuckers.sp

Скрытый текст

kickloadstuckers.phrases.txt

Скрытый текст

colors.inc

Скрытый текст

а по конкретнее можно ?
в каком часте кода нужно добавить ? и какие ?



#8 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 102 сообщений

Отправлено 14 Май 2020 - 23:00

Lider99,

Как я сделал:

Оригинал был: PrintToChatAll("%N was admin kicked for being stuck in connecting state", i);

Итог: CPrintToChatAll("%t", "%N was admin kicked for being stuck in connecting state", i);

"%t" - это означает, что строчка будет запрашивать перевод для сообщения.

+ добавил после все инклюдов строчку: #include <colors> , чтобы, можно было в файле перевода добавить цвета сообщению.

Если бы, вместо PrintToChatAll("%t", "%N was admin kicked for being stuck in connecting state", i); было бы:

PrintToChat(client, "%N was admin kicked for being stuck in connecting state"); 

или

PrintToChat(client, "%N was admin kicked for being stuck in connecting state", client);

то, это бы выглядело так:

CPrintToChat(client, "%t", "%N was admin kicked for being stuck in connecting state");

или 

CPrintToChat(client, "%t", "%N was admin kicked for being stuck in connecting state", client);

 

На счет KickClient:

Оригинал: KickClient(client, "You were stuck Connecting for too long");

Итог: KickClient(client, "%t", "You were stuck Connecting for too long"); , чтобы перевести сообщение, которое покажется кикнутому игроку в причине кика, в табличке, что ему выдаст после кика.

 

Данную строку: LogToFileEx(file, "%s - %N", steamid, client); я не стал переводить, но, ее можно перевести, если нужно, так: 

LogToFileEx(file, "%t", "%s - %N", steamid, client);

 

После:

После всех кваров(можно и над ними) я добавил строчку: LoadTranslations("kickloadstuckers.phrases"); с названием будущего файла перевода.

После, создал текстовый файл, и в нем, уже прописал оригинальные сообщения + переводы(с цветами для тех строчек, где, я  заменил PrintToChatAll на CPrintToChatAll) для двух языков(английский и русский).

После, выделив весь текст, перевел его в кодировку UTF-8,  и сохранил файл, с названием, указанным в строчке: LoadTranslations("kickloadstuckers.phrases"); .

Т.е. с названием kickloadstuckers.phrases.txt .

.txt является форматом, в котором файл перевода должен быть сохранен.

После, скомпилировал плагин, и закинул готовый плагин в папку plugins на сервере, а файл перевода в папку translations .


Сообщение отредактировал BloodyBlade: 14 Май 2020 - 23:10

  • Lider99 это нравится

#9 Lider99

Lider99

    Пользователь

  • Пользователь
  • PipPipPip
  • 152 сообщений

Отправлено 14 Май 2020 - 23:26

Спасибо что объяснил BloodyBlade

 

 



#10 dragokas

dragokas

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 792 сообщений

Отправлено 17 Май 2020 - 21:28

 

Данную строку: LogToFileEx(file, "%s - %N", steamid, client); я не стал переводить, но, ее можно перевести, если нужно, так: 

LogToFileEx(file, "%t", "%s - %N", steamid, client);

 

Если ты имел в виду:

 

LogToFileEx(file, "%s - %N - NOT KICKED DUE TO ADMIN STATUS", steamid, client);

 

то его нельзя переводить, используя спецификатор %t, поскольку эта функция не использует индекс клиента, необходимый для него в качестве 1-го аргумента функции.

 

Для функций типа Log* Format* используется спецификатор %T с указание индекса клиента после алиаса фразы перевода:

LogToFileEx(file, "%s - %N - %T", steamid, client, "Not_Kicked", client);

 

kickloadstuckers.phrases

"Phrases"
{
	"Not_Kicked"
	{
		"en"		"NOT KICKED DUE TO ADMIN STATUS"
		"ru"		"НЕ КИКНУТ ИЗ-ЗА СТАТУСА АДМИНА"
	}
}

Хотя я такое (Log*) обычно не перевожу, так как это не имеет никакого смысла. Лог уходит на сервер и его никто кроме админа не увидит. Мало того, за китайский перевод фразы в логе админ  точно не скажет спасибо :)


  • BloodyBlade и Lider99 это нравится


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных