«переведен здесь, но не найден в локали по умолчанию» ошибка в strings.xml с переводом = «ложь» - PullRequest
0 голосов
/ 25 апреля 2018

Вот мои values ​​\ strings.xml (файл по умолчанию), и все говорит само за себя: enter image description here

Мой вопрос (ы):

  1. Как это может быть "не найдено в локали по умолчанию", если я редактирую локаль по умолчанию (values ​​\ strings.xml)?
  2. Как может быть ошибка перевода lint, если я установил translatable="false"? В файлах values-pl \ strings.xml (и в папках values-ru, values-iw) строки даже не существуют? все равно не должно быть.
  3. Кажется, я не понимаю, почему я не получаю ошибку для русской строки.

(я бы показал здесь значения-ru \ string.xml или values-pl \ string.xml, но там нет ничего интересного, поскольку строки все равно отсутствуют ...)

Ответы [ 11 ]

0 голосов
/ 11 июня 2019

Выход из Android Studio и перезапуск исправили это для меня.

0 голосов
/ 20 июля 2019

Я решил эту проблему, выполнив следующие шаги:

  1. очистка моего проекта

  2. восстановление его

  3. и, наконец, нажмите недопустимые кэши / перезапустите в меню файлов

Надеюсь, это может помочь любому, кто столкнулся с этой проблемой в Android Studio.

0 голосов
/ 10 мая 2019

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

0 голосов
/ 10 мая 2019

В моем случае это помогло мне:

  1. Выберите строки, которые вызывают ошибку.
  2. Вырежьте их.
  3. Вставьте их снова

Если у вас это не работает, попробуйте добавить те же строки в файл strings.xml(v21).

0 голосов
/ 12 марта 2019

Нажмите Invalidate Caches / Restart ... , чтобы перезапустить Android Studio.Это сработало для меня.На самом деле это произошло, когда я скопировал файлы с другого компьютера и вставил их через проводник.

0 голосов
/ 04 мая 2019

Просто убедитесь, что у вас одинаковые соглашения о присвоении имен для всех строковых файлов, включая одинаковую заглавную. скажем, если у вас есть «sign_in» в strings.xml и «sign_In» в вашем fr / string.xml, так что это даст вам ошибку в fr / strings.xml как «переведено здесь, но не найдено в локали по умолчанию». Итак, когда вы редактируете "sign_in". Ошибка уберет.

0 голосов
/ 09 марта 2019

Восстановление может занять много времени.YMMV, но ...

Просто удалите оскорбительную строку и добавьте ее снова.

Сработало для меня.Очень быстро.

0 голосов
/ 05 марта 2019

"xmlns:tools="http://schemas.android.com/tools" Вы должны добавить этот код в тег ресурсов файла strings.xml

0 голосов
/ 01 марта 2019

У меня было то же сообщение об ошибке, только со странной проблемой, что оно было выброшено в самой локали по умолчанию и во всех переводах.Оказывается, вы не должны использовать точки в вашем имени (например, name = "bla.blub"), потому что он будет внутренне преобразован в "bla_blub", а затем он не может совпадать с "bla.blub", что приводит к ошибке.Мне только нужно было изменить точки на подчеркивания в локали по умолчанию, а затем все другие ошибки в других переводах (включая точки в имени) также исчезли.

Но учтите, что другие инструменты сборки все еще могут создавать проблемыпоэтому вместо этого замените все точки подчеркиванием!

0 голосов
/ 21 сентября 2018

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

https://github.com/gubatron/android-missing-strings

Чтобы очистить все остатки на других языках, используйте вот так

./ams --cleanleftovers -o all.txt

Это очистит оставшиеся строки и выведет отчет о пропущенных строках для всех языков в файл all.txt

...