как добавить строку в messageFormat в - PullRequest
0 голосов
/ 30 марта 2020

Я хочу добавить строку в эту строку, чтобы она могла переводиться на другие языки. Каким образом я могу закодировать строку в этом, чтобы можно было перевести «корабли»?

private void nrLikes(final TextView likes, String postid) {
    DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("Likes")
            .child(postid);
    reference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            likes.setText(MessageFormat.format("{0} ships", dataSnapshot.getChildrenCount()));
        }
        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
        }
    });
}

Ответы [ 2 ]

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

Да, вы можете видеть из https://developer.android.com/guide/topics/resources/string-resource.html#FormattingAndStyling

Обычно мы переводим через строки. xml

<string name="message">%1$s ships</string>

В этом примере строка формата имеет один аргумент:% 1 $ s является строкой

Тогда вы можете сделать следующее:

String text = getString(R.string.message, dataSnapshot.getChildrenCount()));
0 голосов
/ 30 марта 2020

Прежде всего, вы должны найти его местоположение, его страну.

Во-вторых, вам нужно сделать: Файл значений / строк для каждого языка, который вы хотите, чтобы добавить строки, которые вы будете sh и затем назовите их в своем коде. Это действительно сизифов, я уверен, что есть более простое решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...