Android “…” yerine üç nokta karakteri koy


306

AVD Tools 16'dan beri şu uyarıyı alıyorum:

Replace "..." with ellipsis character (..., …) ?

dizelerimde.xml

bu satırda

 <string name="searching">Searching...</string>

Nasıl değiştiririm ...? Kelimenin tam anlamıyla &#8230;mı?

Birisi bu kodlamayı açıklayabilir mi?


Not olarak, Android'in kendi çevrilmiş dize dosyalarının Unicode varlığı yerine… kendisini kullandığını fark ettim. Android XML dosyalarının normalde UTF-8'de kodlanmış olduğu göz önüne alındığında, potansiyel olarak ezoterik Unicode varlığı yerine karakterin kendisini kullanmamak için hiçbir neden görmüyorum, özellikle bu günlerde çoğu kelime işlemci programı otomatik düzeltme "..." … "(Microsoft Word bunu varsayılan olarak yapar, son kontrol ettim).
JAB

Aslında üç nokta mı (ASCII 46 / 0x26)? Veya ASCII 133 (bir karakter)?
Peter Mortensen

1
Başka bir SO sorusunun cevabında, 'Unicode'u değiştir ... çünkü daha iyi' ifadesinden daha iyi bir açıklama var. stackoverflow.com/a/27984145/973919 Kısacası, üç noktanın çok satırlı bir metinde (tek başına 1 veya 2 nokta gösteriliyor) bölünmesini engelliyor ve bazı tipografilerde 3 nokta görmek kötü görünüyor.
xarlymg89

Yanıtlar:


538

&#8230;" ... " için unicode, bu yüzden değiştirin. Üç noktadan daha fazla bir karakter / sembol olarak kullanmak daha iyidir.


41
Neden "daha iyi"? Bu, metni çevirmenlere verirken işleri zorlaştırır. Bu aptal uyarıyı bir şekilde öldürebilir miyiz? Teşekkürler
swinefeaster

25
@swinefeaster bilmek güzel :) ama ödenecekleri gibi onlar da öğretilebilir :)
WarrenFaith

25
@swinefeaster Kısmen "daha iyi" çünkü kırılmıyor ("..." örneğin ikinci periyotta dolaşabilir) ve teorik olarak diller onları farklı kılabilir (birçok Asya dili onları ortaya koyar ve daha geniş (bir karakter genişliğiyle eşleşir)). Kırılmayan her yerde yararlıdır, Android'i diğer langlarda doğru bir şekilde oluşturduğunun farkında değilim, ne de bu amaçla UTF karakterlerinin farkında değilim.
Groxx

12
"..." olması erişilebilirlik sorunlarına neden olur. Android Talkback "Yükleniyor ..."
ifadesini

14
Yorumum net değildi. "Loading ..." (3 nokta) kullanılması, Talkback'in "3 periyod yükleniyor" ifadesini "Loading & # 8230;" (üç nokta) Talkback'e "Yükleniyor" demeye öncülük ediyor [Bu iyi ..] Yani, her zaman üç nokta kullanmalıyız
Mohammad Shabaz Moosa

15

Kısa yapmak için &#x2026;yerine koy ...

XML karakteri Varlıklar Listesine bağlantı

  • Hellip adlı satır için HTML'nin Unicode sütununa bakın

5
Başlangıçta &#x2026;Eclipse uyarısı kullanıldığında neden kullandığınızı merak ettim &#8230;ama bağlantınız buna cevap veriyor . Yani x, bir onaltılık değer anlamına gelir ve ondalıktaki 8230, onaltılı sayıdaki 2026'dır.
k2col

nereye koyacağınız & bunun için herhangi bir konum.
Tushar Pandey

@ TusharPandey- Kodunuz <string name = "search"> Aranıyor ... </string> ise <string name = "search"> & # x2026 aranıyor </string>
Jadeye

13

Eclipse kullanıyorsanız her zaman aşağıdakileri yapabilirsiniz:

  • Uyarıyı sağ tıklayın
  • "Hızlı Onarım" ı seçin (kısayol varsayılan olarak Ctrl+1
  • "Önerilen karakterlerle değiştir" i seçin

Bu, üç noktanızı üç nokta için uygun Unicode karakteri ile değiştirmelidir.

Sadece bir not: ADT'nin (21.1) en son sürümü bazen değiştirme işlemini düzgün yapmaz, ancak önceki sürümlerde bunu yapmakta sorun yoktu.

Bu karakter:


Bu benim için çalıştı! Ancak uyarı dışında hiçbir şey "görsel" olmadı ve ben ADT 22.2.1 çalıştırıyorum. Ama sanırım bu nasıl çalışıyor :)
ymerdrengene

Benim için çalışmadı. Eclipse, <resources> etiketini yeni bir <element> etiketi ile çevrelememi (neden bilmiyorum) sordu.
Leonardo Raele

Doğru alanı tam olarak vurgulamazsanız Eclipse bunu bir süre yapar. Kendimi doğru öneriyi yapmadan önce iki veya üç kez hızlı bir şekilde vurgulamaya ve düzeltmeye çalışıyorum.
Michael Celey

10

Sorununuzun çözümü:

Go to Window -> Preferences -> Android -> Lint Error Checking

Ve " üç nokta " için arama yapın . Uyarı seviyesini " Bilgi " veya " Yoksay " olarak değiştirin.


8
Bu öneriler mantıklı. Onları görmezden gelmek, ne yaptığınızdan gerçekten eminseniz, sadece bir çözümdür. Bu durumda, değiştirme mantıklıdır, bu nedenle uyarıyı görmezden gelmek iyi değildir.
Alexander Pacha

Teşekkürler! Tam da aradığım şey. Ve her türlü ilgili şeyi yapabileceğim yer (bana nasıl heceleyeceğim, büyük harfle yazabileceğimi veya noktalayacağımı söylemek için bir bilgisayara ihtiyacım yok). Çok kullanışlı!
Scott Biggs

3
bu uyarıları göz ardı etmek için iyi bir seçenek değildir. daha iyi sonuçlar için uyarıları düzeltmelisiniz.
Deepak

1
@ScottBiggs dürüst olmak gerekirse, bilgisayar size bir şeyi yanlış yazdığınızı, büyük harflerle yazdığınızı veya noktaladığınızı söylüyorsa, düzeltmeniz gerekir. Lints bu konuda faydalıdır, onları devre dışı bırakmamalarını tavsiye ederim.
EpicPandaForce

3

Bu cevap dolaylı olarak bu soru ile ilgilidir:

Benim durumumda textView1.setTextView("done&#8230");bazı kutu / çince karakter gösteriliyordu. Daha sonra, fileformat.infodeğerin neyi temsil ettiğini kontrol ettim ve bunun bir Han karakteri olduğunu gördüm. Peki ne yapmalı? Ben "fileformat.info elips karakteri" aradı ve sonra değerleri gördükten sonra her şey bana açık oldu;

UTF-16 (hex) 0x2026 (2026)

UTF-16 (decimal) 8,230

Bu nedenle, bir karakteri temsil etmek için birkaç kodlamanız vardır (örneğin, Ondalık'ta 10, hexa'da A olarak temsil edilir), bu nedenle bir unicode karakter yazarken, alma işlevinin kodu nasıl çözdüğünü bilmek çok önemlidir. Ondalık değer olarak çözülürse, ondalık değer sağlamanız gerekir, onaltılık kabul ederse onaltılık değer sağlamanız gerekir.

Benim durumumda, setTextView () işlevi ondalık kodlanmış değeri kabul eder, ancak yanlış karakter alıyordum onaltılık değerler veriyordum.



0

Bazıları tarafından önerildiği gibi görmezden gelmemek en iyisi, bana öyle geliyor. Düzeltmek için Android Studio'yu kullanın (karakter kodunu yazmak yerine) ve araç üç noktayı üç nokta unicode karakteriyle değiştirir . Çevirmenler vb. İçin kafa karıştırıcı olmayacak.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.