Combined language patches that got missed due to repo dependencies

darcs-hash:20081002181338-f6e2c-cf9cf3791680634fa457cb83dc2e4f933073a9b1.gz
This commit is contained in:
CiaranG 2008-10-02 14:13:38 -04:00
parent 7f1639fda1
commit b49c2f051a
8 changed files with 3286 additions and 304 deletions

View File

@ -23,7 +23,7 @@ if (!defined('LACONICA')) { exit(1); }
function client_prefered_language($httplang) { function client_prefered_language($httplang) {
$client_langs = array(); $client_langs = array();
$all_languages = get_all_languages(); $all_languages = common_config('site','languages');
preg_match_all('"(((\S\S)-?(\S\S)?)(;q=([0-9.]+))?)\s*(,\s*|$)"',strtolower($httplang),$httplang); preg_match_all('"(((\S\S)-?(\S\S)?)(;q=([0-9.]+))?)\s*(,\s*|$)"',strtolower($httplang),$httplang);
for ($i = 0; $i < count($httplang); $i++) { for ($i = 0; $i < count($httplang); $i++) {
@ -49,35 +49,45 @@ function client_prefered_language($httplang) {
function get_nice_language_list() { function get_nice_language_list() {
$nice_lang = array(); $nice_lang = array();
$all_languages = get_all_languages(); $all_languages = common_config('site','languages');
foreach ($all_languages as $lang) { foreach ($all_languages as $lang) {
$nice_lang = $nice_lang + array($lang['lang'] => $lang['name']); $nice_lang = $nice_lang + array($lang['lang'] => $lang['name']);
} }
return $nice_lang; return $nice_lang;
} }
// Get a list of all languages that are enabled in the default config. This
// should ONLY be called when setting up the default config in common.php.
// Any other attempt to get a list of lanugages should instead call
// common_config('site','languages')
function get_all_languages() { function get_all_languages() {
$all_languages = array( return array(
'en-us' => array('q' => 1, 'lang' => 'en_US', 'name' => 'English (US)', 'direction' => 'ltr'), 'en-us' => array('q' => 1, 'lang' => 'en_US', 'name' => 'English (US)', 'direction' => 'ltr'),
'en-nz' => array('q' => 1, 'lang' => 'en_NZ', 'name' => 'English (NZ)', 'direction' => 'ltr'), 'en-nz' => array('q' => 1, 'lang' => 'en_NZ', 'name' => 'English (NZ)', 'direction' => 'ltr'),
'en-gb' => array('q' => 1, 'lang' => 'en_GB', 'name' => 'English (British)', 'direction' => 'ltr'), 'en-gb' => array('q' => 1, 'lang' => 'en_GB', 'name' => 'English (British)', 'direction' => 'ltr'),
'en' => array('q' => 1, 'lang' => 'en', 'name' => 'English', 'direction' => 'ltr'), 'en' => array('q' => 1, 'lang' => 'en', 'name' => 'English', 'direction' => 'ltr'),
'da' => array('q' => 1, 'lang' => 'da_DK', 'name' => 'Danish', 'direction' => 'ltr'), 'da' => array('q' => 0.1, 'lang' => 'da_DK', 'name' => 'Danish', 'direction' => 'ltr'),
'nl' => array('q' => 1, 'lang' => 'nl_NL', 'name' => 'Dutch', 'direction' => 'ltr'), 'nl' => array('q' => 1, 'lang' => 'nl_NL', 'name' => 'Dutch', 'direction' => 'ltr'),
'eo' => array('q' => 1, 'lang' => 'eo', 'name' => 'Esperanto', 'direction' => 'ltr'), 'eo' => array('q' => 0.1, 'lang' => 'eo', 'name' => 'Esperanto', 'direction' => 'ltr'),
'fr-fr' => array('q' => 1, 'lang' => 'fr_FR', 'name' => 'French', 'direction' => 'ltr'), 'fr-fr' => array('q' => 0.9, 'lang' => 'fr_FR', 'name' => 'French', 'direction' => 'ltr'),
'de' => array('q' => 1, 'lang' => 'de_DE', 'name' => 'German', 'direction' => 'ltr'), 'de' => array('q' => 1, 'lang' => 'de_DE', 'name' => 'German', 'direction' => 'ltr'),
'it' => array('q' => 1, 'lang' => 'it_IT', 'name' => 'Italian', 'direction' => 'ltr'), 'it' => array('q' => 1, 'lang' => 'it_IT', 'name' => 'Italian', 'direction' => 'ltr'),
'ko' => array('q' => 1, 'lang' => 'ko', 'name' => 'Korean', 'direction' => 'ltr'), 'ko' => array('q' => 0.1, 'lang' => 'ko', 'name' => 'Korean', 'direction' => 'ltr'),
'nb' => array('q' => 1, 'lang' => 'nb_NO', 'name' => 'Norwegian (bokmal)', 'direction' => 'ltr'), 'nb' => array('q' => 1, 'lang' => 'nb_NO', 'name' => 'Norwegian (bokmal)', 'direction' => 'ltr'),
'pt' => array('q' => 1, 'lang' => 'pt', 'name' => 'Portuguese', 'direction' => 'ltr'), 'pt' => array('q' => 0.2, 'lang' => 'pt', 'name' => 'Portuguese', 'direction' => 'ltr'),
'pt-br' => array('q' => 1, 'lang' => 'pt_BR', 'name' => 'Portuguese Brazil', 'direction' => 'ltr'), 'pt-br' => array('q' => 0.1, 'lang' => 'pt_BR', 'name' => 'Portuguese Brazil', 'direction' => 'ltr'),
'ru' => array('q' => 1, 'lang' => 'ru_RU', 'name' => 'Russian', 'direction' => 'ltr'), # 'ru' => array('q' => 0.1, 'lang' => 'ru_RU', 'name' => 'Russian', 'direction' => 'ltr'),
'es' => array('q' => 1, 'lang' => 'es', 'name' => 'Spanish', 'direction' => 'ltr'), 'es' => array('q' => 1, 'lang' => 'es', 'name' => 'Spanish', 'direction' => 'ltr'),
'tr' => array('q' => 1, 'lang' => 'tr_TR', 'name' => 'Turkish', 'direction' => 'ltr'), 'tr' => array('q' => 1, 'lang' => 'tr_TR', 'name' => 'Turkish', 'direction' => 'ltr'),
'uk' => array('q' => 1, 'lang' => 'uk_UA', 'name' => 'Ukrainian', 'direction' => 'ltr'), 'uk' => array('q' => 1, 'lang' => 'uk_UA', 'name' => 'Ukrainian', 'direction' => 'ltr'),
'lt' => array('q' => 1, 'lang' => 'lt_LT', 'name' => 'Lithuanian', 'direction' => 'ltr'), # 'lt' => array('q' => 0.1, 'lang' => 'lt_LT', 'name' => 'Lithuanian', 'direction' => 'ltr'),
'sv' => array('q' => 1, 'lang' => 'sv_SE', 'name' => 'Swedish', 'direction' => 'ltr'), # 'sv' => array('q' => 1, 'lang' => 'sv_SE', 'name' => 'Swedish', 'direction' => 'ltr'),
); 'pl' => array('q' => 1, 'lang' => 'pl_PL', 'name' => 'Polish', 'direction' => 'ltr'),
return $all_languages; 'mk' => array('q' => 1, 'lang' => 'mk_MK', 'name' => 'Macedonian', 'direction' => 'ltr'),
'jp' => array('q' => 0.1, 'lang' => 'ja_JP', 'name' => 'Japanese', 'direction' => 'ltr'),
'cs' => array('q' => 1, 'lang' => 'cs_CZ', 'name' => 'Czech', 'direction' => 'ltr'),
'ca' => array('q' => 1, 'lang' => 'ca_ES', 'name' => 'Catalan', 'direction' => 'ltr'),
# 'hr' => array('q' => 0.1, 'lang' => 'he_IL', 'name' => 'Hebrew', 'direction' => 'ltr')
);
} }

View File

@ -146,6 +146,7 @@ function common_init_language() {
bind_textdomain_codeset("laconica", "UTF-8"); bind_textdomain_codeset("laconica", "UTF-8");
textdomain("laconica"); textdomain("laconica");
setlocale(LC_CTYPE, 'C'); setlocale(LC_CTYPE, 'C');
common_log(LOG_INFO,'Language requested:'.$language.' Locale set:'.$locale_set,__FILE__);
} }
define('PAGE_TYPE_PREFS', 'text/html,application/xhtml+xml,application/xml;q=0.3,text/xml;q=0.2'); define('PAGE_TYPE_PREFS', 'text/html,application/xhtml+xml,application/xml;q=0.3,text/xml;q=0.2');
@ -483,25 +484,27 @@ function common_timezone() {
} }
function common_language() { function common_language() {
$httplang = isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : NULL;
$language = array();
$user_language = FALSE;
// If there is a user logged in and they've set a language preference
// then return that one...
if (common_logged_in()) { if (common_logged_in()) {
$user = common_current_user(); $user = common_current_user();
$user_language = $user->language; $user_language = $user->language;
if ($user_language)
return $user_language;
} }
if ($user_language) { // Otherwise, find the best match for the languages requested by the
return $user_language; // user's browser...
} else if (!empty($httplang)) { $httplang = isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : NULL;
$language = client_prefered_language($httplang); if (!empty($httplang)) {
if ($language) { $language = client_prefered_language($httplang);
return $language; if ($language)
} return $language;
} else { }
return common_config('site', 'language');
} // Finally, if none of the above worked, use the site's default...
return common_config('site', 'language');
} }
# salted, hashed passwords are stored in the DB # salted, hashed passwords are stored in the DB

Binary file not shown.

View File

@ -232,20 +232,21 @@ msgstr ""
#: ../actions/emailsettings.php:62 ../actions/imsettings.php:63 #: ../actions/emailsettings.php:62 ../actions/imsettings.php:63
#: ../actions/openidsettings.php:57 ../actions/smssettings.php:71 #: ../actions/openidsettings.php:57 ../actions/smssettings.php:71
msgid "Add" msgid "Add"
msgstr "" msgstr "Tilføj"
#: ../actions/openidsettings.php:43 #: ../actions/openidsettings.php:43
msgid "Add OpenID" msgid "Add OpenID"
msgstr "" msgstr "Tilføj OpenID"
#: ../lib/settingsaction.php:97 #: ../lib/settingsaction.php:97
#, fuzzy
msgid "Add or remove OpenIDs" msgid "Add or remove OpenIDs"
msgstr "" msgstr "Tilføj OpenID"
#: ../actions/emailsettings.php:38 ../actions/imsettings.php:39 #: ../actions/emailsettings.php:38 ../actions/imsettings.php:39
#: ../actions/smssettings.php:39 #: ../actions/smssettings.php:39
msgid "Address" msgid "Address"
msgstr "" msgstr "Addresse"
#: ../actions/invite.php:131 #: ../actions/invite.php:131
msgid "Addresses of friends to invite (one per line)" msgid "Addresses of friends to invite (one per line)"
@ -576,8 +577,9 @@ msgid "Email"
msgstr "" msgstr ""
#: ../actions/emailsettings.php:59 #: ../actions/emailsettings.php:59
#, fuzzy
msgid "Email Address" msgid "Email Address"
msgstr "" msgstr "Addresse"
#: ../actions/emailsettings.php:32 #: ../actions/emailsettings.php:32
msgid "Email Settings" msgid "Email Settings"

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -21,6 +21,12 @@ $languages = array(
'tr_TR' => 'http://laconi.ca/translate/download.php?file_id=37', 'tr_TR' => 'http://laconi.ca/translate/download.php?file_id=37',
'uk_UA' => 'http://laconi.ca/translate/download.php?file_id=44', 'uk_UA' => 'http://laconi.ca/translate/download.php?file_id=44',
'he_IL' => 'http://laconi.ca/translate/download.php?file_id=71', 'he_IL' => 'http://laconi.ca/translate/download.php?file_id=71',
'mk_MK' => 'http://laconi.ca/translate/download.php?file_id=67',
'ja_JP' => 'http://laconi.ca/translate/download.php?file_id=43',
'cs_CZ' => 'http://laconi.ca/translate/download.php?file_id=63',
'ca_ES' => 'http://laconi.ca/translate/download.php?file_id=49',
'pl_PL' => 'http://laconi.ca/translate/download.php?file_id=51',
'sv_SE' => 'http://laconi.ca/translate/download.php?file_id=55'
); );
/* Update the languages */ /* Update the languages */