Posted 12 января, 20231 yr comment_189234 Доброго дня, есть ли возможность обновить язык форума, без потерь своего перевода? Т.е если сейчас обновить просто язык, то все стандартные значения будут заменены снова на дефолт, можно ли как-то обойти это, чтобы заменилось лишь то, что было добавлено в языковом пакете?
12 января, 20231 yr comment_189236 Как я это вижу (сам не пробовал) 1. Выгрузить свой язык 2. Загрузить обновление 3. Загрузить обратно свой язык
12 января, 20231 yr comment_189237 50 минут назад, iDreaMs сказал: можно ли как-то обойти это Можно и обойти: каждое значение заносите в текстовой файл и после обновления языка просматриваете и меняете обратно, как вам нужно, каждую языковую строку последовательно. Плагина, которые запрещает изменение определенных языковых строк при загрузке языка, нет. Да его и невоможно сделать, так как языковые строки загружаются сразу в базу данных при импорте. Есть еще плагин Custom Language Strings. Там можно задавать свои языковые строки, которые нужно еще вставлять в шаблоны. 2 минуты назад, HooLIGUN сказал: 3. Загрузить обратно свой язык Тогда перезатрутся измененные в п.2 языковые строки, будут ошибки на сайте. Edited 12 января, 20231 yr by Zero108
12 января, 20231 yr comment_189238 1 минуту назад, Zero108 сказал: Тогда перезатрутся измененные в п.2 языковые строки, будут ошибки на сайте В новых версиях обычно только добавляют новые языковые ключи, ошибок быть не должно. Можно тогда вставить между п.2 и п.3 2.5 сверить оба файла на различие переводов и по необходимости внесения изменения в свой файл
12 января, 20231 yr comment_189239 Американцы до сих пор не поняли, что существуют другие языки, кроме амириканского. Поэтому у них этот раздел с годами никак не меняется. Давно назрела необходимость в плагине, который усовершенствует этот раздел. Например, будет запрещать изменение определенных языковых строк, позволять добавление своих языковых строк и т.п. Edited 12 января, 20231 yr by Zero108
12 января, 20231 yr comment_189243 2 часа назад, HooLIGUN сказал: Как я это вижу (сам не пробовал) 1. Выгрузить свой язык 2. Загрузить обновление 3. Загрузить обратно свой язык Я так и делаю, все работает
12 января, 20231 yr Author comment_189244 14 минут назад, Donjuan сказал: Я так и делаю, все работает Но тогда же всё равно будет показано что типа "есть обновление языка" или нет?
12 января, 20231 yr comment_189245 Только что, iDreaMs сказал: Но тогда же всё равно будет показано что типа "есть обновление языка" или нет? Недостающие строчки добавятся, а старые перепишутся вашим бэкапом На счет уведомления не могу сказать
12 января, 20231 yr comment_189247 Если язык связан с файлом из маркетплейса, то не даёт загружать свой язык поверх. Я в таком случае написал небольшой скрипт который запускаю после обновления языка. Спойлер <?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 ] ); } Файл с таким содержимым залить в корень сайта и запускать после обновления языка.
12 января, 20231 yr comment_189249 2 часа назад, Donjuan сказал: Я так и делаю, все работает Некоторые языковые устроки изменяются, вы их перезатираете на старые, что может приводить к ошибкам на сайте. Например, если в языковой строке была переменная S, а стала другая и т.п.
12 января, 20231 yr comment_189250 Zero108 возможно.. но в моем случае все работает хорошо) все, что изменилось-заполнились пробелы там, где их быть не должно). Ips4 это тот случай, когда у одного все работает, в то время, как у другого 404 Edited 12 января, 20231 yr 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.