aboutsummaryrefslogtreecommitdiffstats
path: root/langs/report_tx_git.php
diff options
context:
space:
mode:
authorfilip <filip.komar@gmail.com>2016-09-17 14:21:30 +0200
committerfilip <filip.komar@gmail.com>2016-09-17 14:21:30 +0200
commit9c21aa31ff6e0bd4cdcba33329577a56b75c6691 (patch)
tree9dc4d0f5e8cc8bb2aab247ab56bb4c83908e2be7 /langs/report_tx_git.php
parent4941c7b691096d154788abbf86993593f0ac5f49 (diff)
downloadwww-9c21aa31ff6e0bd4cdcba33329577a56b75c6691.tar
www-9c21aa31ff6e0bd4cdcba33329577a56b75c6691.tar.gz
www-9c21aa31ff6e0bd4cdcba33329577a56b75c6691.tar.bz2
www-9c21aa31ff6e0bd4cdcba33329577a56b75c6691.tar.xz
www-9c21aa31ff6e0bd4cdcba33329577a56b75c6691.zip
move functions to lib
Diffstat (limited to 'langs/report_tx_git.php')
-rw-r--r--langs/report_tx_git.php246
1 files changed, 0 insertions, 246 deletions
diff --git a/langs/report_tx_git.php b/langs/report_tx_git.php
index 840e381bb..fee0a9c1d 100644
--- a/langs/report_tx_git.php
+++ b/langs/report_tx_git.php
@@ -240,252 +240,6 @@ if ('Documentation' == $resource_type) {
);
}
-/**
- * Transifex API implementation in php detailed on http://docs.transifex.com/developer/api/projects
- *
- * Returns $tx_result_array from Transifex request
- *
- * @param string $tx_request request
- * @param string $project default project
- *
- * @return array
-*/
-function tx_call($tx_request, $project = 'project/mageia/')
-{
- global $errors;
- $tx_url_prefix = "www.transifex.com/api/2/";
- $tx_url = $tx_url_prefix . $project . $tx_request;
-
- $user = "filip_mageia";
- $pass = "report";
-
- $tx_result = @file_get_contents("https://$user:$pass@$tx_url");
-
- $tx_result_array = json_decode($tx_result, TRUE);
- $json_last_error = json_last_error();
- if (JSON_ERROR_NONE !== $json_last_error) {
- $error = "There was an error during API call to Transifex $tx_request ($json_last_error).";
- $errors['tx_json_error'] = "$error Please reload the page later and report this on mailing list if it persist.";
- $tx_result_array = array();
- } else if (FALSE === $tx_result) {
- $error = "API call to Transifex $tx_request failed.";
- $errors['tx_call'] = "$error Please reload the page later and report this on mailing list if it persist.";
- $tx_result_array = array();
- }
- return $tx_result_array;
-}
-
-/**
- * Convert git resource name to Transifex one or reverse
- *
- * @param string $resource_name like 'about/constitution' (git name)
- * @param string $category like 'Webpages', 'Cauldron' or 'Documentation'
- * @param boolean $tx_to_git_name_conversion direction of conversion
- *
- * @return string $resource_name like 'page-about-constitution' (tx name)
-*/
-function resource_name_conversion($resource_name, $category = '')
-{
- if ('Webpages' == $category) {
- $tx_names = array('nav', '-');
- $git_names = array('_nav/langs/en', '/');
- $resource_name = 'page-' . str_replace($git_names, $tx_names, $resource_name);
- } else if ('Cauldron' == $category) {
- $tx_names = array('mageia-welcome', 'identity-catdap');
- $git_names = array('Mageia%20Welcome', 'Identity%20(CatDap)');
- $resource_name = str_replace($git_names, $tx_names, $resource_name);
- }
-
- return $resource_name;
-}
-
-/**
- * Build Transifex and git links with numbers of untranslated strings
- *
- * Returns text string
- *
- * @param string $git_resource_name like 'about/constitution'
- * @param string $language_code like 'sl'
- * @param string $resource_type like 'Webpages'
- * @param array $stat_data with numbers of untranslated strings
- *
- * @return string
-*/
-function build_links($git_resource_name, $language_code, $resource_type, $stat_data)
-{
- $tx_resource_name = resource_name_conversion($git_resource_name);
- $locale_name = locale_underscore_to_hyphen($language_code);
- if ('Webpages' == $resource_type) {
- if ('nav' == $git_resource_name) {
- $git_link = sprintf('http://gitweb.mageia.org/web/nav/tree/langs/%s.po', $locale_name);
- } else {
- $git_link = sprintf('http://gitweb.mageia.org/web/www/tree/langs/%s/%s.po', $locale_name, $git_resource_name);
- }
- } else {
- // fixing exceptions as there is a different naming convention between Tx and git for some lanuages:
- if ('system-config-printer' == $git_resource_name && 'sr@latin' == $language_code) {
- $lang_code = 'sr@latin';
- } else if ('identity-catdap' == $git_resource_name && 'en_GB' == $language_code) {
- $lang_code = 'en_gb';
- } else {
- $tx_array = array('sr@latin', 'uz@Cyrl');
- $git_array = array('sr@Latn', 'uz@cyrillic');
- $lang_code = str_replace($tx_array, $git_array, $language_code);
- }
- // treat TS files differently
- if (false !== strpos($stat_data['pot_name'], '_en.ts')) {
- $partial_git_resource_name = substr($stat_data['pot_name'], 0, -6); // cuts '_en.ts'
- $git_link = sprintf('%s%s_%s.ts', $stat_data['git_path'], $partial_git_resource_name, $lang_code); // mageiaSync_sl.ts
- } else {
- $git_link = sprintf('%s/%s.po', $stat_data['git_path'], $lang_code);
- }
- }
- $links_and_num = build_transifex_link($language_code, 'Tx', $resource_type, $tx_resource_name) . ": ";
- $links_and_num .= $stat_data['tx_untran'];
- $links_and_num .= (0 == $stat_data['tx_untran'] ? ' - full' : '');
- $links_and_num .= ', <a href="' . $git_link . '">git</a>: ';
- $links_and_num .= $stat_data['git_untran'];
- $links_and_num .= ($stat_data['num_of_all'] == $stat_data['git_untran'] ? ' - empty' : '');
-
- return $links_and_num;
-}
-
-/**
- * Build customized Transifex link
- *
- * @param string $tx_language_code like 'pt_BR'
- * @param string $link_name is the visible link name
- * @param string $tx_category like 'Webpages'
- * @param string $tx_resource_name like 'page-4'
- *
- * @return string customized Transifex link
-*/
-function build_transifex_link($tx_language_code, $link_name = NULL, $tx_category = NULL, $tx_resource_name = NULL)
-{
-// Transifex cripled direct link access in a new version in a way that limiting
-// the result by the category or resource name is no longer possible
-// $prefix = "<a href=\"http://www.transifex.com/organization/MageiaLinux/dashboard/all_resources";
- $prefix = "<a href=\"https://www.transifex.com/MageiaLinux/mageia/language";
-// $transifex_url = "$prefix/$tx_language_code/#1/?";
- $transifex_url = "$prefix/$tx_language_code/";
-/* if(!is_null($tx_resource_name)) {
- $transifex_url .= "s=$tx_resource_name&amp;";
- }
- if(!is_null($tx_category)) {
- $transifex_url .= "c=$tx_category";
- }/**/
- $transifex_url .= "\">";
- if(is_null($link_name)) {
- $transifex_url .= $tx_language_code;
- } else {
- $transifex_url .= $link_name;
- }
- $transifex_url .= "</a>";
-
- return $transifex_url;
-}
-
-/**
- * Generating report about git resources statistics
- *
- * @param array $language_codes list
- * @param array $resource_names list
- * @param string $path to the git, otherwise NULL
- *
- * @return array
-*/
-function generating_report($language_codes, $resource_names, $path = NULL, $pot_name = NULL, $compared = NULL)
-{
- $report = array();
- foreach ($resource_names as $f) {
- $source_strings = NULL;
- foreach ($language_codes as $l) {
- $references = '';
- if (is_null($pot_name)) {
- $resource = _extract_resource($f);
- } else {
- $resource = $pot_name;
- }
- $langF = _po_file_switch($f, $l);
- if (strstr($f, '../_nav/langs/en.') !== FALSE) {
- $langF = '../_nav/langs/' . $l . '.po' . (($l == 'en') ? 't' : '');
- }
- if (!is_null($path) || file_exists($langF)) {
- // treat TS files differently
- if (false !== strpos($pot_name, '_en.ts')) {
- $partial_pot_name = substr($pot_name, 0, -6); // cuts '_en.ts' from mageiaSync_en.ts
- $stat = _ts_diff($l, $partial_pot_name, $source_strings, $path);
- } else {
- $stat = _po_diff($l, $resource, $source_strings, $path, $compared);
- }
- $num_of_fuzzy_or_missing = count($stat['fuzzy_or_missing']);
- } else { // file $langF doesn't exists in 'Webpages' $resource_type
- $stat = _po_diff('en', $resource, $source_strings);
- $num_of_fuzzy_or_missing = 0;
- }
- $num_of_untranslated = count($stat['notrans']);
- $source_strings = $stat['source_strings'];
- // unify resource names, navigation is a special exception
- $resource_name = str_replace(array('../_nav/langs/en', 'en/', '.pot'), array('nav', '', ''), $f);
- // fixing exceptions as there is a different naming convention between Tx and git for some lanuages:
- if ('system-config-printer' == $resource_name && 'sr@latin' == $l) {
- $web_language_code = 'sr@latin';
- } else if ('identity-catdap' == $resource_name && 'en_gb' == $l) {
- $web_language_code = 'en_GB';
- } else {
- $git_array = array('sr@Latn', 'uz@cyrillic');
- $tx_array = array('sr@latin', 'uz@Cyrl');
- // create pt_BR from pt-br and alike to unify languages
- $web_language_code = locale_hyphen_underscore($l, true);
- $web_language_code = str_replace($git_array, $tx_array, $web_language_code);
- }
- $num_of_not_fully_trans = $num_of_fuzzy_or_missing + $num_of_untranslated;
- $report[] = array(
- 'num_of_all_strings' => $stat['a'],
-// 'fuzzy_or_missing_str' => $stat['fuzzy_or_missing'],
-// 'untranslated_strings' => $stat['notrans'],
-// 'source_strings' => $stat['source_strings'],
- 'differences' => $stat['differences'],
- 'resource_name' => $resource_name,
- 'web_language_code' => $web_language_code,
- 'num_of_not_fully_trans' => $num_of_not_fully_trans,
- 'webgit_path' => $path,
- 'pot_name' => $pot_name,
- );
- }
- }
- return $report;
-}
-
-/**
- * Returns native language name from Mageia web site if exists otherwise English name from Transifex
- *
- * @param string $language_code for language
- *
- * @return string
-*/
-function get_language_name($language_code)
-{
- global $langs;
- static $tx_languages_details = NULL;
- $web_language_code = locale_underscore_to_hyphen($language_code);
- if (array_key_exists($web_language_code, $langs)) {
- $language_name = $langs[$web_language_code];
- } else {
- if (is_null($tx_languages_details)) {
- $tx_languages_details = tx_call("languages", '');
- }
- // is language code in the $tx_languages_details array?
- $key_exists = recursive_array_search($language_code, $tx_languages_details);
- if ($key_exists !== FALSE) {
- $language_name = $tx_languages_details[$key_exists]['name'];
- } else {
- $language_name = $language_code;
- }
- }
- return $language_name;
-}
-
// get resources data from TX
$tx_resources = tx_call("resources");