SimplePortal

Development => Feature Requests => Topic started by: thecity on April 04, 2010, 06:12:34 AM

Title: [IMPORTANT] For new SP versions
Post by: thecity on April 04, 2010, 06:12:34 AM
I've got an idea to make it more easy to translate SP fast in new languages.
New versions have new translations, because when something is added, there has to be a translation variable for it. now i come with this idea to make it much easier. Every new variable that has been added to a new version should be on the bottom of every language file, so ppl can translate much easier.

example:

we take this as the original translate file:
Code: [Select]
// Who area strings
$txt['sp_who_index'] = 'Viewing the <a href="' . $scripturl . '">Portal</a>.';
$txt['sp_who_forum'] = 'Viewing the <a href="' . $scripturl . '?action=forum">Forum</a>.';
$txt['sp_who_page'] = 'Viewing the page &quot;<a href="' . $scripturl . '?page=%1$s">%2$s</a>&quot;.';

// Error messages
$txt['error_sp_no_message_id'] = 'Invalid message ID.';
$txt['error_sp_article_exists'] = 'This article already exists.';
$txt['error_sp_cannot_add_article'] = 'You don\'t have permission to add an article.';
$txt['error_sp_cannot_remove_article'] = 'Sorry, you don\'t have permission to remove an article.';
$txt['error_sp_name_empty'] = 'The name field was left empty.';
$txt['error_sp_no_category'] = 'Sorry, articles require categories to be published! Please create a category for articles.';
$txt['error_sp_no_category_normaluser'] = 'Sorry, articles require categories to be published! Please ask an administrator to create a category for articles.';
$txt['error_sp_no_category_sp_moderator'] = 'A new category can be created <a href="%s">here</a>.';
$txt['error_sp_side_wrong'] = 'Wrong side selected.';
$txt['error_sp_block_wrong'] = 'Wrong block selected.';
$txt['error_sp_php_syntax'] = 'Syntax error in block code. Please check the code.';
$txt['error_sp_php_database'] = 'Database error in block code. Please check the code.';
$txt['error_sp_no_posts_found'] = 'No posts were found.';
$txt['error_sp_no_members_found'] = 'No members were found.';
$txt['error_sp_no_gallery_found'] = 'There are no gallery mods installed.';
$txt['error_sp_no_pictures_found'] = 'There are no pictures in the gallery.';
$txt['error_sp_no_boards_found'] = 'This forum does not have any boards.';
$txt['error_sp_no_topics_found'] = 'This forum does not have any topics.';
$txt['error_sp_no_attachments_found'] = 'No attachments were found.';
$txt['error_sp_no_polls_found'] = 'No polls were found.';
$txt['error_sp_invalid_feed'] = 'Invalid feed.';
$txt['error_sp_no_online'] = 'There aren\'t any users online.';
$txt['error_sp_no_items_day'] = 'No calendar events were found.';
$txt['error_sp_no_blog_found'] = 'There are no blog mods installed.';
$txt['error_sp_no_blogs_found'] = 'No blogs were found.';
$txt['error_sp_no_articles_found'] = 'There are no articles to display.';
$txt['error_sp_no_shop_found'] = 'There are no shop mods installed.';
$txt['error_sp_no_arcade_found'] = 'There are no arcade mods installed.';
$txt['error_sp_no_stats_found'] = 'No statistics found.';
$txt['error_sp_page_not_found'] = 'The page you requested cannot be found.';
$txt['error_sp_shoutbox_not_exist'] = $context['user']['is_admin'] ? 'We\'re sorry. It seems this shoutbox only existed in your head.' : 'Sorry, this shoutbox does not exist.';
$txt['error_sp_no_shoutbox'] = 'There either aren\'t any shoutboxes created yet or there aren\'t any shoutboxes that haven\'t already been published in a shoutbox block.';
$txt['error_sp_no_shoutbox_sp_moderator'] = 'A new shoutbox can be created <a href="%s">here</a>.';
$txt['error_sp_no_shoutbox_normaluser'] = 'Sorry, shoutbox blocks require a shoutbox to be created before you can display a shoutbox using a shoutbox block ! Please ask an administrator to create a new shoutbox.';

now when a new version comes out, every variable has to be translated again...
now here is the solution for a new version:
lets say that $txt['error_sp_no_shoutbox_veryhighadmin'] has been added in version 2.4:

Code: [Select]
// Who area strings
$txt['sp_who_index'] = 'Viewing the <a href="' . $scripturl . '">Portal</a>.';
$txt['sp_who_forum'] = 'Viewing the <a href="' . $scripturl . '?action=forum">Forum</a>.';
$txt['sp_who_page'] = 'Viewing the page &quot;<a href="' . $scripturl . '?page=%1$s">%2$s</a>&quot;.';

// Error messages
$txt['error_sp_no_message_id'] = 'Invalid message ID.';
$txt['error_sp_article_exists'] = 'This article already exists.';
$txt['error_sp_cannot_add_article'] = 'You don\'t have permission to add an article.';
$txt['error_sp_cannot_remove_article'] = 'Sorry, you don\'t have permission to remove an article.';
$txt['error_sp_name_empty'] = 'The name field was left empty.';
$txt['error_sp_no_category'] = 'Sorry, articles require categories to be published! Please create a category for articles.';
$txt['error_sp_no_category_normaluser'] = 'Sorry, articles require categories to be published! Please ask an administrator to create a category for articles.';
$txt['error_sp_no_category_sp_moderator'] = 'A new category can be created <a href="%s">here</a>.';
$txt['error_sp_side_wrong'] = 'Wrong side selected.';
$txt['error_sp_block_wrong'] = 'Wrong block selected.';
$txt['error_sp_php_syntax'] = 'Syntax error in block code. Please check the code.';
$txt['error_sp_php_database'] = 'Database error in block code. Please check the code.';
$txt['error_sp_no_posts_found'] = 'No posts were found.';
$txt['error_sp_no_members_found'] = 'No members were found.';
$txt['error_sp_no_gallery_found'] = 'There are no gallery mods installed.';
$txt['error_sp_no_pictures_found'] = 'There are no pictures in the gallery.';
$txt['error_sp_no_boards_found'] = 'This forum does not have any boards.';
$txt['error_sp_no_topics_found'] = 'This forum does not have any topics.';
$txt['error_sp_no_attachments_found'] = 'No attachments were found.';
$txt['error_sp_no_polls_found'] = 'No polls were found.';
$txt['error_sp_invalid_feed'] = 'Invalid feed.';
$txt['error_sp_no_online'] = 'There aren\'t any users online.';
$txt['error_sp_no_items_day'] = 'No calendar events were found.';
$txt['error_sp_no_blog_found'] = 'There are no blog mods installed.';
$txt['error_sp_no_blogs_found'] = 'No blogs were found.';
$txt['error_sp_no_articles_found'] = 'There are no articles to display.';
$txt['error_sp_no_shop_found'] = 'There are no shop mods installed.';
$txt['error_sp_no_arcade_found'] = 'There are no arcade mods installed.';
$txt['error_sp_no_stats_found'] = 'No statistics found.';
$txt['error_sp_page_not_found'] = 'The page you requested cannot be found.';
$txt['error_sp_shoutbox_not_exist'] = $context['user']['is_admin'] ? 'We\'re sorry. It seems this shoutbox only existed in your head.' : 'Sorry, this shoutbox does not exist.';
$txt['error_sp_no_shoutbox'] = 'There either aren\'t any shoutboxes created yet or there aren\'t any shoutboxes that haven\'t already been published in a shoutbox block.';
$txt['error_sp_no_shoutbox_sp_moderator'] = 'A new shoutbox can be created <a href="%s">here</a>.';
$txt['error_sp_no_shoutbox_normaluser'] = 'Sorry, shoutbox blocks require a shoutbox to be created before you can display a shoutbox using a shoutbox block ! Please ask an administrator to create a new shoutbox.';

// V2.4
$txt['error_sp_no_shoutbox_veryhighadmin'] = 'the new variable.';
now a translator can copy/paste the old translation file (2.3.2) and just has to translate 1 variable.







now sorry for my bad English.. I'm dutch BTW >:-D
Title: Re: [IMPORTANT] For new SP versions
Post by: [SiNaN] on April 04, 2010, 06:23:39 AM
Although that makes it easier to translate it, it makes the language files unorganized. We do provide diffs for translators though.

Also we are considering adding a translation tool for this site in the near future and that would make things a lot easier.
Title: Re: [IMPORTANT] For new SP versions
Post by: thecity on April 04, 2010, 06:34:07 AM
yep ok, but why does it have to be that organized? no one looks in in the langs files, maybe 1 or 2 persons...
Title: Re: [IMPORTANT] For new SP versions
Post by: [SiNaN] on April 04, 2010, 06:37:53 AM
You wouldn't know how many people look into the language files. Also, there are more than one person developing this mod and there can be more developers in the future. The code should be kept organized so that everyone with some grasp of PHP and SMF could understand, modify or develop it easily.
Title: Re: [IMPORTANT] For new SP versions
Post by: Nathaniel on April 04, 2010, 09:08:07 AM
What happens when a language string is modified, removed or renamed?

Such a system would not work, as developers and translators (the people who actually look at the language strings) need to know where relevant language strings are shown, this is done by separating them into categories/groups of strings.
Title: Re: [IMPORTANT] For new SP versions
Post by: AngelinaBelle on April 09, 2010, 09:21:03 PM
thecity -- I think you are right that translators need good tools to make their jobs easier.
 
Have you used diffs to identify new tags? File differences are very useful, and tools that automatically find diffs are very powerful.
 
There is so much to learn around here!
Title: Re: [IMPORTANT] For new SP versions
Post by: thecity on April 14, 2010, 04:03:23 PM
What happens when a language string is modified, removed or renamed?
[enlish]
then it will be showed in the version section where it last have been modified
[/english]
[dutch]
Dan zou het in de categorie moeten komen van de laatste versie waar dat veranderd is
[/dutch]

And those language tags should be added on this forum. for ppl who cant speak english very well :D (me)
SimplePortal 2.3.8 © 2008-2024, SimplePortal