Новая строка char в файле ресурсов в Xamarin. Android - PullRequest
0 голосов
/ 16 марта 2020

У меня есть многоязыковое приложение, которое извлекает переводы из строк. xml.

Это работало правильно, но после миграции (возможно, в отношении VS 2019), \ r \ n становится r \ n и всегда я вижу дополнительный символ "r" в моем переведенном тексте из-за отсутствия backsla sh.

Например

<string name="general_checkforupdate_updateavailableOnGooglePlay_Message">
New version (v{0}) is available on Google Play.\r\nWould you like to update it now?</string>

и код

 string message= string.Format(_activity.GetString(                                  
                 Resource.String.general_checkforupdate_updateavailableOnGooglePlay_Message),
                 newVersionInfo.Version);

Я вижу такое сообщение

enter image description here

и когда я читаю эту часть в отладке

_activity.GetString(Resource.String.general_checkforupdate_updateavailableOnGooglePlay_Message)

я вижу, что в Google Play доступна новая версия (v {0}). r \ Вы хотели бы обновить его сейчас?

Как видите, \ backsla sh символ удален, но для \ n все в порядке. в чем может быть причина?

Ответы [ 2 ]

0 голосов
/ 17 марта 2020

В Android пользователи, как правило, помещают всю строку, хранящуюся в строке. XML, цель удобное и унифицированное управление, и способствует интернационализации, но символы прямого ввода в строке не влияет, например, пробелы, разрывы строк, больше, чем, et, c., который требует использования escape-символов для передачи, такую ​​способность при правильном отображении символа.

вы можете использовать ниже:

Пробел : &#160; (обычный английский sh пробел, но не разрыв строки)

Узкий пробел : &#8201;

&#12288; (полный угол (одна китайская ширина))

&#8194; (половина китайской ширины, но два пробела немного больше, чем один китайский)

&#8195; (одна китайская ширина, но немного шире, чем китайский)

\u3000\u3000 (отступ первой строки)

\u3000 (полное угловое пространство (китайский символ))

\u0020 (половинное угловое пространство (английский sh символ))

&#8230; (многоточие)

, чтобы вы могли попробовать использовать &#160; или \u3000

0 голосов
/ 16 марта 2020

\r не работает на всех платформах / терминалах одинаково. См. Разница между \ n и \ r? . В вашей системе он заменяется на r, потому что он может не поддерживать его.

...