Коллеги, приветствую!
Для автоматизации перевода необходимо распотрошить strings.xml и перевести.
Для упрощения задачи - гуглоперевод с китайского на английский. Получается вполне читабельно, а ручками переводить больше тысячи строк - увольте.
Начало xml-файла такое:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="KSCSDK_UNKNOW_ERR_RUNTIME">客户端出了点问题,装个新版本再试一次吧。</string>
<string name="KSCSDK_UNKNOW_ERR_DATA">网络连接出了点问题,一会再试一次吧。</string>
<string name="KSCSDK_UNKNOW_ERR_NETWORK">网络连接出了点问题,一会再试一次吧。</string>
<string name="KSCSDK_UNKNOW_ERR_SERVER">客户端出了点问题,装个新版本再试一次吧。</string>
<string name="KSCSDK_UNKNOW_ERR_SERV_MSG">客户端出了点问题,装个新版本再试一次吧。</string>
<string name="KSCSDK_UNKNOW_ERR_LOCAL_IO">客户端出了点问题,一会再试一次吧。</string>
<string name="KSCSDK_UNKNOW_ERR">出了点问题,一会再试一次吧。</string>
<string name="KSCSDK_MISS_USER_TOKEN">出了点问题,重新登陆一次就好了。</string>
<string name="KSCSDK_NULL_PARAM">客户端出了点问题,一会再试一次吧。</string>
<string name="KSCSDK_INVALID_PARAM">客户端出了点问题,一会再试一次吧。</string>
<string name="KSCSDK_LIMIT_NO_SPACE">手机SD卡满了,删点东西再试一次吧。</string>
..ну и так далее.Что мне требуется:
1. Построчно парсить файл в цикле (while read line ; do)
2. Если в строке встречается нужный признак (string name=, например) - содержимое между > и < (на китайском или смешанном языке) переводится, перевод, например, присваивается текстовой переменной.
Если не встречается - содержимое направляется в новый файл, возврат на чтение новой строки.
3. Далее текст на китайском заменяется на текст на английском, содержимое направляется в новый файл.
Задача, понятное дело, осложняется тем, что в xml файле может встретиться и такое:
<string name="des_auth_account">"用户信息授权成功,
即将在\"%1$s\"端登录金山快盘客户端"</string>
<string name="qrcode_login_other_device">扫描二维码</string>
т.е. часть текста строчки переносится на другую строчку. Иными словами, надо не просто строчку парсить, а все содержимое между <string name= и закрывающим тегом </string>
Буду рад любой помощи сообщества!