1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/mytinytodo_ynh.git synced 2024-09-03 19:46:01 +02:00

Config panel (#30)

This commit is contained in:
Éric Gaspar 2022-02-26 14:23:25 +01:00 committed by GitHub
parent a32afe1632
commit a9d8e2f025
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 254 additions and 890 deletions

View file

@ -3,19 +3,33 @@ N.B.: This README was automatically generated by https://github.com/YunoHost/app
It shall NOT be edited by hand.
-->
# myTinyTodo for YunoHost
# MyTinyTodo for YunoHost
[![Integration level](https://dash.yunohost.org/integration/mytinytodo.svg)](https://dash.yunohost.org/appci/app/mytinytodo) ![](https://ci-apps.yunohost.org/ci/badges/mytinytodo.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/mytinytodo.maintain.svg)
[![Install myTinyTodo with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=mytinytodo)
[![Install MyTinyTodo with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=mytinytodo)
*[Lire ce readme en français.](./README_fr.md)*
> *This package allows you to install myTinyTodo quickly and simply on a YunoHost server.
> *This package allows you to install MyTinyTodo quickly and simply on a YunoHost server.
If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.*
## Overview
Open source to-do list script
### Features
- Multiple lists
- Task notes
- Tags (and tag cloud)
- Due dates
- Priority (-1, 0, +1, +2)
- Different sortings including sort by drag-and-drop
- Search
- Password protection
- Smart syntax improves creation of tasks
(usage: /priority/ Task /tags/)
- Print-friendly CSS
- tyle for mobiles devices
**Shipped version:** 1.6.8~ynh1

View file

@ -1,17 +1,31 @@
# myTinyTodo pour YunoHost
# MyTinyTodo pour YunoHost
[![Niveau d'intégration](https://dash.yunohost.org/integration/mytinytodo.svg)](https://dash.yunohost.org/appci/app/mytinytodo) ![](https://ci-apps.yunohost.org/ci/badges/mytinytodo.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/mytinytodo.maintain.svg)
[![Installer myTinyTodo avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=mytinytodo)
[![Installer MyTinyTodo avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=mytinytodo)
*[Read this readme in english.](./README.md)*
*[Lire ce readme en français.](./README_fr.md)*
> *Ce package vous permet d'installer myTinyTodo rapidement et simplement sur un serveur YunoHost.
> *Ce package vous permet d'installer MyTinyTodo rapidement et simplement sur un serveur YunoHost.
Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.*
## Vue d'ensemble
Gestionnaire de todo list
### Features
- Multiple lists
- Task notes
- Tags (and tag cloud)
- Due dates
- Priority (-1, 0, +1, +2)
- Different sortings including sort by drag-and-drop
- Search
- Password protection
- Smart syntax improves creation of tasks
(usage: /priority/ Task /tags/)
- Print-friendly CSS
- tyle for mobiles devices
**Version incluse :** 1.6.8~ynh1

View file

@ -3,13 +3,16 @@
# Configuration goes here
$config = array();
# Set a title for MyTinyTodo
$config['title'] = '__TITLE__';
# Database type: sqlite or mysql
$config['db'] = 'mysql';
# Specify these settings if you selected above to use Mysql
$config['mysql.host'] = "localhost";
$config['mysql.db'] = "__DB_NAME__";
$config['mysql.user'] = "__DB_NAME__";
$config['mysql.user'] = "__DB_USER__";
$config['mysql.password'] = "__DB_PWD__";
# Tables prefix
@ -26,13 +29,13 @@ $config['lang'] = "__LANGUAGE__";
# Specify password here to protect your tasks from modification,
# or leave empty that everyone could read/write todolist
$config['password'] = "";
$config['password'] = "__SET_PASSWORD__";
# To disable smart syntax uncomment the line below
#$config['smartsyntax'] = 0;
# Default Time zone
$config['timezone'] = 'UTC';
$config['timezone'] = '__TIMEZONE__';
# To disable auto adding selected tag comment out the line below or set value to 0
$config['autotag'] = 1;

19
config_panel.toml Normal file
View file

@ -0,0 +1,19 @@
version = "1.0"
[main]
name = "MyTinyTodo configuration"
[main.config]
name = "Configuration Options"
[main.config.title]
ask = "Set title"
type = "string"
help = "Specify a title for your todolist."
bind = "title:__FINALPATH__/db/config.php"
[main.config.set_password]
ask = "Set password"
type = "password"
help = "Specify password here to protect your tasks from modification, or leave empty that everyone could read/write todolist."
bind = "password:__FINALPATH__/db/config.php"

14
doc/DESCRIPTION.md Normal file
View file

@ -0,0 +1,14 @@
### Features
- Multiple lists
- Task notes
- Tags (and tag cloud)
- Due dates
- Priority (-1, 0, +1, +2)
- Different sortings including sort by drag-and-drop
- Search
- Password protection
- Smart syntax improves creation of tasks
(usage: /priority/ Task /tags/)
- Print-friendly CSS
- tyle for mobiles devices

View file

@ -1,5 +1,5 @@
{
"name": "myTinyTodo",
"name": "MyTinyTodo",
"id": "mytinytodo",
"packaging_format": 1,
"description": {
@ -26,7 +26,7 @@
"multi_instance": false,
"services": [
"nginx",
"php7.3-fpm",
"php8.0-fpm",
"mysql"
],
"arguments": {
@ -41,6 +41,24 @@
"example": "/mytinytodo",
"default": "/mytinytodo"
},
{
"name": "title",
"type": "string",
"ask": {
"en": "Choose a title for your todo list",
"fr": "Choisissez le titre pour votre liste de tâches"
},
"default": "myTinyTodo"
},
{
"name": "set_password",
"type": "password",
"optional": true,
"ask": {
"en": "Specify password here to protect your tasks from modification, or leave empty that everyone could read/write todolist",
"fr": "Spécifiez le mot de passe ici pour protéger vos tâches, ou laissez vide pour que tout le monde puisse lire/écrire votre liste de tâche."
}
},
{
"name": "is_public",
"type": "boolean",
@ -57,7 +75,7 @@
"en": "Choose the application language",
"fr": "Choisissez la langue de l'application"
},
"choices": ["ar", "de", "en", "fr", "ru", "zh-cn"],
"choices": ["ar", "de", "en", "fr", "it", "nl", "pt-pt", "ru", "uk", "zh-cn"],
"default": "fr"
}
]

View file

@ -4,7 +4,7 @@
# COMMON VARIABLES
#=================================================
YNH_PHP_VERSION="7.3"
YNH_PHP_VERSION="8.0"
pkg_dependencies="php${YNH_PHP_VERSION}-mysql php${YNH_PHP_VERSION}-pdo"

102
scripts/config Normal file
View file

@ -0,0 +1,102 @@
#!/bin/bash
# In simple cases, you don't need a config script.
# With a simple config_panel.toml, you can write in the app settings, in the
# upstream config file or replace complete files (logo ...) and restart services.
# The config scripts allows you to go further, to handle specific cases
# (validation of several interdependent fields, specific getter/setter for a value,
# display dynamic informations or choices, pre-loading of config type .cube... ).
#=================================================
# GENERIC STARTING
#=================================================
# IMPORT GENERIC HELPERS
#=================================================
source /usr/share/yunohost/helpers
ynh_abort_if_errors
#=================================================
# RETRIEVE ARGUMENTS
#=================================================
final_path=$(ynh_app_setting_get $app final_path)
#=================================================
# SPECIFIC GETTERS FOR TOML SHORT KEY
#=================================================
get__amount() {
# Here we can imagine to have an API call to stripe to know the amount of donation during a month
local amount = 200
# It's possible to change some properties of the question by overriding it:
if [ $amount -gt 100 ]
then
cat << EOF
style: success
value: $amount
ask:
en: A lot of donation this month: **$amount €**
EOF
else
cat << EOF
style: danger
value: $amount
ask:
en: Not so much donation this month: $amount €
EOF
fi
}
get__prices() {
local prices = "$(grep "DONATION\['" "$final_path/settings.py" | sed -r "s@^DONATION\['([^']*)'\]\['([^']*)'\] = '([^']*)'@\1/\2/\3@g" | sed -z 's/\n/,/g;s/,$/\n/')"
if [ "$prices" == "," ];
then
# Return YNH_NULL if you prefer to not return a value at all.
echo YNH_NULL
else
echo $prices
fi
}
#=================================================
# SPECIFIC VALIDATORS FOR TOML SHORT KEYS
#=================================================
validate__publishable_key() {
# We can imagine here we test if the key is really a publisheable key
(is_secret_key $publishable_key) &&
echo 'This key seems to be a secret key'
}
#=================================================
# SPECIFIC SETTERS FOR TOML SHORT KEYS
#=================================================
set__prices() {
#---------------------------------------------
# IMPORTANT: setter are trigger only if a change is detected
#---------------------------------------------
for price in $(echo $prices | sed "s/,/ /"); do
frequency=$(echo $price | cut -d/ -f1)
currency=$(echo $price | cut -d/ -f2)
price_id=$(echo $price | cut -d/ -f3)
sed "d/DONATION\['$frequency'\]\['$currency'\]" "$final_path/settings.py"
echo "DONATION['$frequency']['$currency'] = '$price_id'" >> "$final_path/settings.py"
done
#---------------------------------------------
# IMPORTANT: to be able to upgrade properly, you have to saved the value in settings too
#---------------------------------------------
ynh_app_setting_set $app prices $prices
}
#=================================================
# GENERIC FINALIZATION
#=================================================
ynh_app_config_run $1

View file

@ -24,9 +24,14 @@ domain=$YNH_APP_ARG_DOMAIN
path_url=$YNH_APP_ARG_PATH
is_public=$YNH_APP_ARG_IS_PUBLIC
language=$YNH_APP_ARG_LANGUAGE
timezone="$(cat /etc/timezone)"
phpversion=$YNH_PHP_VERSION
title=$YNH_APP_ARG_TITLE
app=$YNH_APP_INSTANCE_NAME
set_password="$YNH_APP_ARG_SET_PASSWORD"
#=================================================
# CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS
#=================================================
@ -46,6 +51,8 @@ ynh_script_progression --message="Storing installation settings..." --weight=1
ynh_app_setting_set --app=$app --key=domain --value=$domain
ynh_app_setting_set --app=$app --key=path --value=$path_url
ynh_app_setting_set --app=$app --key=language --value=$language
ynh_app_setting_set --app=$app --key=set_password --value="$set_password"
ynh_app_setting_set --app=$app --key=title --value=$title
#=================================================
# INSTALL DEPENDENCIES
@ -64,9 +71,8 @@ db_user=$db_name
ynh_app_setting_set --app=$app --key=db_name --value=$db_name
ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name
# # # Charge les commandes sql communes à tous les scripts.
# # # mysql --debug-check -u $db_user -p$db_pwd $db_user < ../conf/sql/common.sql
ynh_mysql_connect_as --user=$db_name --password=$db_pwd --database=$db_name < ../conf/sql/mytinytodo.sql
# Charge les commandes sql communes à tous les scripts.
ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ../conf/sql/mytinytodo.sql
#=================================================
# CREATE DEDICATED USER
@ -104,25 +110,25 @@ ynh_script_progression --message="Configuring PHP-FPM..." --weight=2
# Create a dedicated PHP-FPM config
ynh_add_fpm_config
phpversion=$(ynh_app_setting_get --app=$app --key=phpversion)
#=================================================
# MODIFY A CONFIG FILE
#=================================================
ynh_script_progression --message="Adding a configuration file..." --weight=1
ynh_add_config --template="../conf/config.php" --destination="$final_path/db/config.php"
chmod 600 "$final_path/db/config.php"
chown $app:$app "$final_path/db/config.php"
chmod 775 "$final_path/tmp/sessions"
#=================================================
# REMOVE UNWANTED FILES
#=================================================
ynh_secure_remove --file="$final_path/setup.php"
ynh_secure_remove --file="$final_path/db/todolist.db"
# #=================================================
# # SECURE FILES AND DIRECTORIES
# #=================================================
# # Set permissions to app files
chmod 775 $final_path/db/config.php
chmod 775 $final_path/tmp/sessions
#=================================================
# SETUP SSOWAT
#=================================================

View file

@ -28,7 +28,7 @@ path_url=$(ynh_app_setting_get --app=$app --key=path)
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
db_name=$(ynh_app_setting_get --app=$app --key=db_name)
db_user=$db_name
phpversion=$(ynh_app_setting_get --app=$app --key=phpversion)
phpversion=$YNH_PHP_VERSION
#=================================================
# CHECK IF THE APP CAN BE RESTORED
@ -71,15 +71,6 @@ chown -R $app:www-data "$final_path"
chmod 775 $final_path/db/config.php
chmod 775 $final_path/tmp/sessions
#=================================================
# RESTORE THE PHP-FPM CONFIGURATION
#=================================================
ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf"
# Recreate a dedicated PHP-FPM config
ynh_add_fpm_config
#=================================================
# REINSTALL DEPENDENCIES
#=================================================
@ -88,6 +79,16 @@ ynh_script_progression --message="Reinstalling dependencies..." --weight=1
# Define and install dependencies
ynh_install_app_dependencies $pkg_dependencies
#=================================================
# RESTORE THE PHP-FPM CONFIGURATION
#=================================================
ynh_script_progression --message="Reconfiguring PHP-FPM..." --weight=2
ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf"
# Recreate a dedicated php-fpm config
ynh_add_fpm_config
#=================================================
# RESTORE THE MYSQL DATABASE
#=================================================

View file

@ -22,7 +22,12 @@ language=$(ynh_app_setting_get --app=$app --key=language)
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
db_name=$(ynh_app_setting_get --app=$app --key=db_name)
db_user=$db_name
phpversion=$(ynh_app_setting_get --app=$app --key=phpversion)
db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd)
phpversion=$YNH_PHP_VERSION
timezone="$(cat /etc/timezone)"
set_password=$(ynh_app_setting_get --app=$app --key=set_password)
title=$(ynh_app_setting_get --app=$app --key=title)
#=================================================
# CHECK VERSION
@ -49,6 +54,22 @@ ynh_abort_if_errors
#=================================================
ynh_script_progression --message="Ensuring downward compatibility..." --weight=1
if [ -z "$set_password" ]; then
set_password=""
ynh_app_setting_set --app=$app --key=set_password --value=$set_password
fi
if [ -z "$title" ]; then
title="MytinyTodo"
ynh_app_setting_set --app=$app --key=title --value=$title
fi
# If fpm_footprint doesn't exist, create it
if [ -z "$timezone" ]; then
timezone="$(cat /etc/timezone)"
ynh_app_setting_set --app=$app --key=timezone --value=$timezone
fi
# Cleaning legacy permissions
if ynh_legacy_permissions_exists; then
ynh_legacy_permissions_delete_all
@ -72,23 +93,15 @@ if [ "$upgrade_type" == "UPGRADE_APP" ]
then
ynh_script_progression --message="Upgrading source files..." --weight=2
# Create a temporary directory
tmpdir="$(mktemp -d)"
# Backup the config file in the temp dir
cp -ar "$final_path/db" "$tmpdir/db"
# Remove the app directory securely
ynh_secure_remove --file="$final_path"
# Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source --dest_dir="$final_path"
# Copy the admin saved settings from tmp directory to final path
cp -ar "$tmpdir/db" "$final_path/db"
ynh_setup_source --dest_dir="$final_path" #--keep="$final_path/db/config.php"
# Remove the tmp directory securely
ynh_secure_remove --file="$tmpdir"
#nh_secure_remove --file="$tmpdir"
ynh_exec_warn_less ynh_add_config --template="../conf/config.php" --destination="$final_path/db/config.php"
fi
chmod 750 "$final_path"
@ -118,17 +131,6 @@ ynh_script_progression --message="Upgrading PHP-FPM configuration..." --weight=2
# Create a dedicated PHP-FPM config
ynh_add_fpm_config
#=================================================
# RESTORE OF THE SQL BDD
#=================================================
# db_pwd=$(ynh_app_setting_get $app mysqlpwd)
# # il ne faut recreer la base, c'est une maj
# #ynh_mysql_create_db $db_name $db_name $db_pwd
# # il faut prendre le script de mise a jour
# ynh_mysql_connect_as $db_name $db_pwd $db_name < $final_path/db/update.sql
#=================================================
# RESTORE USER RIGHTS
#=================================================
@ -136,7 +138,7 @@ ynh_add_fpm_config
ynh_secure_remove --file="$final_path/setup.php"
ynh_secure_remove --file="$final_path/db/todolist.db"
chmod 775 $final_path/db/config.php
chmod 600 $final_path/db/config.php
chmod 755 $final_path/tmp/sessions
#=================================================

View file

@ -1,139 +0,0 @@
<?php
/*
myTinyTodo language pack
Language: Arabic
Original name: عربي
Author: Majid Al-Dharrab
Author Email: majid@aldharrab.com
AppVersion: v1.4.2
Date: 2011-04-04
*/
class Lang extends DefaultLang
{
var $rtl = 1;
var $js = array
(
'confirmDelete' => 'هل أنت متأكد أنك تود حذف المهمة؟',
'confirmLeave' => 'قد تود بيانات لم تُحفظ. هل تود المغادرة حقًا؟',
'actionNoteSave' => 'احفظ',
'actionNoteCancel' => 'ألغِ',
'error' => 'حدث خطأ ما (انقر لمشاهدة التفاصيل)',
'denied' => 'لم يُسمح بالنفاذ',
'invalidpass' => 'كلمة السر خاطئة',
'tagfilter' => 'الوسم:',
'addList' => 'أنشئ قائمة جديدة',
'renameList' => 'غيِّر اسم القائمة',
'deleteList' => 'ستُحذف القائمة الحالية وكل ما بها من مهمات.\\nهل أنت متأكد أنك تود فعل ذلك؟',
'clearCompleted' => 'ستُحذف كل المهمات المكتملة في القائمة.\\nهل أنت متأكد أنك تود فعل ذلك؟',
'settingsSaved' => 'حُفظت الإعدادات. يعيد التحميل...',
);
var $inc = array
(
'htab_newtask' => 'مهمة جديدة',
'htab_search' => 'بحث',
'btn_add' => 'أضِف',
'btn_search' => 'ابحث',
'advanced_add' => 'متقدم',
'searching' => 'يبحث عن',
'tasks' => 'المهمات',
'taskdate_inline_created' => 'أنشئت في %s',
'taskdate_inline_completed' => 'اكتملت في %s',
'taskdate_inline_duedate' => 'تنتهي في %s',
'taskdate_created' => 'أنشئت',
'taskdate_completed' => 'اكتملت',
'go_back' => '&gt;&gt; خلف',
'edit_task' => 'حرِّر المهمة',
'add_task' => 'مهمة جديدة',
'priority' => 'الأولوية',
'task' => 'المهمة',
'note' => 'الملاحظة',
'tags' => 'الوسوم',
'save' => 'احفظ',
'cancel' => 'ألغِ',
'password' => 'كلمة السر',
'btn_login' => 'لُج',
'a_login' => 'لُج',
'a_logout' => 'اخرج',
'public_tasks' => 'المهمات العامة',
'tagcloud' => 'الوسوم',
'tagfilter_cancel' => 'ألغِ المرشح',
'sortByHand' => 'رتِّب يدويًا',
'sortByPriority' => 'رتِّب حسب الأولوية',
'sortByDueDate' => 'رتِّب حسب تاريخ الانتهاء',
'sortByDateCreated' => 'رتِّب حسب تاريخ الإنشاء',
'sortByDateModified' => 'رتِّب حسب تاريخ التعديل',
'due' => 'تنتهي',
'daysago' => 'منذ %d أيام',
'indays' => 'خلال %d أيام',
'months_short' => array('ينا','فبر','مار','أبر','ماي','يون','يول','أغس','سبت','أكت','نوف','ديس'),
'months_long' => array('يناير','فبراير','مارس','أبريل','مايو','يونيو','يوليو','أغسطس','سبتمبر','أكتوبر','نوفمبر','ديسمبر'),
'days_min' => array('أحد','إثنين','ثلاثاء','أربعاء','خميس','جمعة','سبت'),
'days_long' => array('الأحد','الإثنين','الثلاثاء','الأربعاء','الخميس','الجمعة','السبت'),
'today' => 'اليوم',
'yesterday' => 'أمس',
'tomorrow' => 'غدًا',
'f_past' => 'متأخر',
'f_today' => 'اليوم وغدًا',
'f_soon' => 'قريبًا',
'action_edit' => 'حرِّر',
'action_note' => 'حرِّر الملاحظة',
'action_delete' => 'احذف',
'action_priority' => 'الأولوية',
'action_move' => 'انقل إلى',
'notes' => 'الملاحظات:',
'notes_show' => 'أظهر',
'notes_hide' => 'أخفِ',
'list_new' => 'قائمة جديدة',
'list_rename' => 'غيِّر اسم القائمة',
'list_delete' => 'احذف القائمة',
'list_publish' => 'انشر القائمة',
'list_showcompleted' => 'أظهر المهمات المكتملة',
'list_clearcompleted' => 'امحُ المهمات المكتملة',
'list_select' => 'اختر القائمة',
'list_export' => 'صدِّر',
'list_export_csv' => 'CSV',
'list_export_ical' => 'iCalendar',
'list_rssfeed' => 'تلقيم آر‌إس‌إس',
'alltags' => 'كل الوسوم:',
'alltags_show' => 'أظهر الكل',
'alltags_hide' => 'أخفِ الكل',
'a_settings' => 'الإعدادات',
'rss_feed' => 'تلقيم آر‌إس‌إس',
'feed_title' => '%s',
'feed_completed_tasks' => 'المهمات المكتملة',
'feed_modified_tasks' => 'المهمات المعدلة',
'feed_new_tasks' => 'المهمات الجديدة',
'alltasks' => 'كل المهمات',
'set_header' => 'الإعدادات',
'set_title' => 'العنوان',
'set_title_descr' => '(حدِّد ما إذا أردت تغيير العنوان المبدئي)',
'set_language' => 'اللغة',
'set_protection' => 'الحماية بكلمة سر',
'set_enabled' => 'مفعلة',
'set_disabled' => 'معطلة',
'set_newpass' => 'كلمة السر الجديدة',
'set_newpass_descr' => '(اتركها فارغة إذا لم تكن ترغب بتغيير كلمة السر الحالية)',
'set_smartsyntax' => 'الصياغة الذكية',
'set_smartsyntax_descr' => '(/الأولوية/ المهمة /الوسوم/)',
'set_timezone' => 'المنطقة الزمنية',
'set_autotag' => 'الوسوم الآلية',
'set_autotag_descr' => '(يضيف الوسوم الموجودة في مرشّح الوسوم إلى المهمات الجديدة)',
'set_sessions' => 'طريقة التعامل مع الجلسات',
'set_sessions_php' => 'بي‌إتش‌بي',
'set_sessions_files' => 'ملفات',
'set_firstdayofweek' => 'أول أيام الأسبوع',
'set_custom' => 'مخصصة',
'set_date' => 'صيغة التواريخ',
'set_date2' => 'الصيغة القصيرة للتواريخ',
'set_shortdate' => 'الصيغة القصيرة لتواريخ السنة الجارية',
'set_clock' => 'صيغة الوقت',
'set_12hour' => '12 ساعة',
'set_24hour' => '24 ساعة',
'set_submit' => 'أرسل التغييرات',
'set_cancel' => 'ألغِ',
'set_showdate' => 'تواريخ المهمات تظهر في القائمة',
);
}

View file

@ -1,138 +0,0 @@
<?php
/*
myTinyTodo language pack
Language: German
Original name: Deutsch
Author: Pascal
Author Url: http://www.pascal90.de
AppVersion: v1.4.2
Date: 2011-06-02
*/
class Lang extends DefaultLang
{
var $js = array
(
'confirmDelete' => 'Willst Du die Aufgabe wirklich löschen?',
'confirmLeave' => 'Einige Daten wurden noch nicht gespeichert. Willst du die Seite wirklich verlassen?',
'actionNoteSave' => 'speichern',
'actionNoteCancel' => 'abbrechen',
'error' => 'Fehler aufgetreten (für Details klicken)',
'denied' => 'Zugriff verweigert',
'invalidpass' => 'Falsches Passwort',
'tagfilter' => 'Schlagwort:',
'addList' => 'Neue Liste anlegen',
'renameList' => 'Liste umbenennen',
'deleteList' => 'Die Liste wird mit allen Aufgaben gelöscht.\\nBist Du sicher?',
'clearCompleted' => 'Alle abgeschlossenen Aufgaben dieser Liste werden gelöscht.\\nBist Du sicher?',
'settingsSaved' => 'Einstellungen gespeichert. Aktualisierung...',
);
var $inc = array
(
'htab_newtask' => 'Neue Aufgabe',
'htab_search' => 'Suche',
'btn_add' => 'Hinzufügen',
'btn_search' => 'Suche',
'advanced_add' => 'Erweitert',
'searching' => 'Suche nach',
'tasks' => 'Aufgabe',
'taskdate_inline_created' => 'hinzugefügt am %s',
'taskdate_inline_completed' => 'Erledigt am %s',
'taskdate_inline_duedate' => 'Fällig am %s',
'taskdate_created' => 'Erstellt',
'taskdate_completed' => 'Erledigt',
'go_back' => '&lt;&lt; Zurück',
'edit_task' => 'Aufgabe bearbeiten',
'add_task' => 'Neue Aufgabe',
'priority' => 'Priorität',
'task' => 'Aufgabe',
'note' => 'Notiz',
'tags' => 'Schlagwörter',
'save' => 'Speichern',
'cancel' => 'Abbrechen',
'password' => 'Passwort',
'btn_login' => 'Login',
'a_login' => 'Login',
'a_logout' => 'Logout',
'public_tasks' => 'Öffentliche Aufgabe',
'tagcloud' => 'Tags',
'tagfilter_cancel' => 'Filter aufheben',
'sortByHand' => 'Manuell sortieren',
'sortByPriority' => 'Nach Priorität sortieren',
'sortByDueDate' => 'Nach Fälligkeitsdatum sortieren',
'sortByDateCreated' => 'Nach Erstelldatum sortieren',
'sortByDateModified' => 'Nach Änderungsdatum sortieren',
'due' => 'Fällig',
'daysago' => 'vor %d Tagen',
'indays' => 'in %d Tagen',
'months_short' => array('Jan','Feb','Mrz','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'),
'months_long' => array('Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'),
'days_min' => array('So','Mo','Di','Mi','Do','Fr','Sa'),
'days_long' => array('Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'),
'today' => 'heute',
'yesterday' => 'gestern',
'tomorrow' => 'morgen',
'f_past' => 'Überfällig',
'f_today' => 'Heute und morgen',
'f_soon' => 'Bald',
'action_edit' => 'Bearbeiten',
'action_note' => 'Notiz bearbeiten',
'action_delete' => 'Löschen',
'action_priority' => 'Priorität',
'action_move' => 'Verschieben nach',
'notes' => 'Notizen:',
'notes_show' => 'Anzeigen',
'notes_hide' => 'Verbergen',
'list_new' => 'Neue Liste',
'list_rename' => 'Liste umbenennen',
'list_delete' => 'Liste löschen',
'list_publish' => 'Liste veröffentlichen',
'list_showcompleted' => 'Abgeschlossene Aufgaben anzeigen',
'list_clearcompleted' => 'Abgeschlossene Aufgaben löschen',
'list_select' => 'Liste auswählen',
'list_export' => 'Export',
'list_export_csv' => 'CSV',
'list_export_ical' => 'iCalendar',
'list_rssfeed' => 'RSS Feed',
'alltags' => 'Alle Schlagwörter:',
'alltags_show' => 'Alle anzeigen',
'alltags_hide' => 'Alle verbergen',
'a_settings' => 'Einstellungen',
'rss_feed' => 'RSS Feed',
'feed_title' => '%s',
'feed_completed_tasks' => 'Abgeschlossene Aufgabe',
'feed_modified_tasks' => 'Geänderte Aufgaben',
'feed_new_tasks' => 'Neue Aufgaben',
'alltasks' => 'Alle Aufgaben',
'set_header' => 'Einstellungen',
'set_title' => 'Titel',
'set_title_descr' => '(angeben, um Standardtitel zu ändern)',
'set_language' => 'Sprache',
'set_protection' => 'Passwortschutz',
'set_enabled' => 'Aktiviert',
'set_disabled' => 'Deaktiviert',
'set_newpass' => 'Neues Passwort',
'set_newpass_descr' => '(leer lassen, um aktuelles Passwort nicht zu ändern)',
'set_smartsyntax' => 'Smartsyntax',
'set_smartsyntax_descr' => '(/Priorität/ Aufgabe /Schlagwörter/)',
'set_timezone' => 'Zeitzone',
'set_autotag' => 'Automatische Schlagwörter',
'set_autotag_descr' => '(fügt Schlagwort des aktuellen Filters automatisch der neu erstellten Aufgabe hinzu)',
'set_sessions' => 'Sessionhandling-Mechanismus',
'set_sessions_php' => 'PHP',
'set_sessions_files' => 'Dateien',
'set_firstdayofweek' => 'Erster Tag der Woche',
'set_custom' => 'benutzerdefiniert',
'set_date' => 'Datumsformat',
'set_date2' => 'Kurzes Datumsformat',
'set_shortdate' => 'Kurzes Datumsformat (aktuelles Jahr)',
'set_clock' => 'Zeitformat',
'set_12hour' => '12 Stunden',
'set_24hour' => '24 Stunden',
'set_submit' => 'Änderungen speichern',
'set_cancel' => 'Abbrechen',
'set_showdate' => 'Aufgabendatum in Liste anzeigen',
);
}

View file

@ -1,140 +0,0 @@
<?php
/*
myTinyTodo language pack
Language: English
Original name: English
Author: Max Pozdeev
Author Url: http://www.mytinytodo.net
AppVersion: v1.4.2
Date: 2011-03-21
*/
class Lang extends DefaultLang
{
var $js = array
(
'confirmDelete' => "Are you sure you want to delete the task?",
'confirmLeave' => "There can be unsaved data. Do you really want to leave?",
'actionNoteSave' => "save",
'actionNoteCancel' => "cancel",
'error' => "Some error occurred (click for details)",
'denied' => "Access denied",
'invalidpass' => "Wrong password",
'tagfilter' => "Tag:",
'addList' => "Create new list",
'renameList' => "Rename list",
'deleteList' => "This will delete current list with all tasks in it.\\nAre you sure?",
'clearCompleted' => "This will delete all completed tasks in the list.\\nAre you sure?",
'settingsSaved' => "Settings saved. Reloading...",
);
var $inc = array
(
'htab_newtask' => "New task",
'htab_search' => "Search",
'btn_add' => "Add",
'btn_search' => "Search",
'advanced_add' => "Advanced",
'searching' => "Searching for",
'tasks' => "Tasks",
'taskdate_inline_created' => "created at %s",
'taskdate_inline_completed' => "Completed at %s",
'taskdate_inline_duedate' => "Due %s",
'taskdate_created' => "Created",
'taskdate_completed' => "Completed",
'go_back' => "&lt;&lt; Back",
'edit_task' => "Edit Task",
'add_task' => "New Task",
'priority' => "Priority",
'task' => "Task",
'note' => "Note",
'tags' => "Tags",
'save' => "Save",
'cancel' => "Cancel",
'password' => "Password",
'btn_login' => "Login",
'a_login' => "Login",
'a_logout' => "Logout",
'public_tasks' => "Public Tasks",
'tagcloud' => "Tags",
'tagfilter_cancel' => "cancel filter",
'sortByHand' => "Sort by hand",
'sortByPriority' => "Sort by priority",
'sortByDueDate' => "Sort by due date",
'sortByDateCreated' => "Sort by date created",
'sortByDateModified' => "Sort by date modified",
'due' => "Due",
'daysago' => "%d days ago",
'indays' => "in %d days",
'months_short' => array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"),
'months_long' => array("January","February","March","April","May","June","July","August","September","October","November","December"),
'days_min' => array("Su","Mo","Tu","We","Th","Fr","Sa"),
'days_long' => array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"),
'today' => "today",
'yesterday' => "yesterday",
'tomorrow' => "tomorrow",
'f_past' => "Overdue",
'f_today' => "Today and tomorrow",
'f_soon' => "Soon",
'action_edit' => "Edit",
'action_note' => "Edit Note",
'action_delete' => "Delete",
'action_priority' => "Priority",
'action_move' => "Move to",
'notes' => "Notes:",
'notes_show' => "Show",
'notes_hide' => "Hide",
'list_new' => "New list",
'list_rename' => "Rename list",
'list_delete' => "Delete list",
'list_publish' => "Publish list",
'list_showcompleted' => "Show completed tasks",
'list_clearcompleted' => "Clear completed tasks",
'list_select' => "Select list",
'list_export' => "Export",
'list_export_csv' => "CSV",
'list_export_ical' => "iCalendar",
'list_rssfeed' => "RSS Feed",
'alltags' => "All tags:",
'alltags_show' => "Show all",
'alltags_hide' => "Hide all",
'a_settings' => "Settings",
'rss_feed' => "RSS Feed",
'feed_title' => "%s",
'feed_completed_tasks' => "Completed tasks",
'feed_modified_tasks' => "Modified tasks",
'feed_new_tasks' => "New tasks",
'alltasks' => "All tasks",
/* Settings */
'set_header' => "Settings",
'set_title' => "Title",
'set_title_descr' => "(specify if you want to change default title)",
'set_language' => "Language",
'set_protection' => "Password protection",
'set_enabled' => "Enabled",
'set_disabled' => "Disabled",
'set_newpass' => "New password",
'set_newpass_descr' => "(leave blank if won't change current password)",
'set_smartsyntax' => "Smart syntax",
'set_smartsyntax_descr' => "(/priority/ task /tags/)",
'set_timezone' => "Time zone",
'set_autotag' => "Autotagging",
'set_autotag_descr' => "(automatically adds tag of current tag filter to newly created task)",
'set_sessions' => "Session handling mechanism",
'set_sessions_php' => "PHP",
'set_sessions_files' => "Files",
'set_firstdayofweek' => "First day of week",
'set_custom' => "Custom",
'set_date' => "Date format",
'set_date2' => "Short Date format",
'set_shortdate' => "Short Date (current year)",
'set_clock' => "Clock format",
'set_12hour' => "12-hour",
'set_24hour' => "24-hour",
'set_submit' => "Submit changes",
'set_cancel' => "Cancel",
'set_showdate' => "Show task date in list",
);
}

View file

@ -1,137 +0,0 @@
<?php
/*
myTinyTodo language pack
Language: French
Original name: Français
Author: liryk
Author Url: http://liryk.lautre.net
AppVersion: v1.4.0
Date: 2011-01-28
*/
class Lang extends DefaultLang
{
var $js = array
(
'confirmDelete' => 'Êtes-vous sûr de vouloir supprimer la tâche ?',
'confirmLeave' => 'Il peut y avoir des données non enregistrées. Voulez-vous vraiment quitter ?',
'actionNoteSave' => 'sauvegarder',
'actionNoteCancel' => 'annuler',
'error' => 'Il y a eu des erreurs (cliquez pour plus de détails)',
'denied' => 'Accès refusé',
'invalidpass' => 'Mauvais mot de passe',
'tagfilter' => 'Mots-clefs:',
'addList' => 'Créer une nouvelle liste',
'renameList' => 'Renommer la liste',
'deleteList' => 'Cela supprimera la liste actuelle avec toutes les tâches quelle contient.\\nÊtes-vous sûr ?',
'clearCompleted' => 'Cela supprimera toutes les tâches achevées de la liste.\\nÊtes-vous sûr ?',
'settingsSaved' => 'Réglages sauvegardés. Chargement...',
);
var $inc = array
(
'htab_newtask' => 'Nouvelle tâche',
'htab_search' => 'Recherche',
'btn_add' => 'Ajouter',
'btn_search' => 'Rechercher',
'advanced_add' => 'Avancé',
'searching' => 'Recherche de',
'tasks' => 'Tâches',
'taskdate_inline_created' => 'créée le %s',
'taskdate_inline_completed' => 'Achevée le %s',
'taskdate_inline_duedate' => 'Échéance %s',
'taskdate_created' => 'Créée',
'taskdate_completed' => 'Achevée',
'go_back' => '&lt;&lt; Retour',
'edit_task' => 'Éditer la tâche',
'add_task' => 'Nouvelle tâche',
'priority' => 'Priorité',
'task' => 'Tâche',
'note' => 'Note',
'save' => 'Sauvegarder',
'cancel' => 'Annuler',
'password' => 'Mot de passe',
'btn_login' => 'Connexion',
'a_login' => 'Connexion',
'a_logout' => 'Déconnexion',
'public_tasks' => 'Tâches publiques',
'tags' => 'Mots-clefs',
'tagfilter_cancel' => 'Annuler le filtre',
'sortByHand' => 'Trier manuellement',
'sortByPriority' => 'Trier par priorité',
'sortByDueDate' => 'Trier par date déchéance',
'sortByDateCreated' => 'Trier par date de création',
'sortByDateModified' => 'Trier par date de modification',
'due' => 'Échéance',
'daysago' => 'il y a %d jours',
'indays' => 'dans %d jours',
'months_short' => array('Jan','Fév','Mar','Avr','Mai','Juin','Juil','Août','Sep','Oct','Nov','Déc'),
'months_long' => array('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'),
'days_min' => array('Dim','Lun','Mar','Mer','Jeu','Ven','Sam'),
'days_long' => array('Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'),
'today' => 'aujourdhui',
'yesterday' => 'hier',
'tomorrow' => 'demain',
'f_past' => 'En retard',
'f_today' => 'Aujourdhui et demain',
'f_soon' => 'Bientôt',
'action_edit' => 'Éditer',
'action_note' => 'Éditer la note',
'action_delete' => 'Supprimer',
'action_priority' => 'Priorité',
'action_move' => 'Envoyer vers',
'notes' => 'Notes:',
'notes_show' => 'Montrer',
'notes_hide' => 'Cacher',
'list_new' => 'Nouvelle liste',
'list_rename' => 'Renommer la liste',
'list_delete' => 'Supprimer la liste',
'list_publish' => 'Publier la liste',
'list_showcompleted' => 'Montrer les tâches achevées',
'list_clearcompleted' => 'Effacer les tâches achevées',
'list_select' => 'Sélectionner la liste',
'list_export' => 'Exporter',
'list_export_csv' => 'CSV',
'list_export_ical' => 'iCalendar',
'list_rssfeed' => 'Flux RSS',
'alltags' => 'Tous les mots-clefs:',
'alltags_show' => 'Tout montrer',
'alltags_hide' => 'Tout cacher',
'a_settings' => 'Configuration',
'rss_feed' => 'Flux RSS',
'feed_title' => '%s',
'feed_completed_tasks' => 'Tâches achevées',
'feed_modified_tasks' => 'Tâches modifiées',
'feed_new_tasks' => 'Nouvelles tâches',
'alltasks' => 'Toutes les tâches',
'set_header' => 'Configuration',
'set_title' => 'Titre',
'set_title_descr' => '(Spécifiez si vous souhaitez changer le titre par défaut)',
'set_language' => 'Langue',
'set_protection' => 'Protection par mot de passe',
'set_enabled' => 'Activé',
'set_disabled' => 'Désactivé',
'set_newpass' => 'Nouveau mot de passe',
'set_newpass_descr' => '(laissez blanc pour ne pas modifier le mot de passe actuel)',
'set_smartsyntax' => 'Syntaxe rapide',
'set_smartsyntax_descr' => '(/priorité/ tâche /mots-clefs/)',
'set_timezone' => 'Fuseaux horaires',
'set_autotag' => 'Mots-clefs automatiques',
'set_autotag_descr' => '(ajoute automatiquement les mots-clefs aux nouvelles tâches parmis ceux que vous avez déjà définis)',
'set_sessions' => 'Mécanisme de session',
'set_sessions_php' => 'PHP',
'set_sessions_files' => 'Fichiers',
'set_firstdayofweek' => 'Premier jour de la semaine',
'set_custom' => 'Personnalisé',
'set_date' => 'Format de date',
'set_date2' => 'Format de date court',
'set_shortdate' => 'Date courte (année actuelle)',
'set_clock' => 'Format de lheure',
'set_12hour' => '12 heures',
'set_24hour' => '24 heures',
'set_submit' => 'Sauvegarder la configuration',
'set_cancel' => 'Annuler',
'set_showdate' => 'Afficher la date dans la liste',
);
}

View file

@ -1,138 +0,0 @@
<?php
/*
myTinyTodo language pack
Language: Russian
Original name: Русский
Author: Max Pozdeev
Author Url: http://www.mytinytodo.net
AppVersion: v1.4.2
Date: 2011-03-21
*/
class Lang extends DefaultLang
{
var $js = array
(
'confirmDelete' => 'Вы действительно хотите удалить задачу?',
'confirmLeave' => 'На странице могут быть несохраненные данные. Вы действительно хотите закрыть страницу?',
'actionNoteSave' => 'сохранить',
'actionNoteCancel' => 'отмена',
'error' => 'Ошибка',
'denied' => 'Доступ запрещен',
'invalidpass' => 'Неверный пароль',
'tagfilter' => 'Тег:',
'addList' => 'Новый список',
'renameList' => 'Переименовать список',
'deleteList' => 'Вы действительно хотите удалить этот список со всеми задачами?',
'clearCompleted' => 'Удалить все выполненные задачи из списка?',
'settingsSaved' => 'Настройки сохранены. Перезагрузка...',
);
var $inc = array
(
'htab_newtask' => 'Новая задача',
'htab_search' => 'Поиск',
'btn_add' => 'Добавить',
'btn_search' => 'Искать',
'advanced_add' => 'Расширенная форма',
'searching' => 'Поиск',
'tasks' => 'Задачи',
'taskdate_inline_created' => 'добавлена %s',
'taskdate_inline_completed' => 'Завершена %s',
'taskdate_inline_duedate' => 'В срок %s',
'taskdate_created' => 'Дата создания',
'taskdate_completed' => 'Дата завершения',
'go_back' => '&lt;&lt; Назад',
'edit_task' => 'Редактирование задачи',
'add_task' => 'Новая задача',
'priority' => 'Приоритет',
'task' => 'Задача',
'note' => 'Заметка',
'tags' => 'Теги',
'save' => 'Сохранить',
'cancel' => 'Отмена',
'password' => 'Пароль',
'btn_login' => 'Войти',
'a_login' => 'Вход',
'a_logout' => 'Выйти',
'public_tasks' => 'Опубликованные задачи',
'tagcloud' => 'Теги',
'tagfilter_cancel' => 'отменить фильтр по тегу',
'sortByHand' => 'Сортировка вручную',
'sortByPriority' => 'Сортировка по приоритету',
'sortByDueDate' => 'Сортировка по сроку',
'sortByDateCreated' => 'Сортировка по дате добавления',
'sortByDateModified' => 'Сортировка по дате изменения',
'due' => 'Срок',
'daysago' => '%d дн. назад',
'indays' => 'через %d дн.',
'months_short' => array('Янв','Фев','Мар','Апр','Май','Июн','Июл','Авг','Сен','Окт','Ноя','Дек'),
'months_long' => array('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'),
'days_min' => array('Вс','Пн','Вт','Ср','Чт','Пт','Сб'),
'days_long' => array('Воскресенье','Понедельник','Вторник','Среда','Четверг','Пятница','Суббота'),
'today' => 'сегодня',
'yesterday' => 'вчера',
'tomorrow' => 'завтра',
'f_past' => 'Просроченные',
'f_today' => 'Сегодня и завтра',
'f_soon' => 'Скоро',
'action_edit' => 'Редактировать',
'action_note' => 'Заметка',
'action_delete' => 'Удалить',
'action_priority' => 'Приоритет',
'action_move' => 'Переместить в',
'notes' => 'Заметки:',
'notes_show' => 'Показать',
'notes_hide' => 'Скрыть',
'list_new' => 'Новый список',
'list_rename' => 'Переименовать список',
'list_delete' => 'Удалить список',
'list_publish' => 'Опубликовать список',
'list_showcompleted' => 'Показать завершенные задачи',
'list_clearcompleted' => 'Удалить завершенные задачи',
'list_select' => 'Выбрать список',
'list_export' => 'Экспортировать',
'list_export_csv' => 'CSV',
'list_export_ical' => 'iCalendar',
'list_rssfeed' => 'RSS-лента',
'alltags' => 'Все теги:',
'alltags_show' => 'Показать все',
'alltags_hide' => 'Скрыть все',
'a_settings' => 'Настройки',
'rss_feed' => 'RSS-лента',
'feed_title' => '%s',
'feed_completed_tasks' => 'Завершенные задачи',
'feed_modified_tasks' => 'Изменившиеся задачи',
'feed_new_tasks' => 'Новые задачи',
'alltasks' => 'Все задачи',
'set_header' => 'Настройки',
'set_title' => 'Заголовок страницы',
'set_title_descr' => '(если поле не заполнено, будет использован заголовок по-умолчанию)',
'set_language' => 'Язык (Language)',
'set_protection' => 'Парольная защита',
'set_enabled' => 'Включено',
'set_disabled' => 'Выключено',
'set_newpass' => 'Новый пароль',
'set_newpass_descr' => '(не заполняйте поле если не хотите менять текущий пароль)',
'set_smartsyntax' => 'Smart syntax',
'set_smartsyntax_descr' => '(возможность использовать синтаксис: /приоритет/ задача /теги/)',
'set_timezone' => 'Часовой пояс',
'set_autotag' => 'Autotagging',
'set_autotag_descr' => '(автодобавление текущего тега из фильтра в новую задачу)',
'set_sessions' => 'Хранилище сессий',
'set_sessions_php' => 'PHP',
'set_sessions_files' => 'Файлы',
'set_firstdayofweek' => 'Первый день недели',
'set_custom' => 'другой',
'set_date' => 'Формат даты',
'set_date2' => 'Формат короткой даты',
'set_shortdate' => 'Короткая дата (в текущем году)',
'set_clock' => 'Формат часов',
'set_12hour' => '12-часовой',
'set_24hour' => '24-часовой',
'set_submit' => 'Сохранить изменения',
'set_cancel' => 'Отмена',
'set_showdate' => 'Показывать дату создания задачи',
);
}

View file

@ -1,137 +0,0 @@
<?php
/*
myTinyTodo language pack
Language: Chinese (Simplified)
Original name: 中文(简体)
Author: Sun Liang
Author Url: http://www.mi93.com
AppVersion: v1.4.0
Date: 2011-01-31
*/
class Lang extends DefaultLang
{
var $js = array
(
'confirmDelete' => '您确认要删除此任务吗?',
'confirmLeave' => '存在未保存的数据,确认丢弃吗?',
'actionNoteSave' => '保存',
'actionNoteCancel' => '取消',
'error' => '发生错误!(点击查看详情)',
'denied' => '拒绝访问',
'invalidpass' => '密码错误',
'tagfilter' => '标签:',
'addList' => '新建任务列表',
'renameList' => '重命名列表',
'deleteList' => '将会删除该列表中的全部任务\\n确认删除吗',
'clearCompleted' => '将会删除列表中所有已完成的项目\\n确认删除吗',
'settingsSaved' => '设置已保存,正在重新加载……',
);
var $inc = array
(
'htab_newtask' => '新建任务',
'htab_search' => '搜索',
'btn_add' => '新建',
'btn_search' => '搜索',
'advanced_add' => '高级',
'searching' => '查找',
'tasks' => '任务',
'taskdate_inline_created' => '创建于 %s',
'taskdate_inline_completed' => '完成于 %s',
'taskdate_inline_duedate' => '%s 到期',
'taskdate_created' => '已创建',
'taskdate_completed' => '已完成',
'go_back' => '&lt;&lt; 后退',
'edit_task' => '编辑任务',
'add_task' => '新建任务',
'priority' => '优先级',
'task' => '任务',
'note' => '说明',
'save' => '保存',
'cancel' => '取消',
'password' => '密码',
'btn_login' => '登录',
'a_login' => '登录',
'a_logout' => '退出',
'public_tasks' => '公共任务',
'tags' => '标签',
'tagfilter_cancel' => '取消筛选',
'sortByHand' => '自行排序',
'sortByPriority' => '按优先级排序',
'sortByDueDate' => '按过期时间排序',
'sortByDateCreated' => '按创建时间排序',
'sortByDateModified' => '按修改时间排序',
'due' => '过期时间',
'daysago' => '%d 天前',
'indays' => '在 %d 天内',
'months_short' => array('一','二','三','四','五','六','七','八','九','十','十一','十二'),
'months_long' => array('一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'),
'days_min' => array('日','一','二','三','四','五','六'),
'days_long' => array('周日','周一','周二','周三','周四','周五','周六'),
'today' => '今日',
'yesterday' => '昨日',
'tomorrow' => '明日',
'f_past' => '已过期',
'f_today' => '最近两天',
'f_soon' => '即将到期',
'action_edit' => '编辑',
'action_note' => '编辑说明',
'action_delete' => '删除',
'action_priority' => '优先级',
'action_move' => '移动至',
'notes' => '说明:',
'notes_show' => '显示',
'notes_hide' => '隐藏',
'list_new' => '新建列表',
'list_rename' => '重命名列表',
'list_delete' => '删除列表',
'list_publish' => '发布列表',
'list_showcompleted' => '显示完整的任务',
'list_clearcompleted' => '清空已完成的任务',
'list_select' => '选择列表',
'list_export' => '导出',
'list_export_csv' => 'CSV',
'list_export_ical' => 'iCalendar',
'list_rssfeed' => 'RSS输出',
'alltags' => '所有标签:',
'alltags_show' => '显示全部',
'alltags_hide' => '隐藏全部',
'a_settings' => '设置',
'rss_feed' => 'RSS输出',
'feed_title' => '%s',
'feed_completed_tasks' => '已完成的任务',
'feed_modified_tasks' => '编辑过的任务',
'feed_new_tasks' => '新任务',
'alltasks' => '所有任务',
'set_header' => '设置',
'set_title' => '标题',
'set_title_descr' => '(如果你想要修改标题)',
'set_language' => '语言',
'set_protection' => '密码保护',
'set_enabled' => '开启',
'set_disabled' => '关闭',
'set_newpass' => '新密码',
'set_newpass_descr' => '(若无需修改密码请留空)',
'set_smartsyntax' => '智能编辑',
'set_smartsyntax_descr' => '(新建任务时使用拓展语法 /priority/ task /tags/)',
'set_timezone' => '时区',
'set_autotag' => '自动标签化',
'set_autotag_descr' => '(添加任务时,自动添加目前标签筛选器中的标签)',
'set_sessions' => '会话模式',
'set_sessions_php' => 'PHP',
'set_sessions_files' => '文件',
'set_firstdayofweek' => '一周的第一天',
'set_custom' => 'Custom',
'set_date' => '日期格式',
'set_date2' => '短日期格式',
'set_shortdate' => '短日期',
'set_clock' => '时间格式',
'set_12hour' => '12小时',
'set_24hour' => '24小时',
'set_submit' => '保存修改',
'set_cancel' => '取消',
'set_showdate' => '在任务列表中显示时间',
);
}