Perché la quantità nel software è ancora scritta come "1 risultato (i)"?

3

Ultimamente, ho notato che un sacco di software, sia esso un sito Web, un'applicazione client o un videogioco, spesso scrivono una rappresentazione della quantità come segue: "1 risultato (i)". Ora capisco perché lo avrebbero fatto 20 anni fa. Ma di questi tempi, non dovremmo avere abbastanza potenza di elaborazione e memoria per poter dire "1 risultato" e "2 risultati"?

C'è una sorta di motivo speciale per cui è ancora fatto in questo modo?

Ora prima di dirmelo a Google, lo farei. Ma il fatto è che non ho idea di quali termini di ricerca utilizzare. Quindi anche alcuni termini di ricerca suggeriti sarebbero ben accetti.

    
posta Lars 05.10.2013 - 15:44
fonte

3 risposte

33

Hai preso in considerazione la localizzazione?

Potrebbe sembrare semplice scrivere qualcosa come:

var text = (count > 0) ? "items" : "item"

Ma non è neanche lontanamente così semplice quando devi lavorare in più lingue. Ecco un esempio, usando solo Google Translate:

Language        | Singular                  | Plural
----------------+---------------------------+-----------------
English         | 1 item found              | 2 items found
French          | 1 article trouvé          | 2 objets trouvés
Spanish         | 1 artículo encontrado     | 2 artículos encontrados
German          | 1 Artikel gefunden        | 2 Artikel gefunden
Hebrew          | ‭מצא פריט 1                | 2 פריטים נמצאו
Arabic          | ‭وجدت بند 1                | 2 أصناف تم العثور عليها
Korean          | 1 개 항목 발견             | 2 항목 발견

Ora, garantito, Google Traduttore potrebbe non svolgere un lavoro perfetto qui. Ma non è in parte il punto? Questo non è così semplice. Non puoi semplicemente aggiungere una "s" e farla finita. In ogni caso, non nel codice di produzione. È modo più semplice usare semplicemente il plurale con parentesi - hai solo una risorsa per localizzare in questo modo.

    
risposta data 05.10.2013 - 16:04
fonte
5

Implementare "1 risultato / i" è più facile e veloce.

EDIT: E rende il codice più breve e quindi più facile da capire.

    
risposta data 05.10.2013 - 15:49
fonte
-4

la ragione principale è che quasi universalmente nei progettisti della GUI esiste una netta separazione tra componenti di presentazione puri e componenti di presentazione dinamici basati sui dati.

Ad esempio, puoi usare un'etichetta Unchangable nel layout statico di una pagina. E questa etichetta è davvero un componente abbastanza distinto da un controllo "sul campo".

quindi, sebbene esistano buoni modi per rendere dinamiche le etichette stesse, questo è spesso l'ultimo, molto, ultimo passaggio che viene saltato a causa del tempo e dei vincoli di priorità.

E il flusso naturale della maggior parte dei progettisti di GUI è quello di avere questa separazione tra componenti statici e dinamici, e spesso viene lasciata in questo modo, a meno che non specifialmente torni indietro e QA questo tipo di cose.

    
risposta data 05.10.2013 - 20:14
fonte

Leggi altre domande sui tag