From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Arthur Miller Newsgroups: gmane.emacs.devel Subject: Re: Swedish calendar localization in official release (sv-kalender.el)? Date: Tue, 06 Jul 2021 19:23:53 +0200 Message-ID: References: <87r1gbop0f.fsf@iki.fi> <87o8bfohtp.fsf@iki.fi> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="36271"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Emacs developers To: Stefan Kangas Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Jul 06 19:24:36 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m0ooF-0009E1-QP for ged-emacs-devel@m.gmane-mx.org; Tue, 06 Jul 2021 19:24:36 +0200 Original-Received: from localhost ([::1]:53136 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m0ooE-0003T4-S8 for ged-emacs-devel@m.gmane-mx.org; Tue, 06 Jul 2021 13:24:34 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38254) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m0ong-0002nE-Os for emacs-devel@gnu.org; Tue, 06 Jul 2021 13:24:00 -0400 Original-Received: from mail-oln040092075056.outbound.protection.outlook.com ([40.92.75.56]:39233 helo=EUR04-VI1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m0ond-0002N1-GK for emacs-devel@gnu.org; Tue, 06 Jul 2021 13:23:59 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Rvbar3sBkqe0i79K0hFG/7plyCsGDR+inoJHGQ50GQu2ysThN7tRNa5bI1jGX69w+kD6E8IRkPHVR5tUiZOoSn/SVEXxQBpnB/BmzI/J37JDSq6VPuzuwav52uu9YBXJWsNsO55Ns0ygyacvZxIFBjwPbev2jloMxwzOLbvQt9wOZNj9a8TMxzhHJG5qmNGlG8DCV7iurUhdXujeszysMkbzZ1IecqbHwd90wPJAKozufSSW+/W5/9TvnHhVLqIUdIcpbHXowoZ6hatuJwG1pxBBqq9caAWmcgIzEdn6B2uw0pvv0TUQ8dB202EzMn9Fws63/Ik0t79bYv+RiiEwcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=urJBRdphun/fOIO01lgc5jZXYyO3HncXsbybptiugkI=; b=e2soLP8NwVTw6KvMb0f4P+EStJ/0T/TpFY7IetT6826GI4GT1niAX42dpmg5/xuN5Sk1js7gVhYd+0CtTX1e87Q6OyUR1UHzkGG93YyP+xm5FqXlhLrE+yGHMXT4YAb9fhfRkGki827MuBAdAFFwHh8JdT51Z6FL4YfkIRrgQkCyNQwhinOTutMBU3EEqxiXObWH0fGZw/Gx7Saj1C9A5oyu71lkUTWI0Pox4LQIvlJ8jUq+6vDagtS1c0f0rxUnVb+TYk67rycJ3doKbez5f7dEzb1zGs3t3ZSwnST9qfLfjBR7r/bw204sXJ4uGTnyKe0/rkvLoZkub4S5oSNXOQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=urJBRdphun/fOIO01lgc5jZXYyO3HncXsbybptiugkI=; b=ZbCuo6s5zzgmWQcxTfcOTuALggoHvEgs/j+49CNYI5nYmG/MYUUzElECUy0eCioMqCcKIc/9slks2+is12I1xWpUdmdAPja2Sb8PaK0RUVFxXT7aYrvg7cHLPzJSlvI6e3KhqUtVNBGGG4oLr4WtZ0MUp1LwH1oaSMfVtPCys/73JDxRo2HSWJbVYUqdACraheFSemG9zlOvKVrbgxTHuY7sPht1sctpRSeTF/p3dCg+vVekWC7p5a+z/n49tbKW5RWf5hOWl6FmDkBIpUrroCq7dd3Wm1z/a68hrRhBsyAnMuxpwUFXoedUuzEA4ySJ+u/PCXQpJT+eOxuW5KNdeA== Original-Received: from VI1EUR04FT022.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0e::4e) by VI1EUR04HT054.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0e::101) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22; Tue, 6 Jul 2021 17:23:54 +0000 Original-Received: from AM9PR09MB4977.eurprd09.prod.outlook.com (2a01:111:e400:7e0e::41) by VI1EUR04FT022.mail.protection.outlook.com (2a01:111:e400:7e0e::70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22 via Frontend Transport; Tue, 6 Jul 2021 17:23:54 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:3948749F1813F4D4AEE1598890D695227143707C6DB6D086BE255D4BA31A7747; UpperCasedChecksum:57977EEAFEC31259920F888ACC2A78DB598A83F20163C916C1A5A920E09B5CD4; SizeAsReceived:9115; Count:47 Original-Received: from AM9PR09MB4977.eurprd09.prod.outlook.com ([fe80::656a:1596:f5dc:12ea]) by AM9PR09MB4977.eurprd09.prod.outlook.com ([fe80::656a:1596:f5dc:12ea%9]) with mapi id 15.20.4308.020; Tue, 6 Jul 2021 17:23:54 +0000 In-Reply-To: (Stefan Kangas's message of "Tue, 6 Jul 2021 18:38:46 +0200") X-TMN: [IFEUQsgpmey1gzf2Ff8TkQ8U8R/xCNZ6] X-ClientProxiedBy: AM7PR03CA0014.eurprd03.prod.outlook.com (2603:10a6:20b:130::24) To AM9PR09MB4977.eurprd09.prod.outlook.com (2603:10a6:20b:304::20) X-Microsoft-Original-Message-ID: <87eecbfj9y.fsf@live.com> X-MS-Exchange-MessageSentRepresentingType: 1 Original-Received: from pascal.homepc (81.232.177.30) by AM7PR03CA0014.eurprd03.prod.outlook.com (2603:10a6:20b:130::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4308.19 via Frontend Transport; Tue, 6 Jul 2021 17:23:53 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 47 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 50f60167-9dc4-4eb6-47cc-08d940a2d43f X-MS-TrafficTypeDiagnostic: VI1EUR04HT054: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0MlKw64NsIDvRrL66umi4Ve7opPRVXFTplPZHtSqsGHCTiz3ZvxDFrFrus8W+meJSiiWcrei0sQhxmCvUQCYGB+UJDFvTMAGPYdxbSqivl/nuL40lzYvjCesfFKc/sJp6d9rE63cnzPU3+f9ZAQcIWab4HYiJcDzn/OwFBkERWW2KFcXQBZ20mrH38XGLBczGutYptX6F8Mtxjxmdv+sqz2HQ3iKi8SX6NTosYl4F5x8+M/vA9bT0UE1haZWYdPX4d/jHTpI+XwCLbnn4z/00FpFBLOMvA6aLiK8vlXLAz7xUVMUK6JwgVzctEtLAwO7wPMwVLxlLuMsr/EungsGiAcY9H6isxr1typKIA0g4c5sgMNrVWjDyWG6nrqx/sOb5V14R6DoixJL8KU+6WnuAhxHXu+AleHRLPEiu9rvXpUUnKbIu+LBb2kCaVxCykl7lWaU/5aAF/Jfy/OxJA+g5MyClJ5btrjYO1uuaUMyg/U= X-MS-Exchange-AntiSpam-MessageData: QGvm5PjCI0yk/0vvCz5u3C5lgmCTqMYIo7EeuPwifrZLfJLTo9o3S481QRL4lcndIIcZVLW6EAu66Xy5xgE50yXMGcJ64uGx09nBTTy6SVT3iB3epk7o+zvdlcfOdNCUIU00YyYhrBKnSRpwxxvqWA== X-OriginatorOrg: live.com X-MS-Exchange-CrossTenant-Network-Message-Id: 50f60167-9dc4-4eb6-47cc-08d940a2d43f X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2021 17:23:54.3504 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: VI1EUR04FT022.eop-eur04.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1EUR04HT054 Received-SPF: pass client-ip=40.92.75.56; envelope-from=arthur.miller@live.com; helo=EUR04-VI1-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:271155 Archived-At: Stefan Kangas writes: > Arthur Miller writes: > >> > All this says that it is best to publish national and other cultural >> > calendars separately from Emacs releases. >> >> Ah, ok, yes I understand what you mean. Seen this in all the former >> republic and now independent countries from Yugoslavia. >> >> But I guess, that's still not that overly frequent? > > It's not frequent, but when it happens you really do want it updated > ASAP if you are planning to use the calendar. Missing a holiday can > mean you're in for some nasty planning surprises (speaking from own > experience). > > I repeat myself here, but I think a core package is the best option. > The second best option is to not ship it with Emacs but find out a > good naming scheme and put several such packages on GNU ELPA. I have no problem with this being either in Elpa or Emacs. I was just reflecting over the problem :). However, I was thinking yesterday about um-marrying day and month name strings from hollidays. Would it be an idea to have those array for names in separate files from hollidays and maybe shipped with Emacs. I can machine-generate those for ~200 languages, and they are really small. I am thinking of a file structure like: "lisp/calendar/locale/". In locale directory would be one file per language named something like "names-countrycode.el" (for example names-fi.el, names-sv.el, names-ar.el etc). A content would be just names of days and months. Content of each file would like in code belove the email. Calendar could than just load appropriate file to set localized names and it could be done when calendar is loaded. I am not sure if I can extract format string for dates as well. I had some time today so I did small script to extract this data from ICU locale databas. As I understand the license, they permit any use of both data and code: https://github.com/unicode-org/icu/blob/main/icu4c/LICENSE I really use just a very small subset of their data from their locale dir: https://github.com/unicode-org/icu/tree/main/icu4c/source/data/locales Unfortunately some of locales are not bit more complicated to obtain, so I don't have all languages, but quite many. If we could have database of names for days and months in Emacs, then only hollidays should need separate packaging. Would that be something to have? I haven't patched calendar.el yet, but it shouldn't be difficult to do that, can see tomorrow. #+begin_src emacs-lisp ;; names-sv.el (setq calendar-day-name-array ["s=C3=B6ndag" "m=C3=A5ndag" "tisdag" "onsdag" "to= rsdag" "fredag" "l=C3=B6rdag"] calendar-day-abbrev-array ["s=C3=B6n" "m=C3=A5n" "tis" "ons" "tors" "fre" = "l=C3=B6r"] calendar-day-format-array ["s=C3=B6ndag" "m=C3=A5ndag" "tisdag" "onsdag" "= torsdag" "fredag" "l=C3=B6rdag"] calendar-day-header-array ["s=C3=B6" "m=C3=A5" "ti" "on" "to" "fr" "l=C3= =B6"]) (setq calendar-month-name-array ["januari" "februari" "mars" "april" "maj" "juni"= "juli" "augusti" "september" "oktober" "november" "december"] calendar-month-format-array ["januari" "februari" "mars" "april" "maj" "jun= i" "juli" "augusti" "september" "oktober" "november" "december"] calendar-month-abbrev-array ["jan." "feb." "mars" "apr." "maj" "juni" "juli= " "aug." "sep." "okt." "nov." "dec."]) ;; names-fi.el (setq calendar-day-name-array ["sunnuntai" "maanantai" "tiistai" "keskiviikko" "= torstai" "perjantai" "lauantai"] calendar-day-abbrev-array ["su" "ma" "ti" "ke" "to" "pe" "la"] calendar-day-format-array ["sunnuntaina" "maanantaina" "tiistaina" "keskiv= iikkona" "torstaina" "perjantaina" "lauantaina"] calendar-day-header-array ["su" "ma" "ti" "ke" "to" "pe" "la"]) (setq calendar-month-name-array ["tammikuu" "helmikuu" "maaliskuu" "huhtikuu" "to= ukokuu" "kes=C3=A4kuu" "hein=C3=A4kuu" "elokuu" "syyskuu" "lokakuu" "marras= kuu" "joulukuu"] calendar-month-format-array ["tammikuuta" "helmikuuta" "maaliskuuta" "huhti= kuuta" "toukokuuta" "kes=C3=A4kuuta" "hein=C3=A4kuuta" "elokuuta" "syyskuut= a" "lokakuuta" "marraskuuta" "joulukuuta"] calendar-month-abbrev-array ["tammik." "helmik." "maalisk." "huhtik." "touk= ok." "kes=C3=A4k." "hein=C3=A4k." "elok." "syysk." "lokak." "marrask." "jou= luk."]) ;; names-hr.el (setq calendar-day-name-array ["nedjelja" "ponedjeljak" "utorak" "srijeda" "=C4= =8Detvrtak" "petak" "subota"] calendar-day-abbrev-array ["ned" "pon" "uto" "sri" "=C4=8Det" "pet" "sub"] calendar-day-format-array ["nedjelja" "ponedjeljak" "utorak" "srijeda" "= =C4=8Detvrtak" "petak" "subota"] calendar-day-header-array ["ned" "pon" "uto" "sri" "=C4=8Det" "pet" "sub"]= ) (setq calendar-month-name-array ["sije=C4=8Danj" "velja=C4=8Da" "o=C5=BEujak" "tr= avanj" "svibanj" "lipanj" "srpanj" "kolovoz" "rujan" "listopad" "studeni" "= prosinac"] calendar-month-format-array ["sije=C4=8Dnja" "velja=C4=8De" "o=C5=BEujka" "= travnja" "svibnja" "lipnja" "srpnja" "kolovoza" "rujna" "listopada" "studen= oga" "prosinca"] calendar-month-abbrev-array ["sij" "velj" "o=C5=BEu" "tra" "svi" "lip" "srp= " "kol" "ruj" "lis" "stu" "pro"]) ;; names-ar.el (setq calendar-day-name-array ["=D8=A7=D9=84=D8=A3=D8=AD=D8=AF" "=D8=A7=D9=84=D8= =A7=D8=AB=D9=86=D9=8A=D9=86" "=D8=A7=D9=84=D8=AB=D9=84=D8=A7=D8=AB=D8=A7=D8= =A1" "=D8=A7=D9=84=D8=A3=D8=B1=D8=A8=D8=B9=D8=A7=D8=A1" "=D8=A7=D9=84=D8=AE= =D9=85=D9=8A=D8=B3" "=D8=A7=D9=84=D8=AC=D9=85=D8=B9=D8=A9" "=D8=A7=D9=84=D8= =B3=D8=A8=D8=AA"] calendar-day-abbrev-array ["=D8=A7=D9=84=D8=A3=D8=AD=D8=AF" "=D8=A7=D9=84= =D8=A7=D8=AB=D9=86=D9=8A=D9=86" "=D8=A7=D9=84=D8=AB=D9=84=D8=A7=D8=AB=D8=A7= =D8=A1" "=D8=A7=D9=84=D8=A3=D8=B1=D8=A8=D8=B9=D8=A7=D8=A1" "=D8=A7=D9=84=D8= =AE=D9=85=D9=8A=D8=B3" "=D8=A7=D9=84=D8=AC=D9=85=D8=B9=D8=A9" "=D8=A7=D9=84= =D8=B3=D8=A8=D8=AA"] calendar-day-format-array ["=D8=A7=D9=84=D8=A3=D8=AD=D8=AF" "=D8=A7=D9=84= =D8=A7=D8=AB=D9=86=D9=8A=D9=86" "=D8=A7=D9=84=D8=AB=D9=84=D8=A7=D8=AB=D8=A7= =D8=A1" "=D8=A7=D9=84=D8=A3=D8=B1=D8=A8=D8=B9=D8=A7=D8=A1" "=D8=A7=D9=84=D8= =AE=D9=85=D9=8A=D8=B3" "=D8=A7=D9=84=D8=AC=D9=85=D8=B9=D8=A9" "=D8=A7=D9=84= =D8=B3=D8=A8=D8=AA"] calendar-day-header-array ["=D8=A3=D8=AD=D8=AF" "=D8=A5=D8=AB=D9=86=D9=8A= =D9=86" "=D8=AB=D9=84=D8=A7=D8=AB=D8=A7=D8=A1" "=D8=A3=D8=B1=D8=A8=D8=B9=D8= =A7=D8=A1" "=D8=AE=D9=85=D9=8A=D8=B3" "=D8=AC=D9=85=D8=B9=D8=A9" "=D8=B3=D8= =A8=D8=AA"]) (setq calendar-month-name-array ["=D9=8A=D9=86=D8=A7=D9=8A=D8=B1" "=D9=81=D8=A8= =D8=B1=D8=A7=D9=8A=D8=B1" "=D9=85=D8=A7=D8=B1=D8=B3" "=D8=A3=D8=A8=D8=B1=D9= =8A=D9=84" "=D9=85=D8=A7=D9=8A=D9=88" "=D9=8A=D9=88=D9=86=D9=8A=D9=88" "=D9= =8A=D9=88=D9=84=D9=8A=D9=88" "=D8=A3=D8=BA=D8=B3=D8=B7=D8=B3" "=D8=B3=D8=A8= =D8=AA=D9=85=D8=A8=D8=B1" "=D8=A3=D9=83=D8=AA=D9=88=D8=A8=D8=B1" "=D9=86=D9= =88=D9=81=D9=85=D8=A8=D8=B1" "=D8=AF=D9=8A=D8=B3=D9=85=D8=A8=D8=B1"] calendar-month-format-array ["=D9=8A=D9=86=D8=A7=D9=8A=D8=B1" "=D9=81=D8=A8= =D8=B1=D8=A7=D9=8A=D8=B1" "=D9=85=D8=A7=D8=B1=D8=B3" "=D8=A3=D8=A8=D8=B1=D9= =8A=D9=84" "=D9=85=D8=A7=D9=8A=D9=88" "=D9=8A=D9=88=D9=86=D9=8A=D9=88" "=D9= =8A=D9=88=D9=84=D9=8A=D9=88" "=D8=A3=D8=BA=D8=B3=D8=B7=D8=B3" "=D8=B3=D8=A8= =D8=AA=D9=85=D8=A8=D8=B1" "=D8=A3=D9=83=D8=AA=D9=88=D8=A8=D8=B1" "=D9=86=D9= =88=D9=81=D9=85=D8=A8=D8=B1" "=D8=AF=D9=8A=D8=B3=D9=85=D8=A8=D8=B1"] calendar-month-abbrev-array ["=D9=8A=D9=86=D8=A7=D9=8A=D8=B1" "=D9=81=D8=A8= =D8=B1=D8=A7=D9=8A=D8=B1" "=D9=85=D8=A7=D8=B1=D8=B3" "=D8=A3=D8=A8=D8=B1=D9= =8A=D9=84" "=D9=85=D8=A7=D9=8A=D9=88" "=D9=8A=D9=88=D9=86=D9=8A=D9=88" "=D9= =8A=D9=88=D9=84=D9=8A=D9=88" "=D8=A3=D8=BA=D8=B3=D8=B7=D8=B3" "=D8=B3=D8=A8= =D8=AA=D9=85=D8=A8=D8=B1" "=D8=A3=D9=83=D8=AA=D9=88=D8=A8=D8=B1" "=D9=86=D9= =88=D9=81=D9=85=D8=A8=D8=B1" "=D8=AF=D9=8A=D8=B3=D9=85=D8=A8=D8=B1"]) #+end_src =C2=B1 |master S:1 U:1 ?:169 =E2=9C=97| =E2=86=92 ls locale names-af.el names-bo.el names-doi.el names-fil.el names-hsb.el names= -kam.el names-ku.el names-mer.el names-naq.el names-ps.el names-se.= el names-ta.el names-wae.el names-agq.el names-br.el names-dsb.el names-fo.el names-hu.el names= -kde.el names-kw.el names-mfe.el names-nb.el names-pt.el names-seh= .el names-te.el names-vai.el names-ak.el names-brx.el names-dua.el names-fr.el names-hy.el names= -kea.el names-ky.el names-mg.el names-nd.el names-qu.el names-ses= .el names-teo.el names-vi.el names-am.el names-bs.el names-dyo.el names-fur.el names-ia.el names= -khq.el names-lag.el names-mgh.el names-ne.el names-rm.el names-sg.= el names-tg.el names-wo.el names-ar.el names-ca.el names-dz.el names-fy.el names-id.el names= -ki.el names-lb.el names-mgo.el names-nl.el names-rn.el names-sh.= el names-th.el names-vun.el names-ars.el names-ccp.el names-ebu.el names-ga.el names-ig.el names= -kk.el names-lg.el names-mi.el names-nmg.el names-ro.el names-shi= .el names-ti.el names-xh.el names-asa.el names-ceb.el names-ee.el names-gd.el names-ii.el names= -kkj.el names-lkt.el names-mk.el names-nn.el names-rof.el names-si.= el names-tk.el names-xog.el names-as.el names-ce.el names-el.el names-gl.el names-in.el names= -kl.el names-ln.el names-ml.el names-nnh.el names-root.el names-sk.= el names-tl.el names-yav.el names-ast.el names-cgg.el names-en.el names-gsw.el names-is.el names= -kln.el names-lo.el names-mn.el names-no.el names-ru.el names-sl.= el names-to.el names-yi.el names-az.el names-chr.el names-eo.el names-gu.el names-it.el names= -km.el names-lrc.el names-mni.el names-nus.el names-rw.el names-smn= .el names-tr.el names-yo.el names-bas.el names-ckb.el names-es.el names-guz.el names-iw.el names= -kn.el names-lt.el names-mo.el names-nyn.el names-rwk.el names-sn.= el names-tt.el names-yue.el names-be.el names-cs.el names-et.el names-gv.el names-ja.el names= -ko.el names-lu.el names-mr.el names-om.el names-sa.el names-so.= el names-twq.el names-zgh.el names-bem.el names-cy.el names-eu.el names-ha.el names-jgo.el names= -kok.el names-luo.el names-ms.el names-or.el names-sah.el names-sq.= el names-tzm.el names-zh.el names-bez.el names-da.el names-ewo.el names-haw.el names-jmc.el names= -ksb.el names-luy.el names-mt.el names-os.el names-saq.el names-sr.= el names-ug.el names-zu.el names-bg.el names-dav.el names-fa.el names-he.el names-jv.el names= -ks.el names-lv.el names-mua.el names-pa.el names-sat.el names-su.= el names-uk.el names-bm.el names-de.el names-ff.el names-hi.el names-kab.el names= -ksf.el names-mai.el names-my.el names-pcm.el names-sbp.el names-sv.= el names-ur.el names-bn.el names-dje.el names-fi.el names-hr.el names-ka.el names= -ksh.el names-mas.el names-mzn.el names-pl.el names-sd.el names-sw.= el names-uz.el