From a3226060fff9cad9a8fa88ccaddafe540a54c7c7 Mon Sep 17 00:00:00 2001 From: TDE Weblate Date: Sat, 15 Dec 2018 19:54:21 +0000 Subject: Update translation files Updated by Update PO files to match POT (msgmerge) hook in Weblate. --- tde-i18n-en_GB/messages/tdepim/knode.po | 416 +++++++++++++++++--------------- 1 file changed, 215 insertions(+), 201 deletions(-) (limited to 'tde-i18n-en_GB') diff --git a/tde-i18n-en_GB/messages/tdepim/knode.po b/tde-i18n-en_GB/messages/tdepim/knode.po index f4c637f9786..851902ef962 100644 --- a/tde-i18n-en_GB/messages/tdepim/knode.po +++ b/tde-i18n-en_GB/messages/tdepim/knode.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: knode\n" -"POT-Creation-Date: 2014-09-29 12:06-0500\n" +"POT-Creation-Date: 2018-12-14 01:31+0100\n" "PO-Revision-Date: 2005-11-06 01:21+0000\n" "Last-Translator: Malcolm Hunter \n" "Language-Team: British English \n" @@ -16,13 +16,13 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.10.2\n" -#: _translatorinfo.cpp:1 +#: _translatorinfo:1 msgid "" "_: NAME OF TRANSLATORS\n" "Your names" msgstr "Malcolm Hunter" -#: _translatorinfo.cpp:3 +#: _translatorinfo:2 msgid "" "_: EMAIL OF TRANSLATORS\n" "Your emails" @@ -176,27 +176,25 @@ msgstr "Unknown charset. Default charset is used instead." #: articlewidget.cpp:465 msgid "" -"
This article has the MIME type "message/partial", which KNode " -"cannot handle yet." -"
Meanwhile you can save the article as a text file and reassemble it by " -"hand.
" +"
This article has the MIME type "message/partial", which " +"KNode cannot handle yet.
Meanwhile you can save the article as a text " +"file and reassemble it by hand.
" msgstr "" -"
This article has the MIME type "message/partial", which KNode " -"cannot handle yet." -"
Meanwhile you can save the article as a text file and reassemble it by " -"hand.
" +"
This article has the MIME type "message/partial", which " +"KNode cannot handle yet.
Meanwhile you can save the article as a text " +"file and reassemble it by hand.
" #: articlewidget.cpp:482 msgid "" -"Note: This is an HTML message. For security reasons, only the raw HTML " -"code is shown. If you trust the sender of this message then you can activate " -"formatted HTML display for this message " -"by clicking here." +"Note: This is an HTML message. For security reasons, only the raw " +"HTML code is shown. If you trust the sender of this message then you can " +"activate formatted HTML display for this message by clicking here." msgstr "" -"Note: This is an HTML message. For security reasons, only the raw HTML " -"code is shown. If you trust the sender of this message then you can activate " -"formatted HTML display for this message " -"by clicking here." +"Note: This is an HTML message. For security reasons, only the raw " +"HTML code is shown. If you trust the sender of this message then you can " +"activate formatted HTML display for this message by clicking here." #: articlewidget.cpp:528 msgid "An error occurred." @@ -257,10 +255,8 @@ msgid "unnamed" msgstr "unnamed" #: articlewidget.cpp:1032 -msgid "" -"An error occurred while downloading the article source:\n" -msgstr "" -"An error occurred while downloading the article source:\n" +msgid "An error occurred while downloading the article source:\n" +msgstr "An error occurred while downloading the article source:\n" #: articlewidget.cpp:1389 kncomposer.cpp:1218 msgid "Select Charset" @@ -317,6 +313,13 @@ msgstr "" msgid "Do you really want to delete this account?" msgstr "Do you really want to delete this account?" +#: knaccountmanager.cpp:158 knarticlemanager.cpp:583 knconfigwidgets.cpp:312 +#: knconfigwidgets.cpp:1323 knconfigwidgets.cpp:1427 knconfigwidgets.cpp:1677 +#: knfiltermanager.cpp:265 knmainwidget.cpp:1591 knmainwidget.cpp:1642 +#, fuzzy +msgid "&Delete" +msgstr "D&elete" + #: knaccountmanager.cpp:162 msgid "" "At least one group of this account is currently in use.\n" @@ -430,13 +433,11 @@ msgstr "This article cannot be edited." #: knarticlefactory.cpp:602 knarticlefactory.cpp:896 msgid "" -"The signature generator program produced the following output:" -"
" -"
%1
" +"The signature generator program produced the following output:

" +"%1
" msgstr "" -"The signature generator program produced the following output:" -"
" -"
%1
" +"The signature generator program produced the following output:

" +"%1
" #: knarticlefactory.cpp:628 msgid "Article has already been sent." @@ -452,11 +453,11 @@ msgstr "Unable to load the outbox-folder." #: knarticlefactory.cpp:733 msgid "" -"You have aborted the posting of articles. The unsent articles are stored in the " -"\"Outbox\" folder." +"You have aborted the posting of articles. The unsent articles are stored in " +"the \"Outbox\" folder." msgstr "" -"You have aborted the posting of articles. The unsent articles are stored in the " -"\"Outbox\" folder." +"You have aborted the posting of articles. The unsent articles are stored in " +"the \"Outbox\" folder." #: knarticlefactory.cpp:782 msgid "" @@ -476,11 +477,11 @@ msgstr "" #: knarticlefactory.cpp:828 msgid "" -"Please enter a valid email address at the identity section of the configuration " -"dialog." +"Please enter a valid email address at the identity section of the " +"configuration dialog." msgstr "" -"Please enter a valid email address at the identity section of the configuration " -"dialogue." +"Please enter a valid email address at the identity section of the " +"configuration dialogue." #: knarticlefactory.cpp:916 msgid "Emails cannot be canceled or superseded." @@ -716,6 +717,11 @@ msgstr "Attach &File..." msgid "Sign Article with &PGP" msgstr "Sign Article with &PGP" +#: kncomposer.cpp:260 kncomposer.cpp:1928 +#, fuzzy +msgid "&Remove" +msgstr "Re&move Box" + #: kncomposer.cpp:263 kncomposer.cpp:1933 msgid "&Properties" msgstr "&Properties" @@ -942,10 +948,12 @@ msgstr "Attach File" #: kncomposer.cpp:1167 msgid "" -"The poster does not want a mail copy of your reply (Mail-Copies-To: nobody);\n" +"The poster does not want a mail copy of your reply (Mail-Copies-To: " +"nobody);\n" "please respect their request." msgstr "" -"The poster does not want a mail copy of your reply (Mail-Copies-To: nobody);\n" +"The poster does not want a mail copy of your reply (Mail-Copies-To: " +"nobody);\n" "please respect their request." #: kncomposer.cpp:1168 @@ -1083,6 +1091,10 @@ msgstr "Suggestions" msgid "No Suggestions" msgstr "Suggestions" +#: kncomposer.cpp:2497 kncomposer.cpp:2558 +msgid "File" +msgstr "" + #: kncomposer.cpp:2498 msgid "Type" msgstr "Type" @@ -1283,13 +1295,11 @@ msgstr "&Name:" #: knconfigwidgets.cpp:65 msgid "" -"" -"

Your name as it will appear to others reading your articles.

" -"

Ex: John Stuart Masterson III.

" +"

Your name as it will appear to others reading your articles.

Ex: John Stuart Masterson III.

" msgstr "" -"" -"

Your name as it will appear to others reading your articles.

" -"

Ex: John Stuart Masterson III.

" +"

Your name as it will appear to others reading your articles.

Ex: John Stuart Masterson III.

" #: knconfigwidgets.cpp:72 msgid "Organi&zation:" @@ -1297,13 +1307,11 @@ msgstr "Organi&sation:" #: knconfigwidgets.cpp:75 msgid "" -"" -"

The name of the organization you work for.

" -"

Ex: KNode, Inc.

" +"

The name of the organization you work for.

Ex: KNode, Inc.

" msgstr "" -"" -"

The name of the organisation you work for.

" -"

Ex: KNode, Inc.

" +"

The name of the organisation you work for.

Ex: KNode, Inc.

" #: knconfigwidgets.cpp:82 msgid "Email a&ddress:" @@ -1311,13 +1319,11 @@ msgstr "Email a&ddress:" #: knconfigwidgets.cpp:85 msgid "" -"" -"

Your email address as it will appear to others reading your articles

" -"

Ex: nospam@please.com." +"

Your email address as it will appear to others reading your articles

Ex: nospam@please.com." msgstr "" -"" -"

Your email address as it will appear to others reading your articles

" -"

Ex: nospam@please.com." +"

Your email address as it will appear to others reading your articles

Ex: nospam@please.com." #: knconfigwidgets.cpp:92 msgid "&Reply-to address:" @@ -1325,17 +1331,13 @@ msgstr "&Reply-to address:" #: knconfigwidgets.cpp:95 msgid "" -"" -"

When someone reply to your article by email, this is the address the message " -"will be sent. If you fill in this field, please do it with a real email " -"address.

" -"

Ex: john@example.com.

" +"

When someone reply to your article by email, this is the address the " +"message will be sent. If you fill in this field, please do it with a real " +"email address.

Ex: john@example.com.

" msgstr "" -"" -"

When someone reply to your article by email, this is the address the message " -"will be sent. If you fill in this field, please do it with a real email " -"address.

" -"

Ex: john@example.com.

" +"

When someone reply to your article by email, this is the address the " +"message will be sent. If you fill in this field, please do it with a real " +"email address.

Ex: john@example.com.

" #: knconfigwidgets.cpp:103 msgid "&Mail-copies-to:" @@ -1359,11 +1361,11 @@ msgstr "Signing ke&y:" #: knconfigwidgets.cpp:116 msgid "" -"" -"

The OpenPGP key you choose here will be used to sign your articles.

" +"

The OpenPGP key you choose here will be used to sign your articles." msgstr "" -"" -"

The OpenPGP key you choose here will be used to sign your articles.

" +"

The OpenPGP key you choose here will be used to sign your articles." #: knconfigwidgets.cpp:128 msgid "&Use a signature from file" @@ -1379,13 +1381,11 @@ msgstr "Signature &file:" #: knconfigwidgets.cpp:140 msgid "" -"" -"

The file from which the signature will be read.

" -"

Ex: /home/robt/.sig.

" +"

The file from which the signature will be read.

Ex: /home/" +"robt/.sig.

" msgstr "" -"" -"

The file from which the signature will be read.

" -"

Ex: /home/robt/.sig.

" +"

The file from which the signature will be read.

Ex: /home/" +"robt/.sig.

" #: knconfigwidgets.cpp:145 knconfigwidgets.cpp:2235 msgid "Choo&se..." @@ -1401,13 +1401,11 @@ msgstr "&The file is a program" #: knconfigwidgets.cpp:156 msgid "" -"" -"

Mark this option if the signature will be generated by a program

" -"

Ex: /home/robt/gensig.sh.

" +"

Mark this option if the signature will be generated by a program

Ex: /home/robt/gensig.sh.

" msgstr "" -"" -"

Mark this option if the signature will be generated by a program

" -"

Ex: /home/robt/gensig.sh.

" +"

Mark this option if the signature will be generated by a program

Ex: /home/robt/gensig.sh.

" #: knconfigwidgets.cpp:161 msgid "Specify signature &below" @@ -1472,14 +1470,12 @@ msgstr "New Account" msgid "Ser&ver" msgstr "Ser&ver" -#. i18n: file smtpaccountwidget_base.ui line 32 -#: knconfigwidgets.cpp:478 rc.cpp:75 +#: knconfigwidgets.cpp:478 smtpaccountwidget_base.ui:32 #, no-c-format msgid "&Server:" msgstr "&Server:" -#. i18n: file smtpaccountwidget_base.ui line 43 -#: knconfigwidgets.cpp:484 rc.cpp:78 +#: knconfigwidgets.cpp:484 smtpaccountwidget_base.ui:43 #, no-c-format msgid "&Port:" msgstr "&Port:" @@ -1500,20 +1496,17 @@ msgstr "&Timeout:" msgid "&Fetch group descriptions" msgstr "&Fetch group descriptions" -#. i18n: file smtpaccountwidget_base.ui line 76 -#: knconfigwidgets.cpp:512 rc.cpp:87 +#: knconfigwidgets.cpp:512 smtpaccountwidget_base.ui:76 #, no-c-format msgid "Server requires &authentication" msgstr "Server requires &authentication" -#. i18n: file smtpaccountwidget_base.ui line 54 -#: knconfigwidgets.cpp:517 rc.cpp:81 +#: knconfigwidgets.cpp:517 smtpaccountwidget_base.ui:54 #, no-c-format msgid "&User:" msgstr "&User:" -#. i18n: file smtpaccountwidget_base.ui line 65 -#: knconfigwidgets.cpp:523 rc.cpp:84 +#: knconfigwidgets.cpp:523 smtpaccountwidget_base.ui:65 #, no-c-format msgid "Pass&word:" msgstr "Pass&word:" @@ -1650,6 +1643,10 @@ msgstr "Close the cu&rrent thread" msgid "Go to the next &unread thread" msgstr "Go to the next &unread thread" +#: knconfigwidgets.cpp:1213 +msgid "Appearance" +msgstr "" + #: knconfigwidgets.cpp:1214 msgid "Attachments" msgstr "Attachments" @@ -1824,11 +1821,11 @@ msgstr "Dele&te" #: knconfigwidgets.cpp:1999 msgid "" -"Placeholders for replies: %NAME=sender's name, %EMAIL" -"=sender's address" +"Placeholders for replies: %NAME=sender's name, %EMAIL=sender's address" msgstr "" -"Placeholders for replies: %NAME=sender's name, %EMAIL" -"=sender's address" +"Placeholders for replies: %NAME=sender's name, %EMAIL=sender's address" #: knconfigwidgets.cpp:2002 msgid "Do not add the \"&User-Agent\" identification header" @@ -1954,17 +1951,17 @@ msgstr "Start Conversion..." #: knconvert.cpp:72 msgid "" -"Congratulations, you have upgraded to KNode version %1." -"
Unfortunately this version uses a different format for some data-files, so " -"in order to keep your existing data it is necessary to convert it first. This " -"is now done automatically by KNode. If you want to, a backup of your existing " -"data will be created before the conversion starts." +"Congratulations, you have upgraded to KNode version %1.
Unfortunately this version uses a different format for some data-" +"files, so in order to keep your existing data it is necessary to convert it " +"first. This is now done automatically by KNode. If you want to, a backup of " +"your existing data will be created before the conversion starts." msgstr "" -"Congratulations, you have upgraded to KNode version %1." -"
Unfortunately this version uses a different format for some data-files, so " -"in order to keep your existing data it is necessary to convert it first. This " -"is now done automatically by KNode. If you want to, a backup of your existing " -"data will be created before the conversion starts." +"Congratulations, you have upgraded to KNode version %1.
Unfortunately this version uses a different format for some data-" +"files, so in order to keep your existing data it is necessary to convert it " +"first. This is now done automatically by KNode. If you want to, a backup of " +"your existing data will be created before the conversion starts." #: knconvert.cpp:79 msgid "Create backup of old data" @@ -1974,6 +1971,11 @@ msgstr "Create backup of old data" msgid "Save backup in:" msgstr "Save backup in:" +#: knconvert.cpp:89 +#, fuzzy +msgid "Browse..." +msgstr "&Browse..." + #: knconvert.cpp:98 msgid "Converting, please wait..." msgstr "Converting, please wait..." @@ -1984,19 +1986,19 @@ msgstr "Processed tasks:" #: knconvert.cpp:135 msgid "" -"Some errors occurred during the conversion." -"
You should now examine the log to find out what went wrong." +"Some errors occurred during the conversion.
You should now examine " +"the log to find out what went wrong." msgstr "" -"Some errors occurred during the conversion." -"
You should now examine the log to find out what went wrong." +"Some errors occurred during the conversion.
You should now examine " +"the log to find out what went wrong." #: knconvert.cpp:139 msgid "" -"The conversion was successful." -"
Have a lot of fun with this new version of KNode. ;-)" +"The conversion was successful.
Have a lot of fun with this new " +"version of KNode. ;-)" msgstr "" -"The conversion was successful." -"
Have a lot of fun with this new version of KNode. ;-)" +"The conversion was successful.
Have a lot of fun with this new " +"version of KNode. ;-)" #: knconvert.cpp:142 msgid "Start KNode" @@ -2612,11 +2614,11 @@ msgstr "Reset Quick Search" #: knmainwidget.cpp:166 msgid "" -"Reset Quick Search" -"
Resets the quick search so that all messages are shown again." +"Reset Quick Search
Resets the quick search so that all messages " +"are shown again." msgstr "" -"Reset Quick Search" -"
Resets the quick search so that all messages are shown again." +"Reset Quick Search
Resets the quick search so that all messages " +"are shown again." #: knmainwidget.cpp:170 msgid "&Search:" @@ -3179,15 +3181,13 @@ msgstr "" #: knnntpclient.cpp:483 msgid "" -"
" -"
The article you requested is not available on your news server." -"
You could try to get it from groups.google.com." +"

The article you requested is not available on your news server." +"
You could try to get it from groups.google.com." msgstr "" -"
" -"
The article you requested is not available on your news server." -"
You could try to get it from groups.google.com." +"

The article you requested is not available on your news server." +"
You could try to get it from groups.google.com." #: knnntpclient.cpp:575 msgid "" @@ -3227,6 +3227,10 @@ msgstr "" "An error occurred:\n" "%1" +#: knode_options.h:25 +msgid "A 'news://server/group' URL" +msgstr "A 'news://server/group' URL" + #: knprotocolclient.cpp:192 knprotocolclient.cpp:202 msgid "Unable to resolve hostname" msgstr "Unable to resolve hostname" @@ -3257,10 +3261,8 @@ msgid "The connection is broken." msgstr "The connection is broken." #: knprotocolclient.cpp:472 knprotocolclient.cpp:534 knprotocolclient.cpp:594 -msgid "" -"Communication error:\n" -msgstr "" -"Communication error:\n" +msgid "Communication error:\n" +msgstr "Communication error:\n" #: knprotocolclient.cpp:504 knprotocolclient.cpp:566 msgid "Communication error" @@ -3287,15 +3289,17 @@ msgid "" "TDEWallet is not available. It is strongly recommended to use TDEWallet for " "managing your passwords.\n" "However, KNode can store the password in its configuration file instead. The " -"password is stored in an obfuscated format, but should not be considered secure " -"from decryption efforts if access to the configuration file is obtained.\n" +"password is stored in an obfuscated format, but should not be considered " +"secure from decryption efforts if access to the configuration file is " +"obtained.\n" "Do you want to store the password for server '%1' in the configuration file?" msgstr "" "TDEWallet is not available. It is strongly recommended to use TDEWallet for " "managing your passwords.\n" "However, KNode can store the password in its configuration file instead. The " -"password is stored in an obfuscated format, but should not be considered secure " -"from decryption efforts if access to the configuration file is obtained.\n" +"password is stored in an obfuscated format, but should not be considered " +"secure from decryption efforts if access to the configuration file is " +"obtained.\n" "Do you want to store the password for server '%1' in the configuration file?" #: knserverinfo.cpp:115 @@ -3350,124 +3354,134 @@ msgstr "Does NOT Contain" msgid "Regular expression" msgstr "Regular expression" -#. i18n: file kncomposerui.rc line 27 -#: rc.cpp:9 +#: utilities.cpp:170 +msgid "" +"A file named %1 already exists.
Do you want to replace it?
" +msgstr "" +"A file named %1 already exists.
Do you want to replace it?
" + +#: utilities.cpp:171 +msgid "&Replace" +msgstr "&Replace" + +#: utilities.cpp:459 +msgid "" +"Unable to load/save configuration.\n" +"Wrong permissions on home folder?\n" +"You should close KNode now to avoid data loss." +msgstr "" +"Unable to load/save configuration.\n" +"Wrong permissions on home folder?\n" +"You should close KNode now to avoid data loss." + +#: utilities.cpp:465 +msgid "Unable to load/save file." +msgstr "Unable to load/save file." + +#: utilities.cpp:471 +msgid "Unable to save remote file." +msgstr "Unable to save remote file." + +#: utilities.cpp:477 +msgid "Unable to create temporary file." +msgstr "Unable to create temporary file." + +#: kncomposerui.rc:5 knodeui.rc:5 knreaderui.rc:5 +#, fuzzy, no-c-format +msgid "&File" +msgstr "&Filter" + +#: kncomposerui.rc:13 knodeui.rc:15 knreaderui.rc:11 +#, fuzzy, no-c-format +msgid "&Edit" +msgstr "&Edit File" + +#: kncomposerui.rc:27 #, no-c-format msgid "&Attach" msgstr "&Attach" -#. i18n: file kncomposerui.rc line 33 -#: rc.cpp:12 +#: kncomposerui.rc:33 #, no-c-format msgid "Optio&ns" msgstr "Optio&ns" -#. i18n: file kncomposerui.rc line 97 -#: rc.cpp:21 +#: kncomposerui.rc:40 +#, no-c-format +msgid "&Tools" +msgstr "" + +#: kncomposerui.rc:55 knodeui.rc:131 knreaderui.rc:38 +#, no-c-format +msgid "Main Toolbar" +msgstr "" + +#: kncomposerui.rc:97 #, no-c-format msgid "Spell Result" msgstr "Spell Result" -#. i18n: file knodeui.rc line 45 -#: rc.cpp:33 +#: knodeui.rc:24 knreaderui.rc:16 +#, fuzzy, no-c-format +msgid "&View" +msgstr "Viewer" + +#: knodeui.rc:45 #, no-c-format msgid "&Go" msgstr "&Go" -#. i18n: file knodeui.rc line 55 -#: rc.cpp:36 +#: knodeui.rc:55 #, no-c-format msgid "A&ccount" msgstr "A&ccount" -#. i18n: file knodeui.rc line 64 -#: rc.cpp:39 +#: knodeui.rc:64 #, no-c-format msgid "G&roup" msgstr "G&roup" -#. i18n: file knodeui.rc line 77 -#: rc.cpp:42 +#: knodeui.rc:77 #, no-c-format msgid "Fol&der" msgstr "Fol&der" -#. i18n: file knodeui.rc line 91 -#: rc.cpp:45 rc.cpp:66 +#: knodeui.rc:91 knreaderui.rc:28 #, no-c-format msgid "&Article" msgstr "&Article" -#. i18n: file knodeui.rc line 111 -#: rc.cpp:48 +#: knodeui.rc:111 #, no-c-format msgid "Sc&oring" msgstr "Sc&oring" -#. i18n: file smtpaccountwidget_base.ui line 24 -#: rc.cpp:72 +#: knodeui.rc:121 +#, fuzzy, no-c-format +msgid "&Settings" +msgstr "Settings" + +#: smtpaccountwidget_base.ui:24 #, no-c-format msgid "&Use external mailer" msgstr "&Use external mailer" -#. i18n: file smtpaccountwidget_base.ui line 133 -#: rc.cpp:90 +#: smtpaccountwidget_base.ui:133 #, no-c-format msgid "Encryption" msgstr "Encryption" -#. i18n: file smtpaccountwidget_base.ui line 144 -#: rc.cpp:93 +#: smtpaccountwidget_base.ui:144 #, no-c-format msgid "None" msgstr "None" -#. i18n: file smtpaccountwidget_base.ui line 155 -#: rc.cpp:96 +#: smtpaccountwidget_base.ui:155 #, no-c-format msgid "SSL" msgstr "SSL" -#. i18n: file smtpaccountwidget_base.ui line 166 -#: rc.cpp:99 +#: smtpaccountwidget_base.ui:166 #, no-c-format msgid "TLS" msgstr "TLS" - -#: utilities.cpp:170 -msgid "" -"A file named %1 already exists." -"
Do you want to replace it?
" -msgstr "" -"A file named %1 already exists." -"
Do you want to replace it?
" - -#: utilities.cpp:171 -msgid "&Replace" -msgstr "&Replace" - -#: utilities.cpp:459 -msgid "" -"Unable to load/save configuration.\n" -"Wrong permissions on home folder?\n" -"You should close KNode now to avoid data loss." -msgstr "" -"Unable to load/save configuration.\n" -"Wrong permissions on home folder?\n" -"You should close KNode now to avoid data loss." - -#: utilities.cpp:465 -msgid "Unable to load/save file." -msgstr "Unable to load/save file." - -#: utilities.cpp:471 -msgid "Unable to save remote file." -msgstr "Unable to save remote file." - -#: utilities.cpp:477 -msgid "Unable to create temporary file." -msgstr "Unable to create temporary file." - -#: knode_options.h:25 -msgid "A 'news://server/group' URL" -msgstr "A 'news://server/group' URL" -- cgit v1.2.3