Почему некоторые проекты Android указывают "CHAR_LIMIT" в комментариях над каждой строкой в строках. xml? Например, из https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/strings.xml:
<!-- [CHAR LIMIT=25] String for confirmation button to enable a feature gated by the battery saver warning-->
<string name="confirm_battery_saver">OK</string>
<!-- [CHAR_LIMIT=NONE] Battery saver: Feature description, with a "learn more" link. -->
<string name="battery_saver_description_with_learn_more">To extend battery life, Battery Saver:\n·Turns on Dark theme\n·Turns off or restricts background activity, some visual effects, and other features like \u201cHey Google\u201d\n\n<annotation id="url">Learn more</annotation></string>
Поиск в Google приводит еще несколько примеров, но без объяснения. Я не верю, что документация Android охватывает это. И в отличие от таких тегов, как <xliff:g>
, это не похоже на официальный функциональный компонент Android. Я предполагаю, что это соглашение, которое используют некоторые проекты, чтобы указать, «когда вы переводите это, убедитесь, что переведенная версия не содержит более X символов, иначе это нарушит пользовательский интерфейс!» Или, возможно, наоборот: «если вы используете эту строку, убедитесь, что пользовательский интерфейс по-прежнему выглядит хорошо с длиной строки X символов»
Я считаю, что пользовательский интерфейс всегда должен быть таким гибким, как разумно, учитывая возможность переводов разной длины и возможность текста разного размера. Кроме того, переводчики должны стремиться к тому, чтобы перевод был более или менее того же размера, что и исходный текст, вместо того, чтобы при переводе переходить, скажем, с 10 символов на 50. Поэтому я думаю, что этот "CHAR_LIMIT" будет совершенно ненужным и его можно будет отбросить. (Я спрашиваю, потому что я исправляю старый проект с открытым исходным кодом, который использует это.)
Правильно ли я понимаю «CHAR_LIMIT» или для чего он нужен, и нужно ли его использовать?