From 3fd0011475beb9944bd678ccc8d66cd375dfb8f2 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Sun, 23 Aug 2026 18:08:50 +0200 Subject: [PATCH 1/2] Add vehicle registration plate icons Source: https://commons.wikimedia.org/wiki/Category:Diagrams_of_international_vehicle_registration_ovals --- ...nternational_vehicle_registration_oval.svg | 78 ++++++++++++++++++ ...nternational_vehicle_registration_oval.svg | 34 ++++++++ ...nternational_vehicle_registration_oval.svg | 21 +++++ images/vehicle-registration-plates/XW.svg | 39 +++++++++ .../convert-to-png.sh | 7 ++ images/vehicle-registration-plates/urls.txt | 3 + res/drawable-nodpi/vehicle_a.png | Bin 0 -> 1701 bytes res/drawable-nodpi/vehicle_ch.png | Bin 0 -> 1714 bytes res/drawable-nodpi/vehicle_d.png | Bin 0 -> 1444 bytes res/drawable-nodpi/vehicle_xw.png | Bin 0 -> 1211 bytes 10 files changed, 182 insertions(+) create mode 100644 images/vehicle-registration-plates/A_international_vehicle_registration_oval.svg create mode 100644 images/vehicle-registration-plates/CH_international_vehicle_registration_oval.svg create mode 100644 images/vehicle-registration-plates/D_international_vehicle_registration_oval.svg create mode 100644 images/vehicle-registration-plates/XW.svg create mode 100755 images/vehicle-registration-plates/convert-to-png.sh create mode 100644 images/vehicle-registration-plates/urls.txt create mode 100644 res/drawable-nodpi/vehicle_a.png create mode 100644 res/drawable-nodpi/vehicle_ch.png create mode 100644 res/drawable-nodpi/vehicle_d.png create mode 100644 res/drawable-nodpi/vehicle_xw.png diff --git a/images/vehicle-registration-plates/A_international_vehicle_registration_oval.svg b/images/vehicle-registration-plates/A_international_vehicle_registration_oval.svg new file mode 100644 index 00000000..589ef3c1 --- /dev/null +++ b/images/vehicle-registration-plates/A_international_vehicle_registration_oval.svg @@ -0,0 +1,78 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + diff --git a/images/vehicle-registration-plates/CH_international_vehicle_registration_oval.svg b/images/vehicle-registration-plates/CH_international_vehicle_registration_oval.svg new file mode 100644 index 00000000..f8663872 --- /dev/null +++ b/images/vehicle-registration-plates/CH_international_vehicle_registration_oval.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + diff --git a/images/vehicle-registration-plates/D_international_vehicle_registration_oval.svg b/images/vehicle-registration-plates/D_international_vehicle_registration_oval.svg new file mode 100644 index 00000000..094d86ba --- /dev/null +++ b/images/vehicle-registration-plates/D_international_vehicle_registration_oval.svg @@ -0,0 +1,21 @@ + + + + + + + + diff --git a/images/vehicle-registration-plates/XW.svg b/images/vehicle-registration-plates/XW.svg new file mode 100644 index 00000000..fbfd2578 --- /dev/null +++ b/images/vehicle-registration-plates/XW.svg @@ -0,0 +1,39 @@ + + + + + + + + diff --git a/images/vehicle-registration-plates/convert-to-png.sh b/images/vehicle-registration-plates/convert-to-png.sh new file mode 100755 index 00000000..5cbd7198 --- /dev/null +++ b/images/vehicle-registration-plates/convert-to-png.sh @@ -0,0 +1,7 @@ +#!/bin/sh +set -e + +convert -background none A_international_vehicle_registration_oval.svg -resize 66x66 ../../res/drawable-nodpi/vehicle_a.png +convert -background none CH_international_vehicle_registration_oval.svg -resize 66x66 ../../res/drawable-nodpi/vehicle_ch.png +convert -background none D_international_vehicle_registration_oval.svg -resize 66x66 ../../res/drawable-nodpi/vehicle_d.png +convert -background none XW.svg -resize 66x66 ../../res/drawable-nodpi/vehicle_xw.png diff --git a/images/vehicle-registration-plates/urls.txt b/images/vehicle-registration-plates/urls.txt new file mode 100644 index 00000000..d87340b5 --- /dev/null +++ b/images/vehicle-registration-plates/urls.txt @@ -0,0 +1,3 @@ +https://upload.wikimedia.org/wikipedia/commons/0/05/D_international_vehicle_registration_oval.svg +https://upload.wikimedia.org/wikipedia/commons/9/90/CH_international_vehicle_registration_oval.svg +https://upload.wikimedia.org/wikipedia/commons/9/9b/A_international_vehicle_registration_oval.svg diff --git a/res/drawable-nodpi/vehicle_a.png b/res/drawable-nodpi/vehicle_a.png new file mode 100644 index 0000000000000000000000000000000000000000..d8892cfeb87f91ab581668681bbf43546b241476 GIT binary patch literal 1701 zcmZ{kYdjQq7svlIWfP5I$h6YtS}db+*Cd(?GYT;@W;S8W#Vw4Pv4nPeTyhzfu?Cs! z6dopvO~tU1YFtt*R-xKdtd>#8%39Z*_Qmu0JTH22&hK+B-_Ln-&dK)iCc@P8)Bpf5 z4-$c_RGiWds%}?$EhZ&LDFzG@*$aTA0{~n|2Vhm1x-bnuJQ@H+2mqK;0Fa!^Kl?f> z3((LLL;?V{dB!%%XeWn6;{l){|7eh&SSeGP+`;$oa@(O$MQW-7@^Q&?08~zT5U~DK zc|A4S(=TApH*@b$fjNU@74>*CZQWXbPL@{u)4rA0-R$4GZF(PD#<89y-f?H2f<6x7ggDSf0b zLclcMWwn1cJQ;PPR6&#UOmS#~kSycW!)1oSkN187PrN;sJVzf0S#k)} z(X{SxMnFT4SvMCQmC;Y1>T>60{Gw*dz58RX5S$A9l^}pInTtrEHo}Qiy zH1h44ceV|?g6)r)7S*iQU8!F}%fpf7s?n>u_R+QaH(;3>xfs&JmRs6OYS<6GS9QxC zIRzQ**mqmJ=5WKd3^&ueJXqAN5nK^?3L)YLo63+%^4UljVb6*-tl;qbE_=K3UwPyp zLFA&%OpZ^KL0iOsidhLA;)p#%C7lPWBde*$2Tn3cOTYUas&s(A`}!_);llf-4e<#( zM<_4}%qR+v^*+6*Mx8>nbyva6x;Ja`eu6sZo-Wh7)$Bw0)_4fvTmDVUb!<$qZ+t*+ zVo<;uCfE7xhh?K~L#y0}e#JE(SXU`AFFWz>d2Ui!Wezf`*0XN&{ef!jdM>qiY2@MP ztE1~(Qeox`lbAPotgc+K@T`{D!00=t&@97?W))c>?I~-0S0uviK6SRmJ87*(l`9o) zpku;|RDh^i9GZ7t=WgvL>~_9}ATX!Ygg&Lhbai9ynmfYKbXO?Z1*K3mMoerlCclE< zpfaXlu-kPHyGTEOt!HJS-%!$NaQUp(v(mIQ5AW1rrN#s6Gpzj;T1ldSH@j8@b*DHV~MV$`wL{+^XYOWfaDXZwy z6jc=@VogU(3Z=H}=o9Upp3SzdQUXO5E~;B+mGv*M`pr#_NBC#pWXvNsHEAfEefRoT z-x(*a8dWOh%`CFhkG*6T2*?3_BM`R^+5+KXcygg0^NGbY*BycPFTJ7Lro*T+kAy4N zkZW^s*SQ`8`vaHsiFtgYFjcHkV3o1`ub#D3rGz#n#E`x%KX;vKOxl9on4yPyNjwB@cY`3 z{Lu|r^4R3MB$9INK^Oh;N literal 0 HcmV?d00001 diff --git a/res/drawable-nodpi/vehicle_ch.png b/res/drawable-nodpi/vehicle_ch.png new file mode 100644 index 0000000000000000000000000000000000000000..5d0090dd26396de695f7a5dfcabbde9224afcccf GIT binary patch literal 1714 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 literal 0 HcmV?d00001 diff --git a/res/drawable-nodpi/vehicle_xw.png b/res/drawable-nodpi/vehicle_xw.png new file mode 100644 index 0000000000000000000000000000000000000000..a6c3b39ea273ec3a87785e663f2ef35a48ccef93 GIT binary patch literal 1211 zcmeAS@N?(olHy`uVBq!ia0vp^PC%^9!2%@HmQDKzq!f}pf_xbms?-=58d?|_egTCV zUNA6}8Za=tN?>5Hn!&&zUNC1@pbb!hDaqU2g@IvJud)%4$64SJS21szv2)V;9yksT@N&wIn~p}F(l&f(HVFBgUe;w<@s{`8K;&fN?%*CW08*3 zPJzv=+f^6GT=U*s+5W~U|JnQv)Bii>?YYSPZ0SiKm779|H5)Z%<@4g&qB{RNb@lt_zpp${$0K#~{Opnoe$v$|7qd8ud}OHES(os_V76Knh8%iJ;gjGDa}?s8Si6s z%)&6}sdGqSkDc9u%a<>lO1!sdvhyB4ThkvO5&{@ILc=1|&NB7?n5rRsMnK*Eyh?m= z_wST#+!tNs(<^tcQuN?|U({p1Vq4`w|DUtxOFoQVcJj<;+v_`B550S?xwMh--30Co z2XoWqZ`1tDziwnwIxfqWv4#JE@|oOE?q7B;3%OzDpvmg{np;+|(#@jzJl`Qky~$iJ zf^Btv|JYi&;{2BQB@#~#q;c%MWBPSrUCmO4rGJ+6r*!RZiQ{{)aQ;m*Uah^#9FwM8 zTX5@$&hw8sEf1awoz&}nBjKQ_{7T4E?_q3zLczqPa=vdYnp9k`Do@+d@zLgpq|kDc zryNZxzAvYE2*h;@s8j_!?o;%*w1clpJo6SuzQetp}l;>VGPdy@};T|TK!ZtKfU!qO4{k8y-m{XBR#_R1-~yr+z_qb;ZW zIkM@gde|wueG67jn!h9Wx_?Aua@Ibr%U5`Eva-d66O`P}r?%7ZcK?~9g1CQM`ZvD;i8xKH!^J=@cHO(n&X{7xsoTh?clb<;KU zVscuA( Date: Mon, 24 Aug 2026 21:15:37 +0200 Subject: [PATCH 2/2] Register Vehicle Registration Plate icons as language codes .. so they appear when dictionaries are listed. In addition to the ISO two letter language codes, "VRP" + 2-letter country code is used for the license plate codes. "VRPDE" is for Germany, "VRPXW" for world wide. Files available at https://codeberg.org/cweiske/DictionaryVRP Related: https://github.com/rdoeffinger/Dictionary/issues/192 --- res/values-de/languages.xml | 5 +++++ res/values/languages.xml | 5 +++++ src/com/hughes/android/dictionary/IsoUtils.java | 13 +++++++++++++ 3 files changed, 23 insertions(+) diff --git a/res/values-de/languages.xml b/res/values-de/languages.xml index 810f6104..7f6c119b 100644 --- a/res/values-de/languages.xml +++ b/res/values-de/languages.xml @@ -88,4 +88,9 @@ Chinesisch Zulu + Österreichische KFZ-Kennzeichen + Schweizer KFZ-Kennzeichen + Deutsche KFZ-Kennzeichen + Internationale KFZ-Kennzeichen + diff --git a/res/values/languages.xml b/res/values/languages.xml index 240d4057..c66f8911 100644 --- a/res/values/languages.xml +++ b/res/values/languages.xml @@ -88,4 +88,9 @@ Chinese Zulu + Austrian Vehicle Registration Plates + Swiss Vehicle Registration Plates + German Vehicle Registration Plates + International Vehicle Registration Plates + diff --git a/src/com/hughes/android/dictionary/IsoUtils.java b/src/com/hughes/android/dictionary/IsoUtils.java index 96abbf6e..9b8e3c93 100644 --- a/src/com/hughes/android/dictionary/IsoUtils.java +++ b/src/com/hughes/android/dictionary/IsoUtils.java @@ -191,6 +191,19 @@ public enum IsoUtils { isoCodeToResources.put("SH", new LanguageResources("Serbo-Croatian", R.string.SH)); isoCodeToResources.put("SD", new LanguageResources("Sindhi", R.string.SD)); + isoCodeToResources.put("VRPAT", new LanguageResources( + "Austrian Vehicle Registration Plates", R.string.VRP_AT, + R.drawable.vehicle_a)); + isoCodeToResources.put("VRPCH", new LanguageResources( + "Swiss Vehicle Registration Plates", R.string.VRP_CH, + R.drawable.vehicle_ch)); + isoCodeToResources.put("VRPDE", new LanguageResources( + "German Vehicle Registration Plates", R.string.VRP_DE, + R.drawable.vehicle_d)); + isoCodeToResources.put("VRPXW", new LanguageResources( + "International Vehicle Registration Plates", R.string.VRP_XW, + R.drawable.vehicle_xw)); + // Hack to allow lower-case ISO codes to work: for (final String isoCode : new ArrayList<>(isoCodeToResources.keySet())) { isoCodeToResources.put(isoCode.toLowerCase(), isoCodeToResources.get(isoCode));