Added ukrainian localization

Signed-off-by: Andriy Kopanytsia <andriykopanytsia@gmail.com>
This commit is contained in:
Andriy Kopanytsia 2012-04-19 11:19:00 +03:00
parent 565e9d6460
commit aa83a5134f
14 changed files with 697 additions and 7 deletions

View File

@ -12,11 +12,14 @@ import org.jetbrains.annotations.NotNull;
* Date: 3/5/12 * Date: 3/5/12
* Time: 10:23 PM * Time: 10:23 PM
*/ */
public class CalculationService extends Service { public class CalculationServiceImpl extends Service implements ICalculationService {
@NotNull @NotNull
private ServiceHandler handler; private ServiceHandler handler;
public CalculationServiceImpl() {
}
@Override @Override
public int onStartCommand(Intent intent, int flags, int startId) { public int onStartCommand(Intent intent, int flags, int startId) {
Toast.makeText(this, ".CalculationService.onStartCommand", Toast.LENGTH_SHORT).show(); Toast.makeText(this, ".CalculationService.onStartCommand", Toast.LENGTH_SHORT).show();
@ -56,7 +59,7 @@ public class CalculationService extends Service {
@Override @Override
public IBinder onBind(Intent intent) { public IBinder onBind(Intent intent) {
return null; return new LocalBinder<ICalculationService>(this);
} }
private final class ServiceHandler extends Handler { private final class ServiceHandler extends Handler {
@ -67,7 +70,7 @@ public class CalculationService extends Service {
@Override @Override
public void handleMessage(@NotNull Message msg) { public void handleMessage(@NotNull Message msg) {
Toast.makeText(CalculationService.this, "Doing job!", Toast.LENGTH_SHORT).show(); Toast.makeText(CalculationServiceImpl.this, "Doing job!", Toast.LENGTH_SHORT).show();
stopSelf(msg.arg1); stopSelf(msg.arg1);
} }
} }

View File

@ -0,0 +1,9 @@
package org.solovyev.android.calculator;
/**
* User: serso
* Date: 3/5/12
* Time: 10:23 PM
*/
public interface ICalculationService {
}

View File

@ -0,0 +1,33 @@
package org.solovyev.android.calculator;
import android.os.Binder;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.lang.ref.WeakReference;
/**
* A generic implementation of Binder to be used for local services
*
* @param <S> The type of the service being bound
* @author Geoff Bruckner 12th December 2009
*/
public class LocalBinder<S> extends Binder {
@NotNull
private static String TAG = "LocalBinder";
@NotNull
private WeakReference<S> serviceReference;
public LocalBinder(@NotNull S service) {
serviceReference = new WeakReference<S>(service);
}
@Nullable
public S getService() {
return serviceReference.get();
}
}

View File

@ -19,7 +19,7 @@
</activity> </activity>
<service android:name="org.solovyev.android.calculator.CalculationService"/> <service android:name=".CalculationServiceImpl"/>
<!--NOTE: a:configChanges="orientation|keyboardHidden" is needed to correct work of dialog windows (not to close them on orientation change) --> <!--NOTE: a:configChanges="orientation|keyboardHidden" is needed to correct work of dialog windows (not to close them on orientation change) -->
<activity android:configChanges="orientation|keyboardHidden" android:label="@string/c_app_settings" android:name=".CalculatorPreferencesActivity"/> <activity android:configChanges="orientation|keyboardHidden" android:label="@string/c_app_settings" android:name=".CalculatorPreferencesActivity"/>

View File

@ -11,3 +11,4 @@
target=android-15 target=android-15
android.library.reference.1=../calculatorpp-service android.library.reference.1=../calculatorpp-service
android.library.reference.2=gen-external-apklibs/org.solovyev.android_common_0.1 android.library.reference.2=gen-external-apklibs/org.solovyev.android_common_0.1

View File

@ -0,0 +1,195 @@
<!--
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
~ For more information, please, contact se.solovyev@gmail.com
~ or visit http://se.solovyev.org
-->
<resources>
<string name="c_about">Про програму</string>
<string name="c_about_content">Copyright (c) 2009-2011\n\n<b>Створено serso aka se.solovyev</b>\n\n
Сайт програми: <a href="http://calculatorpp.com/forum/">http://calculatorpp.com/forum/</a>\n\n
Ця програма з відкритим вихідним кодом:\nйого можна знайти на \n<a href="https://github.com/serso/android_calculator">http://github.com</a>\n\n
За детальною інформацією, будь ласка, звертайтеся до автора на пошту\n<a href="mailto:se.solovyev@gmail.com">se.solovyev@gmail.com</a>
\nабо відвідайте сайт\n<a href="http://se.solovyev.org">http://se.solovyev.org</a>\n\n
Якщо хочете підтримати проект фінансово,\nто ви можете купити спеціальну опцію у налаштуваннях програми\n
переказати гроші через \n<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=se%2esolovyev%40gmail%2ecom&amp;lc=RU&amp;item_name=Android%20Calculator&amp;currency_code=USD&amp;bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted">http://paypal.com</a>\n\n
Якщо вам сподобалася програма,\n то оцініть її у 5 зірочок на\n<a href="https://market.android.com/details?id=org.solovyev.android.calculator">Google.Play</a>\n\n
Дякую усім, хто переклав Калькулятор++ на інші мови:\n
італійську - Gabriele Ravanetti\n
іспанську - Jordi Luna\n
українську - Андрій Бандура\n\n
Ця програма використовує наступні відкриті бібліотеки:\n
<a href="http://simple.sourceforge.net">Simple (XML serialization)</a>\n
<a href="http://meditorworld.appspot.com/meditor.txt">JSCL</a>\n
<a href="http://www.achartengine.org/">AChartEngine</a>
</string>
<string name="c_release_notes">Замітки до випуску</string>
<string name="c_release_notes_for_title">„Замітки до випуску версії“</string>
<string name="c_release_notes_for_4">
1. Реакція на натискання\n
2. Дві розкладки кнопок: калькулятор і телефон\n
3. Нові константи\n
4. Повідомлення про помилку появляється рідше
</string>
<string name="c_release_notes_for_5">
1. Екран з усіма доступними функціями\n
2. Додано підтримку десяткового логарифма, факторіала, функцій порівняння\n
3. Налаштування тривалості реакції на натискання
</string>
<string name="c_release_notes_for_6">
1. Збереження констант у два кліки (використовуйте +π кнопку)\n
2. Розмір результату автоматично регулюється для заповнення усього вільного простору\n
3. Виправлено помилку відсутності результату в Xperia Ray\n
4. Виправлено помилку розрахунку подвійного факторіала\n
5. Додано градуси (використовуйте °, наприклад, 30° і результат буде автоматично перетворено у радіани)
</string>
<string name="c_release_notes_for_7">
1. Підтримка вводу чисел у експоненційній формі (2.3E2)\n
2. Додано функції: deg(), rad() для перетворення радіан у градуси і навпаки\n
3. Додано підтримку встановлення програми на карту пам’яті\n
4. Додано можливість зберегти цілий вираз як сталу (наприклад, наберіть ln(6t), натисніть +π кнопку, введіть ім’я та збережіть)\n
5. Виправлено проблему з функцією abs() and комплексним аргументом\n
6. Виправлено проблему з відображенням результату
</string>
<string name="c_release_notes_for_8">
1. Виправлено проблему з i^3\n
2. Виправлено збій через велику кількість дужок
</string>
<string name="c_release_notes_for_9" formatted="false">
1. Відсоткові обчислення.\n
Приклади:\n
100+50%=150,\n
100*50%=50,\n
100+100*50%*50%=125,\n
100+(100*50%*(25+25)%+100%)=150\n
ЗАУВАЖЕННЯ:\n
100+(20+20)%=140, але 100+(20%+20%)=124.0\n
100+50%^2=2600, але 100+50^2%=101.08
</string>
<string name="c_release_notes_for_12">
1. Додано екран Допомога\n
2. Підтримка диференціювання, інтегрування, обчислення суми і добутку.\n
Приклади:\n
∂(cos(t),t)=-sin(t)\n
2∂(tcos(t),t,2)=-4.469\n
Σ(n/n!,n,1,20)=2.7182\n
∫(1/x, x)=ln(x)\n
∫ab(x, x, 0, 10)=50.0
</string>
<string name="c_release_notes_for_13">
1. Виправлено крах програми\n
2. Додано змінні на головному екрані
</string>
<string name="c_release_notes_for_14">
1. Підтримка різних одиниць виміру кутів: радіани, градуси, гради, обороти\n
2. Швидке переключення між радіанами та градусами: використовуйте перемикач, розміщений на кнопці 6\n
3. Програму перекладено на італійську мову (завдяки Gabriele Ravanetti)\n
4. Виправлено проблему із спрощенням виразу √(π^2)
</string>
<string name="c_release_notes_for_15">
1. Додано побудову графіків: введіть вираз з одніє невідомою змінною (наприклад, cos(t)) і натисніть результат. У контекстному меню виберіть \'Побудувати графік\'. Підтримувані операції: масштабування, зсув, побудова графіка уявної частини
</string>
<string name="c_release_notes_for_16">
1. Buttons swipe preference\n
2. Додано підтримку для різних систем числення (dec, bin, oct). Dec та bin можна вибрати із головного екрану (кнопка CE) та у налаштуваннях програми\n
3. Виправлено проблему спрощення для √ \n
4. Збільшено швидкість побудови графіків
</string>
<string name="c_release_notes_for_20">
1. Підтримка зсуву вліво, вправо\n
2. Розширена історія: зберегти, вилучити, копіювати (натисніть і утримуйте для додаткових дій)\n
3. Додано іспанську мову\n
4. Повна підтримка систем числення (dec, hex, oct, bin)\n
5. !!!: Виправлено проблему із знаком множення на деяких пристрояї - якщо у вас дивні символи замість × - перейдіть до налаштувань та змініть знак множення на *\n
6. Виправлено: правильне обчислення подвійного факторіала, 20x, e^(pi*i)+1 fix та ін.
</string>
<string name="c_release_notes_for_21">
1. Додано екран заміток до випуску \n
2. Додано категорії функцій та змінних\n
3. Додано додаткові дії для констант, функцій та операторів (long click on the item and choose from context menu)\n
4. Додано функцію обчислення логарифма за довільною основою \n
5. Налаштування кнопки „Назад“\n
6. Варіант константи π незалежної одиниць виміру кутів
</string>
<string name="c_release_notes_for_22">
1. Виправлено відсутність курсора на пристроях з Android 3 та вище\n
2. Виправлена проблема з заміною 3.14... на константу Π
</string>
<string name="c_release_notes_for_23">
1. Виправлена проблема обчислення обернених тригонометричних функцій у комплексному полі\n
2. Вилучено затримку обчислень у часі\n
3. Виправлено проблему 200 - 10% = π
</string>
<string name="c_release_notes_for_24">
Від розробника\n\n
На жаль, мушу повідомити Вас, що у цій версії програми появилася реклама.\n
Я не бачив на Google Play калькулятор з подібними можливостями і не думаю, що побачу у найближчому майбутньому.\n
Але тим не менш я хочу розвивати його функціональність та підтримувати вже втілене. Так трапилося, що я вже не можу це робити безкоштовно - розробка забирає багато часу та зусиль від мене,
тому що програма стала надто великою та складною.\n
Якщо ви хочете підтримати проект та забрати рекламу, то ви можете купити спеціальну опцію у налаштуваннях програми,\n
якщо ви не хочете платити чи не можете це зробити, то можна подякувати авторові по пошті: se.solovyev@gmail.com, високо оцінити програму на Google Play\n
або допомогти перекласти цю програму на вашу рідну мову.
</string>
<string name="c_release_notes_for_25">
1. Інтегрування ln() та lg()\n
2. Остання відкрита вкладка зберігається (історія, змінні тощо)\n
3. Параметр „Вилучити“ з контекстного меню для змінних\n
4. Проблема з 1/0n
5. Проблема відображення для прошивок MIUI\n
6. Кнопка подвійного нуля (00)
</string>
<string name="c_release_notes_for_26">
1. Інтегрування тригонометричних функцій заборонено для відмінних від радіан кутових одиниць\n
2. Виправлено проблему 1/0 = -1/0\n
3. Виправлено проблему ∫(sin(t°), t)\n
4. Інші дрібні виправлення
</string>
<string name="c_release_notes_for_27">
Від розробника:\n\n
Я радий повідомити Вас, що запустив форум для Калькулятор++: http://calculatorpp.com/forum/.\n
Тут ви можете знайти усю останню інформацію про програму, дізнатися про відомі проблеми та внести свої пропозиції.\n
Для входу ви можете скористатися обліковим записом соціальної мережі (Facebook, Twitter or Google are supported).\n\n
1. Додано кнопки управління масштабом на графіку\n
2. Виправлено проблему рахунків\n
3. Виправлено проблему збереження констант\n
4. Виправлено проблему з відображенням на Android 4 (проблема апаратного прискорення)\n
5. Інші дрібні виправлення
</string>
<string name="c_release_notes_for_29">
1. Нова тема оформлення Metro з 3 кольровими видозмінами (старі теми також доступні)\n
2. Проста розкладка (по замовчуванню розкладка - наукова)\n
3. Змінено екран налаштувань\n
4. Додано параметр задання максимального часу обчислень\n
5. Додано параметр для виводу результатів у експоненціальній формі\n
6. Додано параметр очищення інформації про купівлю\n
7. Напис „Помилка“ замінено на затемнений текст\n
8. Спеціальна розклад для екранів великої розмірності (підтримка Galaxy Note)\n
9. Виправлено проблему обчислення Sgn(0) \n
10. Виправлені проблеми купівлі програми
</string>
</resources>

View File

@ -0,0 +1,18 @@
<!--
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
~ For more information, please, contact se.solovyev@gmail.com
~ or visit http://se.solovyev.org
-->
<resources>
<string name="c_donate">Пожертви</string>
<string name="c_donate_text">Ви можете подякувати автору цієї програми по пошті\n\n
<a href="mailto:se.solovyev@gmail.com">se.solovyev@gmail.com</a>\n\n
купити спеціальну опцію у налаштуваннях програми\n\n
пожертвувати гроші через \n\n<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=se%2esolovyev%40gmail%2ecom&amp;lc=RU&amp;item_name=Android%20Calculator&amp;currency_code=USD&amp;bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted">http://paypal.com</a>\n\n
або оцінити її у 5 зірочок на \n\n<a href="https://market.android.com/details?id=org.solovyev.android.calculator">Google Play</a>
</string>
</resources>

View File

@ -0,0 +1,43 @@
<!--
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
~ For more information, please, contact se.solovyev@gmail.com
~ or visit http://se.solovyev.org
-->
<resources>
<string name="c_functions">Функції</string>
<string name="c_fun_decription_sin">Тригонометрична фунція синус.</string>
<string name="c_fun_description_cos">Тригонометрична функція косинус.</string>
<string name="c_fun_description_tan">Тригонометрична функція тангенс.</string>
<string name="c_fun_description_cot">Тригонометрична функція котангенс.</string>
<string name="c_fun_description_asin">Арксинус - обернена функція до синуса.</string>
<string name="c_fun_description_acos">Арккосинус - обернена функція до косинуса.</string>
<string name="c_fun_description_atan">Арктангенс - обернена функція до тангенса.</string>
<string name="c_fun_description_acot">Арккотангенс - обернена функція до котангенса.</string>
<string name="c_fun_description_ln">Натуральний логариф - логарифм за основою e.</string>
<string name="c_fun_description_lg">Десятковий логарифм - логарифм за основою 10.</string>
<string name="c_fun_description_log">Логарифм - логарифм за заданою основою.</string>
<string name="c_fun_description_exp">Експонента.</string>
<string name="c_fun_description_sqrt">Квадратний корінь.</string>
<string name="c_fun_description_cubic">Кубічний корінь.</string>
<string name="c_fun_description_abs">Абсолютне значення (модуль) аргумента.</string>
<string name="c_fun_description_sgn">Знак аргумента: -1, якщо аргумент менший за 0, 0, якщо рівний 0, 1, якщо більший за 0.</string>
<string name="c_fun_description_eq">Фунцкія рівності - дає результат 1, якщо обидва аргументи рівні, інакше 0.</string>
<string name="c_fun_description_le">Функція менше-або-дорівнює - дає результат 1, якщо обидва аргументи рівні або перший менший другого, інакше 0.</string>
<string name="c_fun_description_ge">Функція більше-або-дорівнює - дає результат 1, якщо обидва аргументи рівні або перший більший другого, інакше 0.</string>
<string name="c_fun_description_ne">Функція не-дорівнює - дає результат 1, якщо обидва аргументи не рівні, інакше 0.</string>
<string name="c_fun_description_lt">Функція менше - дає результат 1, якщо перший аргумент менший другого, інакше 0.</string>
<string name="c_fun_description_gt">Функція більше - дає результат 1, якщо перший аргумент більший другого, інакше 0.</string>
<string name="c_fun_description_rad">Перетворює градуси у радіани: d - градуси, m - мінути (по замовчуванню = 0), s - секунди (за замовчуванням = 0).</string>
<string name="c_fun_description_dms">Перетворює градуси із шістдесяткової системи у десяткову: d - градуси, m - мінути (за замовчуванням = 0), s - секунди (за замовчуванням = 0).</string>
<string name="c_fun_description_deg">Перетворює радіани у градуси.</string>
<string name="c_fun_category_trig">Тригонометричні</string>
<string name="c_fun_category_hyper_trig">Гіперболічні</string>
<string name="c_fun_category_comparison">Порівняння</string>
<string name="c_fun_category_common">Загальні</string>
<string name="c_fun_category_my">Власні</string>
</resources>

View File

@ -0,0 +1,104 @@
<!--
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
~ For more information, please, contact se.solovyev@gmail.com
~ or visit http://se.solovyev.org
-->
<resources>
<string name="c_faq">ЧаП</string>
<string name="c_hints">Підказки</string>
<string name="c_screens">Екрани</string>
<string name="c_faq_content" formatted="false">
<b>Як я можу забрати рекламу?</b>\n
\n
Ви можете це зробити, купивши спеціальну опцію у налаштуваннях програми.\n
\n
<b>Чому Калькулятор++ потребує дозволу для виходу в інтернет?</b>\n
\n
На даний час програмі потрібний такий дозвіл лише для однієї цілі - показати рекламу. Якщо ви купите спеціальну опцію, то K++ не буде більше використовувати ваше інтернет-з’єднання.\n
\n
<b>Як я можу використовувати функції, написані у верхньому правому та нижньому правому куті кнопки?</b>\n
\n
Натисніть на кнопку, утримуйте і посуньте легко вгору або вниз. Залежно від значення вказаного на кнопці відбудеться відповідна дія.\n
\n
<b>Як можна перемикатися між радіанами та градусами?</b>\n
\n
Для перемикання одиниць вимірювання кутів ви можете вибрати відповідний пункт налаштувань програми,\n або скористатися перемикачем, розміщеним на кнопці 6\n
(current value is lighted with yellow color).\n
Також ви можете скористатися функціями deg() та rad() і оператором ° для перетворення радіан у градуси і навпаки.\n
\n
<b>Приклади:</b>\n
268° = 4.67748\n
30.21° = 0.52726\n
rad(30, 21, 0) = 0.52971\n
deg(4.67748) = 268\n
\n
<b>Чи підтримує К++ відсотки (%)?</b>\n
\n
Так, функція % може бути знайдена у верхньому правому куті кнопки /.\n
\n
<b>Приклади:</b>\n
\n
100 + 50% = 150\n
100 * 50% = 50\n
100 + 100 * 50% * 50% = 125\n
100 + (100 * 50% * (25 + 25)% + 100%) = 150\n
\n
<b>Зауваження:</b>\n
\n
100 + (20 + 20)% = 140, <b>but</b> 100+ (20% + 20%) = 124.0\n
100 + 50% ^ 2 = 2600, <b>but</b> 100 + 50 ^ 2% = 101.08\n
\n
<b>Чи підтримує К++ дробові обчислення?</b>\n
\n
Так, ви можете ввести дробовий вираз у редакторі і використати ≡ (у правому верхньому куті кнопки =). Також ви можете використати ≡ для спрощення виразу.\n
\n
<b>Приклади:</b>\n
\n
2/3 + 5/9 ≡ 11/9\n
2/9 + 3/123 ≡ 91/369\n
(6 - t) ^ 3 ≡ 216 - 108t + 18t ^ 2 - t ^ 3\n
\n
<b>Чи підтримує К++ комплексні обчислення?</b>\n
\n
Так, просто введіть комплексний вираз (використовуючи i або √(-1) як уявну одиницю).\n
\n
<b>Приклади:</b>\n
\n
(2i + 1) ^ 2 = -3 + 4i\n
e ^ i = 0.5403 + 0.84147i\n
\n
<b>Чи може К++ будувати графіки функції?</b>\n
\n
Так, введіть вираз, який містить одну змінну (наприклад, cos(t) і t не має ніякого значення) та клацніть на результат. У контекстному меню виберіть \'Побудувати графік\'.\n
\n
<b>Чи підтримує К++ матричні обчислення?</b>\n
\n
Ні.\n
\n
<b>Чому я отримую 1.76732452452345E-17 замість 0?</b>\n
\n
Перевірте параметр \'Заокруглювати результат\' у налаштуваннях програми - він має бути включений.\n
</string>
<string name="c_hints_content">
1. Ви можете пропустити непотрібні знаки множення (замість 3*t або t*sin(π*t) набрати 3t або tsin(πt))\n\n
2. Використовуйте ≡ (у правому верхньому куті кнопки = ) для спрощення виразу\n\n
3. Натисніть на результат для копіювання його у буфер обміну\n\n
4. Використовуйте кнопку = рідше - результат обчислюється автоматично\n\n
5. Додавайте константи для часто використовуваних значень (ви можете навіть зберігати вирази)\n\n
6. Використовуйте змінні розміщені на кнопках 4 і 5\n\n
</string>
<string name="c_screens_content">
1. <b>Головний екран:</b> відкривається після запуску програми, на нього можна потрапити з іншого екрану, натиснувши кнопку „Назад“.\n\n
2. <b>Екран змінних та констант:</b> містить список доступних змінних та констант. Користувач може додати нові змінні та константи, натиснувши кнопку „Додати“. Коротке натискання на змінній/константі вставляє значення у редактор, довге натискання - відкриває вікно редактора змінних. На цей екран можна потрапити з головного, натиснувши кнопку π,… .\n\n
3. <b>Екран функцій:</b> містить список усіх доступних функцій. Коротке натискання на функції вставляє її у редактор. На екран можна потрапити з головного, натиснувши кнопку f(x).\n\n
4. <b>Екран операторів:</b> містить список усіх доступних операторів. Коротке натискання на операторі вставляє його у редактор. На екран можна потрапити з головного, натиснувши кноку ∂,… .\n\n
5. <b>Екран історії:</b> містить список усіх дій, виконаних користувачем. Коротке натискання на елементі списку вставляє його у редактор. На екран можна потрапити з головного, натиснувши кнопку M.\n\n
6. <b>Екран налаштувань:</b> містить налаштування програми. На екран можна потрапити з головного, натиснувши кнопку Налаштування у меню.
</string>
</resources>

View File

@ -0,0 +1,14 @@
<!--
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
~ For more information, please, contact se.solovyev@gmail.com
~ or visit http://se.solovyev.org
-->
<resources>
<string name="msg_1">Арифметична помилка: {0}</string>
<string name="msg_2">Надто складний вираз</string>
<string name="msg_3">Обчислення виразу займає багато часу - перевірте вираз</string>
<string name="msg_4">Обчислення скасовано</string>
<string name="msg_5">Параметри не визначені для функції: {0}</string>
<string name="msg_6">Нескінченний цикл виявлено у виразі - перевірте вираз</string>
</resources>

View File

@ -0,0 +1,31 @@
<!--
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
~ For more information, please, contact se.solovyev@gmail.com
~ or visit http://se.solovyev.org
-->
<resources>
<string name="c_operators">Оператори</string>
<string name="c_op_description_mod">Обчислює остачу від ділення \'x\' на \'y\'.</string>
<string name="c_op_description_sum">Сумує функції \'f(i)\', де змінна \'i\' міняється від \'from\' до \'to\'.</string>
<string name="c_op_description_product">Обчислює добуток функцій \'f(i)\', де змінна \'i\' міняється від \'from\' до \'to\'.</string>
<string name="c_op_description_derivative">Повертає похідну порядку \'order\' (по замовчуванню = 1) функції \'f(x)\' по змінній \'x\' та обчислює її значення у точці \'x_point\' (за замовчуванням = така ж як \'x\').</string>
<string name="c_op_description_integral">Повертає інтеграл функції \'f(x)\' по змінній \'x\'.</string>
<string name="c_op_description_integral_ab">Інтегрує функцію \'f(x)\' по змінній \'x\' від \'a\' до \'b\'.</string>
<string name="c_pf_description_factorial">Обчислює факторіал від попереднього виразу.</string>
<string name="c_pf_description_double_factorial">Обчислює подвійний факторіал від попереднього виразу.</string>
<string name="c_pf_description_percent" formatted="false">Обчислює відсоток від попереднього виразу.\nПриклади:\n
100 + 50% = 150\n
100 * 50% = 50\n
100 + 100 * 50% * 50% = 125
</string>
<string name="c_pf_description_degree">Перетворює градуси у радіани.\n
Приклади:\n
268° = 4.67748\n
30.21° = 0.52726
</string>
</resources>

View File

@ -0,0 +1,199 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
~ For more information, please, contact se.solovyev@gmail.com
~ or visit http://se.solovyev.org
-->
<resources>
<string name="c_app_name">Калькулятор++</string>
<string name="c_app_name_free">Калькулятор++ Free</string>
<string name="c_app_icon_name">Кальк++</string>
<string name="c_app_settings">Налаштування</string>
<string name="c_syntax_error">Помилка</string>
<string name="c_result_copied">Результат скопійовано у буфер!</string>
<string name="c_settings">Налаштування</string>
<string name="c_help">Допомога</string>
<string name="c_vars_and_constants">Змінні та константи</string>
<!--PREFERENCE ACTIVITY-->
<string name="c_prefs_main_category">Основні налаштування</string>
<string name="c_prefs_calculations_category">Налаштування обчислень</string>
<string name="c_prefs_appearance_category">Налаштування вигляду</string>
<string name="c_prefs_other_category">Інші налаштування</string>
<string name="c_prefs_drag_button_category">Налаштування кнопок</string>
<string name="c_down">Вниз</string>
<string name="c_up">Вгору</string>
<string name="c_restart">Перезавантаження</string>
<string name="c_undo">назад</string>
<string name="c_redo">вперед</string>
<string name="c_clear">C</string>
<string name="c_erase">вилучити</string>
<string name="c_paste">вставити</string>
<string name="c_vars">змінні</string>
<string name="c_copy">Копіювати</string>
<string name="c_plot">Побудувати графік</string>
<string name="c_graph">Графік</string>
<string name="c_calc_color_display_title">Підсвітка виразів</string>
<string name="c_calc_round_result_title">Заокруглювати результат</string>
<string name="c_calc_round_result_summary">Включити/вимкнути заокруглення результату</string>
<string name="c_calc_science_notation_title">Завжди експоненціальна форма</string>
<string name="c_calc_science_notation_summary">Якщо включено, то результат буде записано лише у експоненціальній формі (12.34E-12)</string>
<string name="p_calc_result_precision_title">Точність результату</string>
<string name="p_calc_max_calculation_time_title">Максимальний час обчислень</string>
<string name="p_calc_max_calculation_time_summary">Якщо тривалість обчислень перевищить встановлену межу, то калькулятор зупиниться з помилкою</string>
<string name="c_exit">Вийти</string>
<string name="c_add">Додати</string>
<string name="c_cancel">Скасувати</string>
<string name="c_save">Зберегти</string>
<string name="c_remove">Вилучити</string>
<string name="c_yes">Так</string>
<string name="c_no">Ні</string>
<string name="c_var_removal_confirmation">Підтвердження вилучення</string>
<string name="c_var_removal_confirmation_question">Ви дійсно хочете вилучити змінну \'%s\'?</string>
<string name="c_var_name">Ім’я</string>
<string name="c_var_value">Значення</string>
<string name="c_var_description">Опис</string>
<string name="c_var_create_var">Створити змінну</string>
<string name="c_var_edit_var">Редагувати змінну</string>
<string name="c_value.is.not.a.number">Значення може бути порожнім або числом!</string>
<string name="c_var.name.clashes">Ім’я змінної не може бути зарезервованим системним ім’ям!</string>
<string name="c_var.already.exists">Змінна з таким іменем вже існує!</string>
<string name="c_name.is.not.valid">Невірне ім’я змінної: воно мусить починатися з букви, може містити букви, цифри та знак підкреслення (_).</string>
<string name="c_sys.var.cannot.be.changed">Системну змінну не можна змінювати!</string>
<string name="c_calc_editor_hint">Введіть новий вираз</string>
<string name="c_press_to_copy">натисніть для копіювання</string>
<string name="c_continue">Продовжити</string>
<string name="c_history">Історія</string>
<string name="c_history_button">M</string>
<string name="c_history_is_empty">Іторія порожня!</string>
<string name="c_app_history">Іторія</string>
<string name="c_char_is_not_accepted">Символ \'%s\' не допустимий у імені змінної!</string>
<string name="c_calc_angle_units">Одиниці виміру кутів</string>
<string name="p_deg">Градуси</string>
<string name="p_rad">Радіани</string>
<string name="p_grad">Градуси</string>
<string name="p_turns">Обороти</string>
<string name="c_angle_units_summary">Визначає типову одиницю виміру кутів.</string>
<string name="c_calc_numeral_bases">Системи числення</string>
<string name="c_numeral_bases_summary">Визначає типову систему числення для усіх введених чисел.</string>
<string name="p_dec">Десяткова</string>
<string name="p_hex">Шістнадцяткова</string>
<string name="p_oct">Вісімкова</string>
<string name="p_bin">Двійкова</string>
<string name="c_calc_theme">Тема</string>
<string name="p_default_theme">Сіра</string>
<string name="p_violet_theme">Фіолетова</string>
<string name="p_light_blue_theme">Блакитна</string>
<string name="p_metro_blue_theme">Метро Синя (типова)</string>
<string name="p_metro_green_theme">Метро Зелена</string>
<string name="p_metro_purple_theme">Метро Пурпурова</string>
<string name="c_calc_result_precision_summary">Точність результату (усі обчислення проводяться максимально точно)</string>
<string name="c_calc_color_display_summary">Включити/вимкнути підсвітку у редакторі калькулятора</string>
<string name="c_calc_theme_summary">Встановити тему калькулятора</string>
<string name="c_clear_history">Очистити історію</string>
<string name="c_simplify_instead_of_numeric">наступні сталі невизначені: {0}!</string>
<string name="p_grouping_separator_no">Не використовувати роздільник класів</string>
<string name="p_grouping_separator_apostrophe">Апостроф (\')</string>
<string name="p_grouping_separator_space">Пропуск ( )</string>
<string name="c_calc_grouping_separator">Роздільник класів</string>
<string name="c_calc_grouping_separator_summary">Задає роздільник класів</string>
<string name="c_calc_multiplication_sign">Знак множення</string>
<string name="c_calc_multiplication_sign_summary">Задає знак множення</string>
<string name="c_calc_layout">Розкладка</string>
<string name="p_layout_cellphone">Наукова (телефон)</string>
<string name="p_layout_calculator">Наукова</string>
<string name="p_layout_simple">Проста</string>
<string name="c_calc_layout_summary">Задає розкладку кнопок</string>
<string name="c_calc_haptic_feedback_title">Вібрація при натисканні</string>
<string name="c_calc_haptic_feedback_summary">Включити/виключити вібрацію при натисканні</string>
<string name="p_calc_haptic_feedback_strength_short">Коротка</string>
<string name="p_calc_haptic_feedback_strength_middle">Середня</string>
<string name="p_calc_haptic_feedback_strength_long">Велика</string>
<string name="p_calc_haptic_feedback_duration_title">Тривалість вібрації</string>
<string name="p_calc_haptic_feedback_duration_summary">Тривалість вібрації на натискання</string>
<string name="c_empty_var_error">Не можна створити порожню константу!</string>
<string name="c_not_valid_result">Поточний результат не допустимий!</string>
<string name="c_plot_graph">Графік</string>
<string name="c_min_x_value">Від</string>
<string name="c_max_x_value">До</string>
<string name="c_swipe_distance">Відстань розмаху (свайпу) для кнопок</string>
<string name="c_swipe_distance_summary">Задає відстань розмаху для кнопок, які підтримують додаткові дії для свайпу</string>
<string name="c_comment">Коментар</string>
<string name="c_history_item_saved">Збережено</string>
<string name="c_history_item_not_saved">Не збережено</string>
<string name="c_expression_copied">Вираз скопійовано до буфера!</string>
<string name="c_history_item_status">Статус: </string>
<string name="c_history_item_comment">Коментар: </string>
<string name="c_use">Використовувати</string>
<string name="c_copy_expression">Копіювати вираз</string>
<string name="c_copy_result">Копіювати результат</string>
<string name="c_history_expression">Значення</string>
<string name="c_history_item_already_saved">Збережено (див. вкладку \'Збережена історія\')</string>
<string name="c_history_comment">Коментар</string>
<string name="c_save_history">Зберегти історію</string>
<string name="c_edit_history">Змінити історію</string>
<string name="c_edit">Змінити</string>
<string name="c_saved_history">Збережена історія</string>
<string name="c_history_already_saved">Історія вже збережена!</string>
<string name="c_history_must_be_saved">Історію необхідно зберегти перед редагуванням!</string>
<string name="c_history_was_removed">Історія успішно видалена!</string>
<string name="c_history_saved">Історія успішно збережена!</string>
<string name="c_copy_description">Копіювати опис</string>
<string name="c_copy_value">Копіювати значення</string>
<string name="c_first_start_text">Дякуємо вам за вибір Калькулятор++!\n\nКалькулятор++ - це потужний інструмент для проведення щоденних розрахунків.\n\nЩоб вилучити рекламу та підтримати проект ви можете вибрати спеціальну опцію у налаштуваннях програми.\n\nПеред початком робота рекомендується прочитати ЧаП та підказки для використання усіх можливостей програми (натисніть кнопку Меню і тоді Допомога)</string>
<string name="c_first_start_text_title">Вітаємо</string>
<string name="c_calc_show_release_notes_title">Показувати замітки до випуску</string>
<string name="c_calc_show_release_notes_summary">Визначає, чи показувати спливаюче вікно з примітками до випуску після оновлення до нової версії</string>
<string name="c_calc_use_back_button_as_prev_summary">Визначити поведінку кнопку Назад</string>
<string name="c_calc_use_back_button_as_prev_title">Використовувати кнопку Назад як назад по історії</string>
<string name="c_clear_billing_info_summary">Інформація про купівлю буде оновлена із сервера</string>
<string name="c_clear_billing_info_title">Очистити інформацію про купівлю</string>
<string name="c_warning">Увага</string>
<string name="c_error">Помилка</string>
<string name="c_billing_error">Біллінг не підтримується: ви повинні мати обліковий запис Google Checkout, пов'язаний з вашим обліковим записом Google і мати підключення до Інтернету.</string>
<string name="c_calc_ad_free_title">Підтримати проект</string>
<string name="c_calc_ad_free_summary">І позбутися реклами</string>
<string name="c_calc_already_purchased">Опція вже куплена!</string>
<string name="c_calc_purchasing">Купуємо...</string>
<string name="c_calc_clearing">Очищаємо...</string>
<string name="c_feedback_title">Зворотній зв’язок</string>
<string name="c_feedback_text">Ви вже використовуєте Калькулятор++ деякий час \n
і для нас важливо знати вашу думку про програму.\n\n
Будь ласка, оцініть Калькулятор++ \nна <a href="https://market.android.com/details?id=org.solovyev.android.calculator">Google Play</a>,\n залиште коментар або \nобговоріть програму \nна нашому <a href="http://calculatorpp.com/forum/">форумі</a>
</string>
<string name="c_angle_units_changed_to">Одиниці виміру кутів змінено на \'%s\'!</string>
<string name="c_numeral_base_changed_to">Система числення змінена на \'%s\'!</string>
</resources>

View File

@ -0,0 +1,23 @@
<!--
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
~ For more information, please, contact se.solovyev@gmail.com
~ or visit http://se.solovyev.org
-->
<resources>
<string name="c_var_description_pi">Відношення довжини кола до діаметру. Увага: ця стала не залежить від одиниць виміру кутів => rad: 3.14, deg: 180.0</string>
<string name="c_var_description_PI">Відношення довжини кола до діаметру. Увага: ця стала не залежить від одиниць виміру кутів => rad: 3.14, deg: 3.14</string>
<string name="c_var_description_e">стала e - дійсне число таке, що похідна функції (кутовий коефіцієнт дотичної) f(x) = e^x в точці x = 0 дорівнює 1</string>
<string name="c_var_description_i">Уявна одиниця, визначається як i^2 = 1</string>
<string name="c_var_description_c">Швидкість світла у вакуумі, м·с^-1</string>
<string name="c_var_description_G">Гравітаційна стала - емпірична фізична стала, необхідна для розрахунку сили гравітаційної взаємодії між двома об’єктами з масою, м^3·кг^с^2</string>
<string name="c_var_description_h">Стала Планка - коефіцієнт, який пов’язує величину енергії електромагнітного випромінюювання з його частотою, Дж·с</string>
<string name="c_var_description_h_reduced">Зведена стала Планка, Дж·с</string>
<string name="c_var_description_nan">Не число</string>
<string name="c_var_description_inf">Нескінченність</string>
<string name="c_var_system">Вбудовані</string>
<string name="c_var_my">Власні</string>
</resources>

View File

@ -7,9 +7,10 @@ package org.solovyev.android.calculator;
import android.app.Activity; import android.app.Activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.content.SharedPreferences; import android.content.*;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.os.Bundle; import android.os.Bundle;
import android.os.IBinder;
import android.os.Vibrator; import android.os.Vibrator;
import android.preference.PreferenceManager; import android.preference.PreferenceManager;
import android.text.ClipboardManager; import android.text.ClipboardManager;
@ -53,13 +54,27 @@ import org.solovyev.common.utils.history.HistoryAction;
import java.text.DecimalFormatSymbols; import java.text.DecimalFormatSymbols;
import java.util.Locale; import java.util.Locale;
public class CalculatorActivity extends Activity implements FontSizeAdjuster, SharedPreferences.OnSharedPreferenceChangeListener { public class CalculatorActivity extends Activity implements FontSizeAdjuster, SharedPreferences.OnSharedPreferenceChangeListener, ServiceConnection {
private static final int HVGA_WIDTH_PIXELS = 320; private static final int HVGA_WIDTH_PIXELS = 320;
@Nullable @Nullable
private IBillingObserver billingObserver; private IBillingObserver billingObserver;
@Nullable
private ICalculationService calculationService;
@Override
public void onServiceConnected(ComponentName componentName, IBinder binder) {
if (binder instanceof LocalBinder) {
calculationService = (ICalculationService)((LocalBinder) binder).getService();
}
}
@Override
public void onServiceDisconnected(ComponentName componentName) {
}
public static enum Theme { public static enum Theme {
default_theme(ThemeType.other, R.style.default_theme), default_theme(ThemeType.other, R.style.default_theme),
@ -188,6 +203,8 @@ public class CalculatorActivity extends Activity implements FontSizeAdjuster, Sh
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setLayout(preferences); setLayout(preferences);
bindService(new Intent(this, CalculationServiceImpl.class), this, Context.BIND_AUTO_CREATE);
if (customTitleSupported) { if (customTitleSupported) {
try { try {
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.calc_title); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.calc_title);