Jump to content

Обновление языка форума без потери своего перевода

Featured Replies

Доброго дня, есть ли возможность обновить язык форума, без потерь своего перевода?
image.png.32eed221fe4667f3e3ec633650c36955.png
Т.е если сейчас обновить просто язык, то все стандартные значения будут заменены снова на дефолт, можно ли как-то обойти это, чтобы заменилось лишь то, что было добавлено в языковом пакете?

Link to comment
https://ipbmafia.ru/topic/25193-obnovlenie-yazyka-foruma-bez-poteri-svoego-perevoda/
Share on other sites

Как я это вижу (сам не пробовал)

1. Выгрузить свой язык 

2. Загрузить обновление

3. Загрузить обратно свой язык 

 

 

 

 

50 минут назад, iDreaMs сказал:

можно ли как-то обойти это

Можно и обойти: каждое значение заносите в текстовой файл и после обновления языка просматриваете и меняете обратно, как вам нужно, каждую языковую строку последовательно. Плагина, которые запрещает изменение определенных языковых строк при загрузке языка, нет. Да его и невоможно сделать, так как языковые строки загружаются сразу в базу данных при импорте. Есть еще плагин Custom Language Strings. Там можно задавать свои языковые строки, которые нужно еще вставлять в шаблоны.

2 минуты назад, HooLIGUN сказал:

3. Загрузить обратно свой язык 

Тогда перезатрутся измененные в п.2 языковые строки, будут ошибки на сайте.

Edited by Zero108

1 минуту назад, Zero108 сказал:

Тогда перезатрутся измененные в п.2 языковые строки, будут ошибки на сайте

В новых версиях обычно только добавляют новые языковые ключи, ошибок быть не должно.

Можно тогда вставить между п.2 и п.3

2.5 сверить оба файла на различие переводов и по необходимости внесения изменения в свой файл

 

Американцы до сих пор не поняли, что существуют другие языки, кроме амириканского. Поэтому у них этот раздел с годами никак не меняется. Давно назрела необходимость в плагине, который усовершенствует этот раздел. Например, будет запрещать изменение определенных языковых строк, позволять добавление своих языковых строк и т.п.

Edited by Zero108

2 часа назад, HooLIGUN сказал:

Как я это вижу (сам не пробовал)

1. Выгрузить свой язык 

2. Загрузить обновление

3. Загрузить обратно свой язык 

 

 

 

 

Я так и делаю, все работает 

14 минут назад, Donjuan сказал:

Я так и делаю, все работает 

Но тогда же всё равно будет показано что типа "есть обновление языка" или нет?

Только что, iDreaMs сказал:

Но тогда же всё равно будет показано что типа "есть обновление языка" или нет?

Недостающие строчки добавятся, а старые перепишутся вашим бэкапом

На счет уведомления не могу сказать

Если язык связан с файлом из маркетплейса, то не даёт загружать свой язык поверх. Я в таком случае написал небольшой скрипт который запускаю после обновления языка.

Спойлер
<?php

require_once 'init.php';

$langId = 2; // ID вашего языка

$words = [
	'sign_in'	=> "Войти",
	// и т. д.
];

foreach ( $words AS $k => $v )
{
	\IPS\Db::i()->update( 'core_sys_lang_words', [ 'word_custom' => $v ], [ 'lang_id=? AND word_key=?', $langId, $k ] );
}

 

Файл с таким содержимым залить в корень сайта и запускать после обновления языка.

2 часа назад, Donjuan сказал:

Я так и делаю, все работает 

Некоторые языковые устроки изменяются, вы их перезатираете на старые, что может приводить к ошибкам на сайте. Например, если в языковой строке была переменная S, а стала другая и т.п. 

Zero108 возможно.. но в моем случае все работает хорошо) все, что изменилось-заполнились пробелы там, где их быть не должно). Ips4 это тот случай, когда у одного все работает, в то время, как у другого 404

Edited by Donjuan

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.